provide 'cce/doom-modeline) (
I'm trying something new, coming back to a modeline customization suite. This time, we find ourselves with the Doom Mode Line, which I use in a pretty "out of the box" configuration for now. I add icon representations for EXWM buffers so that they're not just default "document" icons.
use-package nerd-icons)
(use-package doom-modeline
(
:after nerd-icons
:custom"Symbols Nerd Font Mono")
(nerd-icons-font-family
:configsetq doom-modeline-unicode-fallback t
(nil
doom-modeline-enable-word-count t)
doom-modeline-minor-modes 1)
(doom-modeline-mode 'nerd-icons-mode-icon-alist
(add-to-list "nf-fa-desktop"
'(exwm-mode nerd-icons-faicon 1.0 :face all-the-icons-purple))
:height
<<org-titles-modeline>> )
org-roam buffer titles in Doom Modeline
This function overrides/extends the function which Doom Modeline uses
to set the buffer title in the modeline. It queries the org-roam database for the file's title, and
falls back to the 'auto
help:doom-modeline-buffer-file-name-style
if there isn't one.
defun doom-modeline-buffer-file-name ()
("Propertize file name based on `doom-modeline-buffer-file-name-style'."
let* ((buffer-file-name (file-local-name (or (buffer-file-name (buffer-base-buffer)) "")))
(
(buffer-file-truename (file-local-nameor buffer-file-truename (file-truename buffer-file-name) "")))
(
(file-namewhen (equal major-mode 'org-mode)
(caar (org-roam-db-query [:select title :from files :where (= file $s1)]
(
(buffer-file-name)))))
(file-name-fallbackif (doom-modeline-project-p)
('shrink 'shrink 'hide)
(doom-modeline--buffer-file-name buffer-file-name buffer-file-truename "%b" 'face 'doom-modeline-buffer-file)))
(propertize
(file-nameor file-name file-name-fallback) 'face 'doom-modeline-buffer-file)))
(propertize (if (string-empty-p file-name)
(propertize ("%b" 'face 'doom-modeline-buffer-file)
(propertize
file-name)'mouse-face 'mode-line-highlight
'help-echo (concat buffer-file-truename
unless (string= (file-name-nondirectory buffer-file-truename)
(
(buffer-name))"\n" (buffer-name)))
(concat "\nmouse-1: Previous buffer\nmouse-3: Next buffer")
'local-map mode-line-buffer-identification-keymap)))