Make lighter for collapsed minor modes customizable (bug#77361)

* lisp/bindings.el (mode-line-collapse-minor-modes-to): New
option for the collapsed lighter of minor modes.
(mode-line-collapse-minor-modes): Mention that the collapsed
lighter can be customized.
(mode-line--minor-modes): Use the new option.
This commit is contained in:
Pengji Zhang 2025-04-19 12:04:36 +08:00 committed by Sean Whitton
parent 0e2fd0e441
commit 643ebbcac9

View file

@ -431,7 +431,8 @@ a menu, so this function is not useful for non-menu keymaps."
(defcustom mode-line-collapse-minor-modes nil
"Minor modes for which mode line lighters are hidden.
Hidden lighters are collapsed into one.
Hidden lighters are collapsed into one, which is customizable via option
`mode-line-collapse-minor-modes-to'.
The value could be a list (MODES ...) which means to collapse lighters
only for MODES, or a list (not MODES ...) which means to collapse all
@ -445,6 +446,15 @@ lighters hidden."
:group 'mode-line
:version "31.1")
(defcustom mode-line-collapse-minor-modes-to
(if (char-displayable-p ?…) "" " ...")
"Lighter for collapsed minor modes.
This is effective only when `mode-line-collapse-minor-modes' is non-nil."
:type 'string
:initialize #'custom-initialize-delay
:group 'mode-line
:version "31.1")
(defcustom mode-line-modes-delimiters '("(" . ")")
"Strings placed around the modes displayed in the mode line.
These elements are placed around `mode-name' and `mode-line-modes'."
@ -550,7 +560,7 @@ mouse-3: Toggle minor modes"
:parent mode-line-minor-mode-keymap
"<mode-line> <down-mouse-1>" menu
"<mode-line> <mouse-2>" #'describe-mode)))
`(:propertize ,(if (char-displayable-p ?…) "" " ...")
`(:propertize mode-line-collapse-minor-modes-to
mouse-face mode-line-highlight
help-echo "Hidden minor modes\n\
mouse-1: Display hidden minor modes\n\