BREAKING CHANGE: This deprecates the IS-(MAC|WINDOWS|LINUX|BSD) family of global constants in favor of a native `featurep` check: IS-MAC -> (featurep :system 'macos) IS-WINDOWS -> (featurep :system 'windows) IS-LINUX -> (featurep :system 'linux) IS-BSD -> (featurep :system 'bsd) The constants will stick around until the v3 release so folks can still use it -- and there are still some modules that use it, but I'll phase those uses out gradually. Fix: #7479
60 lines
2.2 KiB
EmacsLisp
60 lines
2.2 KiB
EmacsLisp
;;; ui/modeline/config.el -*- lexical-binding: t; -*-
|
|
|
|
(when (modulep! +light)
|
|
(load! "+light"))
|
|
|
|
|
|
(use-package! doom-modeline
|
|
:unless (modulep! +light)
|
|
:hook (doom-after-init . doom-modeline-mode)
|
|
:hook (doom-modeline-mode . size-indication-mode) ; filesize in modeline
|
|
:hook (doom-modeline-mode . column-number-mode) ; cursor column in modeline
|
|
:init
|
|
;; We display project info in the modeline ourselves
|
|
(setq projectile-dynamic-mode-line nil)
|
|
;; Set these early so they don't trigger variable watchers
|
|
(setq doom-modeline-bar-width 3
|
|
doom-modeline-github nil
|
|
doom-modeline-mu4e nil
|
|
doom-modeline-persp-name nil
|
|
doom-modeline-minor-modes nil
|
|
doom-modeline-major-mode-icon nil
|
|
doom-modeline-buffer-file-name-style 'relative-from-project
|
|
;; Only show file encoding if it's non-UTF-8 and different line endings
|
|
;; than the current OSes preference
|
|
doom-modeline-buffer-encoding 'nondefault
|
|
doom-modeline-default-eol-type
|
|
(pcase doom-system ('macos 2) ('windows 1) (_ 0)))
|
|
|
|
:config
|
|
;; Fix an issue where these two variables aren't defined in TTY Emacs on MacOS
|
|
(defvar mouse-wheel-down-event nil)
|
|
(defvar mouse-wheel-up-event nil)
|
|
|
|
(add-hook 'after-setting-font-hook #'+modeline-resize-for-font-h)
|
|
(add-hook 'doom-load-theme-hook #'doom-modeline-refresh-bars)
|
|
|
|
(add-to-list 'doom-modeline-mode-alist '(+doom-dashboard-mode . dashboard))
|
|
(add-hook! 'magit-mode-hook
|
|
(defun +modeline-hide-in-non-status-buffer-h ()
|
|
"Show minimal modeline in magit-status buffer, no modeline elsewhere."
|
|
(if (eq major-mode 'magit-status-mode)
|
|
(doom-modeline-set-modeline 'magit)
|
|
(hide-mode-line-mode))))
|
|
|
|
;; Some functions modify the buffer, causing the modeline to show a false
|
|
;; modified state, so force them to behave.
|
|
(defadvice! +modeline--inhibit-modification-hooks-a (fn &rest args)
|
|
:around #'ws-butler-after-save
|
|
(with-silent-modifications (apply fn args)))
|
|
|
|
|
|
;;
|
|
;;; Extensions
|
|
(use-package! anzu
|
|
:after-call isearch-mode)
|
|
|
|
(use-package! evil-anzu
|
|
:when (modulep! :editor evil)
|
|
:after-call evil-ex-start-search evil-ex-start-word-search evil-ex-search-activate-highlight
|
|
:config (global-anzu-mode +1)))
|