This module adds a minimalistic, Atom-inspired dashboard to Emacs.
Besides eye candy, the dashboard serves two other purposes:
- To improve Doom’s startup times (the dashboard is lighter than the scratch buffer in many cases).
- And to preserve the “last open directory” you were in. Occasionally, I kill
the last buffer in my project and I end up who-knows-where (in the working
directory of another buffer/project). It can take some work to find my way
back to where I was. Not with the Dashboard.
Since the dashboard cannot be killed, and it remembers the working directory of the last open buffer,
M-x find-file
will work from the directory I expect.
This module provides no flags.
This module only requires that all-the-icons
’s icon fonts are installed.
It should’ve been installed when you first installed Doom, but M-x
all-the-icons-install-fonts
will install them again.
To use a custom image as your banner, change fancy-splash-image
:
(setq fancy-splash-image "~/my/banners/image.png")
Doom will fall back to its ASCII banner in Terminal Emacs. To replace the ASCII banner, replace the
doom-dashboard-widget-banner
function in+doom-dashboard-functions
with a function that inserts your new banner into the current file.
Doom’s dashboard iterates over +doom-dashboard-functions
when it is told to
redraw. Add your own functions to operate on the buffer and potentially add
whatever you like to Doom’s splash screen.
Keep in mind that inserting text from expensive sources, e.g. your org agenda, will negate most of Doom’s startup benefits.
Doom’s dashboard defaults to inheriting faces set by the current theme. If you wish
to customize it independently of the theme (or just inherit a different color
from the theme) you can make use of custom-set-faces!
or custom-theme-set-faces!
(custom-set-faces!
'(doom-dashboard-banner :foreground "red" :background "#000000" :weight bold)
'(doom-dashboard-footer :inherit font-lock-constant-face)
'(doom-dashboard-footer-icon :inherit all-the-icons-red)
'(doom-dashboard-loaded :inherit font-lock-warning-face)
'(doom-dashboard-menu-desc :inherit font-lock-string-face)
'(doom-dashboard-menu-title :inherit font-lock-function-name-face))
or for a per-theme setting
(custom-theme-set-faces! 'doom-tomorrow-night
'(doom-dashboard-banner :foreground "red" :background "#000000" :weight bold)
'(doom-dashboard-footer :inherit font-lock-constant-face)
'(doom-dashboard-footer-icon :inherit all-the-icons-red)
'(doom-dashboard-loaded :inherit font-lock-warning-face)
'(doom-dashboard-menu-desc :inherit font-lock-string-face)
'(doom-dashboard-menu-title :inherit font-lock-function-name-face))