GNU bug report logs - #53629
27.1: add option to change face `mode-line-buffer-id` when mode-line is inactive

Previous Next

Package: emacs;

Reported by: José Júnior <jjnilton <at> gmail.com>

Date: Sat, 29 Jan 2022 23:07:02 UTC

Severity: normal

Tags: moreinfo

Found in version 27.1

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #46 received at 53629 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Juri Linkov <juri <at> linkov.net>
Cc: 53629 <at> debbugs.gnu.org,
 José Júnior <jjnilton <at> gmail.com>
Subject: Re: bug#53629: 27.1: add option to change face
 `mode-line-buffer-id` when mode-line is inactive
Date: Thu, 03 Feb 2022 20:00:31 +0100
Juri Linkov <juri <at> linkov.net> writes:

> tab-line.el uses such trick:
>
>          (face (if (eq buffer (window-buffer))
>                    (if (eq (selected-window) (old-selected-window))
>                        'tab-line-tab-current
>                      'tab-line-tab)
>                  'tab-line-tab-inactive))

Oh, that's smart.

Then we can get the action requested by something like the following:

(progn
  (defun my-buffer-identification (fmt)
    (list (propertize fmt
		      'face (if (eq (selected-window)
				    (old-selected-window))
				'mode-line-buffer-id
			      'error)
		      'mouse-face 'mode-line-highlight
		      'local-map mode-line-buffer-identification-keymap)))
  (setq-default mode-line-buffer-identification
		'(:eval (my-buffer-identification "%12b"))))

(Adjust for the face you want to use.)  Seems to work well for me.

José, does this fix the issue for you, too?

We should probably document this better -- perhaps add some cross
referencing between the selected-window and old-selected-window doc
strings to allow discovery.  And perhaps mention this in the mode line
section, too.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




This bug report was last modified 3 years and 108 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.