emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Configuring tabs line format


From: Juri Linkov
Subject: Re: Configuring tabs line format
Date: Thu, 17 Oct 2019 01:12:29 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)

> Is it possible to change how tab-bar is formatted?
> For example I'd like to put display-time-string there.

Yes, everything is possible.  You need just a few lines of code:

(advice-add 'tab-bar-make-keymap-1 :around
  (lambda (orig-fun)
    (append `(keymap (display-time menu-item ,(format-time-string "%H:%M") 
ignore))
            (cdr (funcall orig-fun))))
  '((name . tab-bar-display-time)))

and if you want also a timer to redraw the tab-bar during idle times.

This has one problem - the clock is located on the left side.  When
Android moved the status bar clock from the right corner to the left,
it caused backward-compatibility problems for millions of users, and
still it's impossible to move the clock back to the right on Android.

But in Emacs everything is extensible and customizable.  So it's easy
to move the clock to the right on the tab-bar with another few lines:

(advice-add 'tab-bar-make-keymap-1 :around
  (lambda (orig-fun)
    (append (funcall orig-fun)
            `((display-time menu-item
               ,(concat
                 (propertize " " 'display '(space :align-to (- right 5)))
                 (format-time-string "%H:%M"))
               ignore))))
  '((name . tab-bar-display-time)))

Now the tab-bar clock looks exactly like the desktop top panel clock:

PNG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]