My Dracula Theme
Table of Contents
My favorite theme is Dracula which I use for a lot of different applications. Of course, there is also a port for Emacs. I use almost all of the given settings, but heavily customized the appearance of Org mode
.
1 Color Palette
The original color palette from the Dracula theme.
Color | Name |
---|---|
fg1 | |
fg2 | |
fg3 | |
fg4 | |
bg1 | |
bg2 | |
bg3 | |
bg4 | |
bg5 | |
bg6 | |
key2 | |
key3 | |
builtin | |
keyword | |
const | |
comment | |
func | |
str | |
type | |
var | |
warning | |
rainbow-1 | |
rainbow-2 | |
rainbow-3 | |
rainbow-4 | |
rainbow-5 | |
rainbow-6 | |
rainbow-7 | |
rainbow-8 | |
rainbow-9 | |
rainbow-10 | |
eph-verbatim | |
eph-code |
2 Org Mode Faces
These face settings represent my constant struggle to make Org mode
more visually pleasing.
;; org-agenda (org-agenda-date :foreground ,fg1) (org-agenda-date-today :foreground ,fg1) (org-agenda-date-weekend :foreground ,fg3 :weight normal) (org-agenda-dimmed-todo-face :foreground ,comment) (org-agenda-done :foreground ,rainbow-6) (org-agenda-structure :foreground ,fg3 :background ,bg2 :weight bold) ;; important fix for variable pitch mode ;; otherwise indents like within tables won't work well ;; see https://lepisma.github.io/2017/10/28/ricing-org-mode/ (org-indent (:inherit org-hide) (:inherit (org-hide fixed-pitch))) ;; everything related to (code) blocks (org-block :inherit fixed-pitch :foreground ,rainbow-5) (org-block-begin-line :inherit fixed-pitch :foreground ,bg4) (org-block-end-line :inherit fixed-pitch :foreground ,bg4) (org-checkbox :inherit fixed-pitch :weight bold) (org-code :foreground ,rainbow-7) (org-date :foreground ,rainbow-2 :underline t) (org-column :background ,bg4) (org-column-title :inherit org-column :weight bold :underline t) (org-document-info :foreground ,rainbow-8) (org-document-info-keyword :inherit fixed-pitch :foreground ,bg4) (org-special-keyword :inherit fixed-pitch :foreground ,bg4) (org-meta-line :inherit fixed-pitch :foreground ,bg4) (org-property-value :inherit fixed-pitch :foreground ,bg4) (org-todo :inherit fixed-pitch :foreground ,rainbow-5 :bold t :background ,bg2) (org-done :inherit fixed-pitch :foreground ,rainbow-6) (org-headline-done :foreground ,comment :bold nil :strike-through t) (org-ellipsis :foreground ,comment) (org-footnote :foreground ,rainbow-8) (org-formula :foreground ,rainbow-4) (org-hide :foreground ,bg1 :background ,bg1) (org-document-title :inherit bold :height 300) (org-level-1 :inherit bold :height 1.25) (org-level-2 :inherit bold :height 1.25) (org-level-3 :inherit bold :height 1.0) (org-level-4 :inherit bold) (org-level-5 :inherit bold) (org-level-6 :inherit bold) (org-level-7 :inherit bold) (org-level-8 :inherit bold) (org-link :foreground ,rainbow-2 :underline t) (org-priority :foreground ,rainbow-2) (org-scheduled :foreground ,fg4) (org-scheduled-previously :foreground ,rainbow-7) (org-scheduled-today :foreground ,fg1) (org-sexp-date :foreground ,fg4) (org-table :inherit fixed-pitch :foreground ,rainbow-3) (org-tag :inherit fixed-pitch :foreground ,bg4 :bold t :background ,bg2) (org-upcoming-deadline :foreground ,rainbow-7) (org-warning :weight bold :foreground ,rainbow-4)
3 Unchanged Faces
The settings directly used from the original Emacs Dracula theme, without any changes from my side.
4 Theme Code Generation
This is where it all comes together and gets tangled into a theme file.