88 lines
3.3 KiB
Org Mode
88 lines
3.3 KiB
Org Mode
#+TITLE: ui/doom-dashboard
|
|
#+DATE: October 9, 2019
|
|
#+SINCE: v1.3
|
|
#+STARTUP: inlineimages nofold
|
|
|
|
* Table of Contents :TOC_3:noexport:
|
|
- [[#description][Description]]
|
|
- [[#module-flags][Module Flags]]
|
|
- [[#prerequisites][Prerequisites]]
|
|
- [[#configuration][Configuration]]
|
|
- [[#a-custom-banner][A custom banner]]
|
|
- [[#adding-text-to-the-dashboard][Adding text to the dashboard]]
|
|
- [[#customizing-faces][Customizing Faces]]
|
|
|
|
* Description
|
|
This module adds a minimalistic, Atom-inspired dashboard to Emacs.
|
|
|
|
Besides eye candy, the dashboard serves two other purposes:
|
|
|
|
1. To improve Doom's startup times (the dashboard is lighter than the scratch
|
|
buffer in many cases).
|
|
|
|
2. 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.
|
|
|
|
** Module Flags
|
|
This module provides no flags.
|
|
|
|
* Prerequisites
|
|
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.
|
|
|
|
* Configuration
|
|
** A custom banner
|
|
To use a custom image as your banner, change ~fancy-splash-image~:
|
|
|
|
#+BEGIN_SRC elisp
|
|
(setq fancy-splash-image "~/my/banners/image.png")
|
|
#+END_SRC
|
|
|
|
#+begin_quote
|
|
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.
|
|
#+end_quote
|
|
|
|
** Adding text to the dashboard
|
|
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.
|
|
|
|
#+begin_quote
|
|
Keep in mind that inserting text from expensive sources, e.g. your org agenda,
|
|
will negate most of Doom's startup benefits.
|
|
#+end_quote
|
|
|
|
** Customizing Faces
|
|
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!~
|
|
#+BEGIN_SRC elisp
|
|
(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))
|
|
#+END_SRC
|
|
or for a per-theme setting
|
|
#+BEGIN_SRC elisp
|
|
(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))
|
|
#+END_SRC
|