Subject: Re: bug#77361: [PATCH] New user option to hide minor mode lighters
From: Eli Zaretskii <[email-masked]>
To: Pengji Zhang <[email-masked]>
Cc: [email-masked]
Date: Sun, 13 Apr 2025 11:46:33 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Pengji Zhang <[email-masked]>
> Cc: [email-masked]
> Date: Sun, 06 Apr 2025 16:05:00 +0800
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > Please in future submissions of the patch mention the bug number in
> > the log message.
> 
> Thanks for the review! Bug number added in the updated patch.
> 
> >> --- a/doc/lispref/modes.texi
> >> +++ b/doc/lispref/modes.texi
> >> @@ -2163,6 +2163,18 @@ Mode Line Basics
> >>  variable can be buffer-local to only compress mode-lines in certain
> >>  buffers.
> >>  
> >> +@vindex mode-line-collapse-minor-modes
> >> +  To further ``compress'' the mode line, you may customize the
> >> +@code{mode-line-collapse-minor-modes} option to a non-@code{nil} value,
> >> +and Emacs will hide some minor mode indicators on the mode line by
> >> +collapsing them into a single clickable button.  The option can also be
> >> +a list of symbols to select minor modes indicators to hide or show.  If
> >> +the list starts with the symbol @code{not}, it specifies minor modes to
> >> +show, otherwise it means minor modes to hide.  For example, setting it
> >> +to @code{(not flymake-mode)} makes only the indicator for Flymake mode
> >> +shown, and setting it to @code{(eldoc-mode)} hides only the indicator
> >> +for ElDoc mode.
> >
> > I think this text and the preceding paragraph should be moved to the
> > Emacs user manual, into the "Optional Mode Line" node.  These are
> > user-facing features, so their place is not in the ELisp Reference
> > manual.
> >
> > For the user manual, the above description of the possible values of
> > mode-line-collapse-minor-modes is too detailed.  I suggest to have
> > there only the first sentence, and then refer to the doc string for
> > the various alternative forms of the value.
> 
> I have moved the paragraph for 'mode-line-compact' to the "Optional Mode
> Line" node, and added the first sentence for
> 'mode-line-collapse-minor-modes' to that paragraph.
> 
> >> ++++
> >> +*** New user option 'mode-line-collapse-minor-modes'.
> >> +If non-nil, minor mode lighters on the mode line are collapsed into a
> >> +single button.  It could also be a list to specify minor mode lighters
> >                    ^^^^^^^^^^^^^^^^^^^^^^^
> > "The value could also be a list..."
> 
> Fixed.
> 
> >> +(defcustom mode-line-collapse-minor-modes nil
> >> +  "Minor modes for which mode line lighters are hidden.
> >> +Hidden lighters are collapsed into one.
> >> +
> >> +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
> >> +lighters for minor modes not in MODES.  Other non-nil values make all
> >> +lighters hidden."
> >> +  :type '(choice (const :tag "No modes" nil)
> >> +                 (repeat :tag "Modes" symbol)
> >> +                 (cons :tag "All modes except"
> >> +                       (const not) (repeat symbol))
> >> +                 (const :tag "All modes" t))
> >> +  :group 'mode-line)
> >
> > The :version tag is missing.
> 
> Added.

Thanks, now installed on the master branch, and closing the bug.