Tabs and ribbons for the mode line
This package provides utilities for displaying elements of the mode line as tabs and ribbons. It also provides replacements for a few built-in elements.
- Make sure that the face
mode-line
does not set:box
and that:underline
and:overline
are the same color or are bothundefined
. If defined, then the line color should be different from the:background
colors of bothmode-line
anddefault
. The same rules apply tomode-line-inactive
. The line colors ofmode-line
andmode-line-inactive
do not necessarily have to be identical. For example:(use-package solarized-theme :config (load-theme 'solarized-light t) (let ((line (face-attribute 'mode-line :underline))) (set-face-attribute 'mode-line nil :overline line) (set-face-attribute 'mode-line-inactive nil :overline line) (set-face-attribute 'mode-line-inactive nil :underline line) (set-face-attribute 'mode-line nil :box nil) (set-face-attribute 'mode-line-inactive nil :box nil) (set-face-attribute 'mode-line-inactive nil :background "#f9f2d9")))
- Note that the above example is for
solarized-theme
and that for your theme(face-attribute 'mode-line :underline)
may return nil. If you want borders, use something like(let ((line "red")) ...)
, in that case. - Add something like this to your init file:
(use-package moody :config (setq x-underline-at-descent-line t) (moody-replace-mode-line-buffer-identification) (moody-replace-vc-mode) (moody-replace-eldoc-minibuffer-message-function))
- Such replacement functions are defined as commands, making it quicker to try them out without having to add anything to your init file.
- To undo the call to a
moody-replace-*
function, call the same function witht
as the value of the optional REVERSE argument. You can accomplish the same by interactively calling such a function with a prefix argument to do so.