emacs-devel
[Top][All Lists]
Advanced

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

Re: Configuring tabs line format


From: Ergus
Subject: Re: Configuring tabs line format
Date: Thu, 17 Oct 2019 00:40:44 +0200
User-agent: NeoMutt/20180716

Hi Juri:

Some of the recent changes made the tab-bar not to work for me either in
tui or gui.

emacs -Q
C-x 6 f file RET
and there is not tab at all.

In the gtk interface it shows nothing and with -nw it adds an extra row
where before was the tab-bar.

I have not follow the tab thread recently, does something changed that
requires special intervention?

On Thu, Oct 17, 2019 at 01:12:29AM +0300, Juri Linkov wrote:
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:






reply via email to

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