mirror of
https://github.com/doomemacs/doomemacs
synced 2025-08-23 14:03:44 -05:00
This mode-line may have bugs and its implementation details are certain to change (it doesn't follow naming conventions, for instance). It also doesn't have all the features of the old modeline (yet). However, it is easily twice as fast as the original, and a little more flexible, what with the `mode-line-format-left' and `mode-line-format-right' variables. It also exposes a more powerful API for defining modelines and modeline segments (and switching between them). It is disabled by default and must be activated with the +new module flag on the ui/doom-modeline module.
: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
andevil-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
Table of Contents TOC
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 withuse-package
. - Replace
doom-project-root
calls withprojectile-project-root
. - The
+doom-modeline--make-xpm
function is memoized with thedef-memoized!
macro. Changedef-memoized!
todefun
. - 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 if you file an issue.
Troubleshooting
Where are my minor modes?
I didn't need it, so I removed it. Run M-x doom/what-minor-mode
to investigate what minor modes are currently active.