Skip to content

Latest commit

 

History

History
200 lines (165 loc) · 6.6 KB

README.org

File metadata and controls

200 lines (165 loc) · 6.6 KB

:ui modeline

Description

This module provides an Atom-inspired, minimalistic modeline for Doom Emacs, powered by the doom-package:doom-modeline package (where you can find screenshots).

Maintainers

  • @hlissner

Become a maintainer?

Module flags

+light
Enable a lighter, less featureful version of the modeline that does not depend on doom-package:doom-modeline, which has performances issues in some cases.

Packages

  • doom-package:anzu
  • doom-package:doom-modeline unless doom-module:+light
  • doom-package:evil-anzu if doom-module::editor evil

Hacks

No hacks documented for this module.

Changelog

This module does not have a changelog yet.

Installation

Enable this module in your doom! block.

This module has no external requirements.

Usage

🔨 This module’s usage documentation is incomplete. Complete it?

Hiding the modeline

  • You can use M-x hide-mode-line-mode RET to hide modeline for the current buffer.
  • Also, there is global-hide-mode-line-mode for globally hiding modeline. You can just add (global-hide-mode-line-mode) into =~/.doom.d/config.el~.
  • hide-mode-line-excluded-modes can be set for preventing global-hide-mode-line-mode hiding modeline for buffers with the corresponding major modes.

Switching the modeline and header line

Configuration

🔨 This module’s configuration documentation is incomplete. Complete it?

Changing the default modeline

Activating a format

Defining a modeline format

Defining a modeline segment

Extracting Doom’s modeline into your config

Troubleshooting

Report an issue?

Where are my minor modes?

I rarely need to know what minor modes are active, so I removed them. M-x doom/describe-active-minor-mode was written to substitute for it.

Icons in my modeline look strange

  1. Check whether all-the-icons are installed. Run M-x all-the-icons-install-fonts to install the resource fonts. Note that all-the-icons only support GUI. See all-the-icons for details.
  2. cnfonts will conflict with all-the-icons. You can refer the following workaround:
    ;; See https://github.com/seagle0128/doom-modeline/issues/278#issuecomment-569510336
    ;; Add to $DOOMDIR/packages.el
    (package! cnfonts)
    ;; Add to $DOOMDIR/config.el
    (add-hook 'after-setting-font-hook #'cnfonts-set-font)
        
  3. If all-the-icons fonts are installed while the icons cannot display correctly, please install the non-free font Symbola. This issue usually occurs on Windows.

The right side of the modeline is cut off

I believe the consensus is: this is due to oversized icons, i.e. a font issue. Some possible solutions:

  1. Tweak all-the-icons-scale-factor (1.2 by default): (setq all-the-icons-scale-factor 1.1)
  2. Add some padding to the modeline definition:
    (after! doom-modeline
      (doom-modeline-def-modeline 'main
        '(bar matches buffer-info remote-host buffer-position parrot selection-info)
        '(misc-info minor-modes checker input-method buffer-encoding major-mode process vcs "  "))) ; <-- added padding here
        
  3. Use another font for the mode line (or a different :height) (source)
    (custom-set-faces!
      '(mode-line :family "Noto Sans" :height 0.9)
      '(mode-line-inactive :family "Noto Sans" :height 0.9))
        

(Mentioned in #1680, #278 and seagle0128/doom-modeline#334)

  1. Change the width of icon characters in char-width-table:
    (add-hook! 'doom-modeline-mode-hook
      (let ((char-table char-width-table))
        (while (setq char-table (char-table-parent char-table)))
        (dolist (pair doom-modeline-rhs-icons-alist)
          (let ((width 2)  ; <-- tweak this
                (chars (cdr pair))
                (table (make-char-table nil)))
            (dolist (char chars)
              (set-char-table-range table char width))
            (optimize-char-table table)
            (set-char-table-parent table char-table)
            (setq char-width-table table)))))
        

    If this doesn’t help, try different values for width such as width 1 or width 3.

Frequently asked questions

This module has no FAQs yet. Ask one?

Appendix

🔨 This module’s appendix is incomplete. Write more?

Autodefs

  • def-modeline-format! NAME LEFT &optional RIGHT
  • def-modeline-segment! NAME &rest REST
  • set-modeline! NAME &optional DEFAULT

Variables

  • doom-modeline-height
  • doom-modeline-bar-width
  • doom-modeline-buffer-file-name-style
  • doom-modeline-icon
  • doom-modeline-major-mode-icon
  • doom-modeline-major-mode-color-icon
  • doom-modeline-buffer-state-icon
  • doom-modeline-buffer-modification-icon
  • doom-modeline-minor-modes
  • doom-modeline-enable-word-count
  • doom-modeline-buffer-encoding
  • doom-modeline-indent-info
  • doom-modeline-checker-simple-format
  • doom-modeline-vcs-max-length
  • doom-modeline-persp-name
  • doom-modeline-lsp
  • doom-modeline-github
  • doom-modeline-github-interval
  • doom-modeline-env-version
  • doom-modeline-mu4e
  • doom-modeline-irc
  • doom-modeline-irc-stylize

Faces

  • doom-modeline-buffer-path
  • doom-modeline-buffer-file
  • doom-modeline-buffer-modified
  • doom-modeline-buffer-major-mode
  • doom-modeline-buffer-minor-mode
  • doom-modeline-project-parent-dir
  • doom-modeline-project-dir
  • doom-modeline-project-root-dir
  • doom-modeline-highlight
  • doom-modeline-panel
  • doom-modeline-debug
  • doom-modeline-info
  • doom-modeline-warning
  • doom-modeline-urgent
  • doom-modeline-unread-number
  • doom-modeline-bar
  • doom-modeline-inactive-bar
  • doom-modeline-evil-emacs-state
  • doom-modeline-evil-insert-state
  • doom-modeline-evil-motion-state
  • doom-modeline-evil-normal-state
  • doom-modeline-evil-operator-state
  • doom-modeline-evil-visual-state
  • doom-modeline-evil-replace-state
  • doom-modeline-persp-name
  • doom-modeline-persp-buffer-not-in-persp