rich-minority icon indicating copy to clipboard operation
rich-minority copied to clipboard

Emacs package for hiding and/or highlighting the list of minor-modes in the mode-line.

#+OPTIONS: tags:nil #+OPTIONS: toc:nil num:nil

  • rich-minority-mode

Emacs package for hiding and/or highlighting the list of minor-modes in the mode-line.

** Usage

To activate the enrichment of your minor-modes list, call =M-x rich-minority-mode=, or add this to your init file:

#+begin_src emacs-lisp (rich-minority-mode 1) #+end_src

By default, this has a couple of small effects (provided as examples) it is up to you to customize it to your liking with the following three variables:

  • ~rm-blacklist~ :: List of minor mode names that will be hidden from the minor-modes list. Use this to hide only a few modes that are always active and don’t really contribute information. eg: #+begin_src emacs-lisp (setq rm-blacklist (format "^ \(%s\)$" (mapconcat #'identity '("Fly." "Projectile." "PgLn") "\|"))) #+end_src
  • ~rm-whitelist~ :: List of minor mode names that are allowed on the minor-modes list. Use this to hide all but a few modes.
  • ~rm-text-properties~ :: List text properties to apply to each minor-mode lighter. For instance, by default we highlight =Ovwrt= with a red face, so you always know if you’re in =overwrite-mode=.

** Comparison to Diminish Diminish is an established player in the mode-line world, who also handles the minor-modes list. What can rich-minority /offer in contrast/?

  • rich-minority is more versatile:
    1. It accepts regexps, instead of having to specify each minor-mode individually; That is, where in diminish.el you would do this: #+begin_src emacs-lisp (diminish 'auto-fill-function) #+end_src rich-minority does this: #+BEGIN_SRC emacs-lisp (add-to-list " Fill" 'rm-blacklist) #+END_SRC where ~" Fill"~ could be any regular expression.
    2. It also offers a whitelist behaviour, in addition to the blacklist;
    3. It supports highlighting specific minor-modes with completely arbitrary text properties.
  • rich-minority takes a cleaner, functional approach. It doesn’t hack into the =minor-mode-alist= variable.

What is rich-minority /missing/?

It just doesn’t have a quick and simple replacement functionality yet. However, you can set the =display= property of a minor-mode to whatever string you want and that will function as a replacement.

** Installation

This package is available from GNU Elpa and Melpa, you may install it by calling =M-x list-packages=.

** License

rich-minority is released under the GPLv3 or newer.