Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Malabarba/rich-minority

Emacs package for hiding and/or highlighting the list of minor-modes in the mode-line.
https://github.com/Malabarba/rich-minority

Last synced: 3 months ago
JSON representation

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

Awesome Lists containing this project

README

        

#+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.