emacs-diffs
[Top][All Lists]
Advanced

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

emacs-29 b211a63455 1/2: Make tab-bar-tab-group-format-function also han


From: Juri Linkov
Subject: emacs-29 b211a63455 1/2: Make tab-bar-tab-group-format-function also handle current group
Date: Thu, 15 Dec 2022 13:04:03 -0500 (EST)

branch: emacs-29
commit b211a63455cad72f4883ef1494502633f8ac19be
Author: Gabriel do Nascimento Ribeiro <gabriel376@hotmail.com>
Commit: Juri Linkov <juri@linkov.net>

    Make tab-bar-tab-group-format-function also handle current group
    
    * lisp/tab-bar.el (tab-bar--format-tab-group): Call
    'tab-bar-tab-group-format-default' to format current group tab.
    (tab-bar-tab-group-format-default): Update function to also handle
    current group tab (bug#60073).
---
 lisp/tab-bar.el | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/lisp/tab-bar.el b/lisp/tab-bar.el
index 162e63fe23..1f25ee6d7e 100644
--- a/lisp/tab-bar.el
+++ b/lisp/tab-bar.el
@@ -844,8 +844,9 @@ Function gets one argument: a tab."
 
 (defcustom tab-bar-tab-group-format-function #'tab-bar-tab-group-format-default
   "Function to format a tab group name.
-Function gets two arguments, a tab with a group name and its number,
-and should return the formatted tab group name to display in the tab bar."
+Function gets three arguments, a tab with a group name, its
+number and an optional t when the tab is current, and should
+return the formatted tab group name to display in the tab bar."
   :type 'function
   :initialize 'custom-initialize-default
   :set (lambda (sym val)
@@ -854,11 +855,13 @@ and should return the formatted tab group name to display 
in the tab bar."
   :group 'tab-bar
   :version "28.1")
 
-(defun tab-bar-tab-group-format-default (tab i)
-  (propertize
-   (concat (if tab-bar-tab-hints (format "%d " i) "")
-           (funcall tab-bar-tab-group-function tab))
-   'face 'tab-bar-tab-group-inactive))
+(defun tab-bar-tab-group-format-default (tab i &optional current-p)
+  (let ((name (concat (if tab-bar-tab-hints (format "%d " i) "")
+                      (funcall tab-bar-tab-group-function tab)))
+        (face (if current-p
+                  'tab-bar-tab-group-current
+                'tab-bar-tab-group-inactive)))
+    (propertize name 'face face)))
 
 (defcustom tab-bar-tab-group-face-function #'tab-bar-tab-group-face-default
   "Function to define a tab group face.
@@ -881,10 +884,7 @@ when the tab is current.  Return the result as a keymap."
    `((,(intern (format "sep-%i" i)) menu-item ,(tab-bar-separator) ignore))
    `((,(intern (format "group-%i" i))
       menu-item
-      ,(if current-p
-           (propertize (funcall tab-bar-tab-group-function tab)
-                       'face 'tab-bar-tab-group-current)
-         (funcall tab-bar-tab-group-format-function tab i))
+      ,(funcall tab-bar-tab-group-format-function tab i current-p)
       ,(if current-p 'ignore
          (or
           (alist-get 'binding tab)



reply via email to

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