summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel do Nascimento Ribeiro <gabriel.nascimento@nubank.com.br>2021-03-12 23:12:10 -0300
committerJuri Linkov <juri@linkov.net>2021-03-14 11:10:20 +0200
commit0bfa9e78602a9c37c9ebd14bef43d15f6443d17c (patch)
tree03d881aadf55095b9d8d1bc2c1e64acff3ed4c24
parentebfb4c2789733d7ff11d08a595faa5804196c8e5 (diff)
downloademacs-0bfa9e78602a9c37c9ebd14bef43d15f6443d17c.tar.gz
emacs-0bfa9e78602a9c37c9ebd14bef43d15f6443d17c.tar.bz2
emacs-0bfa9e78602a9c37c9ebd14bef43d15f6443d17c.zip
* lisp/tab-line.el: Add face for group-tab (bug#47118)
(tab-line-tab-face-functions): Add choice for 'tab-line-tab-face-group'. (tab-line-tab-group): New face. (tab-line-tabs-buffer-groups): Set alist key 'group-tab' for group tabs. (tab-line-tab-face-group): New function to set face for group tabs.
-rw-r--r--lisp/tab-line.el19
1 files changed, 19 insertions, 0 deletions
diff --git a/lisp/tab-line.el b/lisp/tab-line.el
index 903862a3e83..c4b504aaad6 100644
--- a/lisp/tab-line.el
+++ b/lisp/tab-line.el
@@ -44,6 +44,7 @@ whether the tab is a buffer, and whether the tab is selected."
:type '(repeat
(choice (function-item tab-line-tab-face-special)
(function-item tab-line-tab-face-inactive-alternating)
+ (function-item tab-line-tab-face-group)
(function :tag "Custom function")))
:group 'tab-line
:version "28.1")
@@ -95,6 +96,16 @@ function `tab-line-tab-face-special'."
:version "28.1"
:group 'tab-line-faces)
+(defface tab-line-tab-group
+ '((default
+ :inherit tab-line
+ :box nil))
+ "Face for group tabs.
+Applied when option `tab-line-tab-face-functions' includes
+function `tab-line-tab-face-group'."
+ :version "28.1"
+ :group 'tab-line-faces)
+
(defface tab-line-tab-current
'((default
:inherit tab-line-tab)
@@ -385,6 +396,7 @@ If the major mode's name string matches REGEXP, use GROUPNAME instead.")
(set-window-parameter nil 'tab-line-group nil))))
(group-tab `(tab
(name . ,group)
+ (group-tab . t)
(select . ,(lambda ()
(set-window-parameter nil 'tab-line-groups t)
(set-window-parameter nil 'tab-line-group group)
@@ -520,6 +532,13 @@ When TAB is a non-file-backed buffer, make FACE inherit from
(setf face `(:inherit (tab-line-tab-special ,face))))
face)
+(defun tab-line-tab-face-group (tab _tabs face _buffer-p _selected-p)
+ "Return FACE for TAB according to whether it's a group tab.
+For use in `tab-line-tab-face-functions'."
+ (when (alist-get 'group-tab tab)
+ (setf face `(:inherit (tab-line-tab-group ,face))))
+ face)
+
(defvar tab-line-auto-hscroll)
(defun tab-line-format ()