branch: externals/bufferlo
commit b477fa4e7d06a0a025b816d08b512487f683971b
Author: shipmints <shipmi...@gmail.com>
Commit: shipmints <shipmi...@gmail.com>

    Add active session(s) mode line indicator, prefix, face
---
 bufferlo.el | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/bufferlo.el b/bufferlo.el
index 9fa617c598..15153be828 100644
--- a/bufferlo.el
+++ b/bufferlo.el
@@ -581,11 +581,15 @@ suboptimal results for your platform."
   :type 'boolean)
 
 (defcustom bufferlo-mode-line-frame-prefix "Ⓕ"
-  "Display bufferlo mode-line frame icon."
+  "Display bufferlo mode-line frame prefix."
   :type 'string)
 
 (defcustom bufferlo-mode-line-tab-prefix "Ⓣ"
-  "Display bufferlo mode-line tab icon."
+  "Display bufferlo mode-line tab prefix."
+  :type 'string)
+
+(defcustom bufferlo-mode-line-session-active-prefix "Ⓢ"
+  "Display bufferlo mode-line frame prefix."
   :type 'string)
 
 (defvar bufferlo-mode) ; byte compiler
@@ -613,16 +617,19 @@ string, FACE is the face for STR."
                            (describe-function 'bufferlo-mode)))
              map)))
 
+(defvar bufferlo--active-sessions) ; byte compiler
 (defun bufferlo-mode-line-format ()
   "Bufferlo mode-line format to display the current active frame or tab 
bookmark."
   (when bufferlo-mode
     (let* ((fbm (frame-parameter nil 'bufferlo-bookmark-frame-name))
            (tbm (alist-get 'bufferlo-bookmark-tab-name 
(tab-bar--current-tab-find (frame-parameter nil 'tabs))))
            (abm (or fbm tbm ""))
+           (sess-active (> (length bufferlo--active-sessions) 0))
            (maybe-space (if (display-graphic-p) "" " "))) ; tty rendering can 
be off for Ⓕ Ⓣ
       (concat
        (bufferlo--mode-line-format-helper abm bufferlo-mode-line-prefix 
'bufferlo-mode-line-face)
        (when bufferlo-mode-line-brackets (bufferlo--mode-line-format-helper 
abm "[" 'bufferlo-mode-line-face))
+       (when sess-active (bufferlo--mode-line-format-helper abm 
bufferlo-mode-line-session-active-prefix 'bufferlo-mode-line-session-face))
        (when fbm (bufferlo--mode-line-format-helper
                   abm
                   (concat bufferlo-mode-line-frame-prefix maybe-space fbm) 
'bufferlo-mode-line-frame-bookmark-face))
@@ -653,6 +660,10 @@ string, FACE is the face for STR."
   '((t :inherit bufferlo-mode-line-face))
   "`bufferlo-mode' mode-line tab bookmark indicator face.")
 
+(defface bufferlo-mode-line-session-face
+  '((t :inherit bufferlo-mode-line-face))
+  "`bufferlo-mode' mode-line session active indicator face.")
+
 (defconst bufferlo--command-line-noload-prefix "--bufferlo-noload")
 (defvar bufferlo--command-line-noload nil)
 

Reply via email to