branch: externals/bufferlo commit 2c24717d41a238b37b391d7ad82bdb442ecd9ead Author: Florian Rommel <m...@florommel.de> Commit: Florian Rommel <m...@florommel.de>
Fix mode line - Replace unicode chars which can have non-standard heights in some systems - Show left and eight suffix ('[' and ']') only if there are bookmarks - Add a configurable delimiter for multiple bookmarks - Fix help echo --- bufferlo.el | 43 ++++++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/bufferlo.el b/bufferlo.el index 5de376f458..8d0e3824cf 100644 --- a/bufferlo.el +++ b/bufferlo.el @@ -671,23 +671,27 @@ No delay seems needed on macOS." :type 'string) (defcustom bufferlo-mode-line-left-prefix "[" - "Bufferlo mode-line left-hand string prefix." + "Bufferlo mode-line left-hand prefix for an active tab/frame/set bookmark." :type 'string) (defcustom bufferlo-mode-line-right-suffix "]" - "Bufferlo mode-line right-hand string suffix." + "Bufferlo mode-line right-hand prefix for an active tab/frame/set bookmark." :type 'string) -(defcustom bufferlo-mode-line-frame-prefix "Ⓕ" - "Display bufferlo mode-line frame prefix." +(defcustom bufferlo-mode-line-frame-prefix "F:" + "Bufferlo mode-line frame prefix." :type 'string) -(defcustom bufferlo-mode-line-tab-prefix "Ⓣ" - "Display bufferlo mode-line tab prefix." +(defcustom bufferlo-mode-line-tab-prefix "T:" + "Bufferlo mode-line tab prefix." :type 'string) -(defcustom bufferlo-mode-line-set-active-prefix "Ⓢ" - "Display bufferlo mode-line frame prefix." +(defcustom bufferlo-mode-line-set-active-prefix "S" + "Bufferlo mode-line frame prefix." + :type 'string) + +(defcustom bufferlo-mode-line-delimiter "|" + "Delimiter between multiple bookmarks." :type 'string) (defvar bufferlo-mode) ; byte compiler @@ -701,7 +705,8 @@ string, FACE is the face for STR." 'mouse-face 'mode-line-highlight 'help-echo (lambda (&rest _) (concat - (format "Active bufferlo bookmark: %s\n" abm) + (unless (equal abm "") + (format "Active bufferlo bookmark: %s\n" abm)) "mouse-1: Display minor mode menu\n" "mouse-2: Show help for minor mode")) 'keymap (let ((map (make-sparse-keymap))) @@ -723,30 +728,34 @@ string, FACE is the face for STR." (tbm (alist-get 'bufferlo-bookmark-tab-name (tab-bar--current-tab-find (frame-parameter nil 'tabs)))) - (abm (or fbm tbm "")) (set-active (> (length bufferlo--active-sets) 0)) - ; tty rendering can be off for some characters, e.g., Ⓕ Ⓣ - (maybe-space (if (display-graphic-p) "" " "))) + (abm (concat (when fbm (format "%s (Frame)" fbm)) + (when (and fbm tbm) ", ") + (when tbm (format "%s (Tab)" tbm))))) (concat (bufferlo--mode-line-format-helper abm bufferlo-mode-line-prefix 'bufferlo-mode-line-face) - (when bufferlo-mode-line-left-prefix + (when (and bufferlo-mode-line-left-prefix (or set-active fbm tbm)) (bufferlo--mode-line-format-helper abm bufferlo-mode-line-left-prefix 'bufferlo-mode-line-face)) (when set-active (bufferlo--mode-line-format-helper - abm bufferlo-mode-line-set-active-prefix 'bufferlo-mode-line-set-face)) + abm + (concat bufferlo-mode-line-set-active-prefix + (when (or fbm tbm) bufferlo-mode-line-delimiter)) + 'bufferlo-mode-line-set-face)) (when fbm (bufferlo--mode-line-format-helper abm - (concat bufferlo-mode-line-frame-prefix maybe-space fbm) + (concat bufferlo-mode-line-frame-prefix + fbm (when tbm bufferlo-mode-line-delimiter)) 'bufferlo-mode-line-frame-bookmark-face)) (when tbm (bufferlo--mode-line-format-helper abm - (concat bufferlo-mode-line-tab-prefix maybe-space tbm) + (concat bufferlo-mode-line-tab-prefix tbm) 'bufferlo-mode-line-tab-bookmark-face)) - (when bufferlo-mode-line-right-suffix + (when (and bufferlo-mode-line-right-suffix (or set-active fbm tbm)) (bufferlo--mode-line-format-helper abm bufferlo-mode-line-right-suffix 'bufferlo-mode-line-face))))))