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.
- @hlissner
Become a maintainer?
This module has no flags.
This module doesn’t install any packages.
No hacks documented for this module.
This module does not have a changelog yet.
Enable this module in your doom!
block.
This module only requires that nerd-icons
’s icon fonts are installed, which
should’ve been installed when you ran $ doom install
. Otherwise, use M-x
nerd-icons-install-fonts
to install them.
Once this module is enabled, the dashboard will present itself after opening a fresh instance of Emacs, or after killing all real buffers.
You can forcibly open the dashboard with M-x +doom-dashboard/open
.
This module’s configuration documentation is incomplete. Complete it?
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 nerd-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 nerd-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))
There are no known problems with this module. Report one?
This module has no FAQs yet. Ask one?
This module has no appendix yet. Write one?