GNU bug report logs - #47118
28.0.50; [PATCH] lisp/tab-line.el: Add face for group-tab

Previous Next

Package: emacs;

Reported by: Gabriel <gabriel376 <at> hotmail.com>

Date: Sat, 13 Mar 2021 02:36:02 UTC

Severity: normal

Tags: fixed, patch

Fixed in version 28.0.50

Done: Juri Linkov <juri <at> linkov.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Gabriel <gabriel376 <at> hotmail.com>
To: 47118 <at> debbugs.gnu.org
Subject: bug#47118: 28.0.50; [PATCH] lisp/tab-line.el: Add face for group-tab
Date: Fri, 12 Mar 2021 23:35:40 -0300
[Message part 1 (text/plain, inline)]
The problem:
When tab-line mode is enabled and configured to group buffers, a group
tab is added as the first tab. This is not a regular tab that displays a
buffer, but rather a tab to indicate the group. The face used for this
group-tab is the same of an inactive tab, which makes harder to
differentiate betweem a group tab and a regular tab that can be selected
to display a buffer.

How to reproduce:
1. emacs -Q
2. Configure tab groups by project:
(setq-default tab-line-tabs-buffer-group-function
              (lambda (b) (with-current-buffer b (vc-root-dir)))
              tab-line-tabs-function 'tab-line-tabs-buffer-groups)
3. Enable tab-line mode:
(global-tab-line-mode 1)
4. Open file from a project handled by some vc backend (e.g.: git)
5. The tab group will be displayed as the first tab with a common face

[before-patch.png (image/png, inline)]
[Message part 3 (text/plain, inline)]
The proposed solution:
Add a new face for group tabs that can be configured via
'tab-line-tab-face-functions', similar to how
'tab-line-tab-face-special' works.

How to test:
1. emacs -Q
2. Apply the patch
3. Configure tab groups by project and group face:
(setq-default tab-line-tabs-buffer-group-function
          (lambda (b) (with-current-buffer b (vc-root-dir)))
          tab-line-tabs-function 'tab-line-tabs-buffer-groups
          tab-line-tab-face-functions '(tab-line-tab-face-group))
4. Enable tab-line-mode:
(global-tab-line-mode 1)
5. Open file from a project handled by some vc backend (e.g.: git)
6. The tab group will be displayed with a different face

[0001-lisp-tab-line.el-Add-face-for-group-tab.patch (text/x-diff, attachment)]
[after-patch.png (image/png, inline)]
[Message part 6 (text/plain, inline)]
I am not sure what is the appropriate default value for the proposed new
face. Feel free to modify it, if necessary.

This bug report was last modified 4 years and 124 days ago.

Previous Next


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