doomemacs/modules/ui/doom-modeline
2017-08-11 17:30:52 +02:00
..
config.el Add: ui/doom-modeline: show project-root but truncated 2017-08-11 17:30:52 +02:00
packages.el
README.org ui/doom-modeline: update README 2017-07-02 16:49:07 +02:00

:ui doom-modeline

This module customizes the Emacs mode-line.

The DOOM modeline was designed for minimalism, and offers:

  • A match count panel (for evil-search, iedit and evil-substitute)
  • An indicator for recording a macro
  • Local python/ruby version in the major-mode
  • A customizable mode-line height (see +doom-modeline-height)
  • An error/warning count segment for flycheck

/screenshots/ml.png /screenshots/ml-search.png /screenshots/ml-subst.png /screenshots/ml-macro.png /screenshots/ml-version.png /screenshots/ml-errors.png

Install

This module requires the fonts included with all-the-icons to be installed.

Run M-x all-the-icons-install-fonts to do so.

Extracting my modeline

Some might want my modeline without the DOOM config altogether. I've tried to make this easier for you, but there are a few things you'll need to do:

  • Ensure projectile and all-the-icons are installed.
  • Ensure projectile-mode is enabled.
  • Ensure the fonts included with all-the-icons are installed (M-x all-the-icons-install-fonts).
  • Replace def-package! calls with use-package.
  • Replace doom-project-root calls with projectile-project-root.
  • Change the one def-memoized! function to defun.
  • The +doom-modeline--make-xpm function is memoized with the def-memoized! macro. Change def-memoized! to defun.
  • Copy the add-hook! macro definition from core/core-lib.el.
  • Copy the following macros and functions from core/core-ui.el:

    • def-modeline-segment!
    • def-modeline!
    • doom--prepare-modeline-segments
    • doom-modeline
    • doom-set-modeline

That should be everything. As I have never used this out of my config I can't guarantee immediate success, but I'd be happy to help you out. File an issue.

Troubleshooting

Where are my minor-modes?

I didn't need it, so I removed it. I wrote doom/what-minor-mode in the rare case I needed to investigate the currently active minor modes however.