Emacs: doric-themes version 0.5.0
These are my minimalist themes. They use few colours and will appear mostly monochromatic in many contexts. Styles involve the careful use of typography, such as italics and bold italics.
If you want maximalist themes in terms of colour, check my ef-themes
package. For something in-between, which I would consider the best
“default theme” for a text editor, opt for my modus-themes.
- Package name (GNU ELPA):
doric-themes - Sample pictures: https://protesilaos.com/emacs/doric-themes-pictures
- Git repository: https://github.com/protesilaos/doric-themes
- Backronym: Doric Only Really Intensifies Conservatively … themes.
Below are the release notes.
Update to doric-themes 0.5.0
Enjoy the two new members of the collection
These are doric-siren and doric-mermaid. The former is a light
theme while the latter is dark. Both themes offer a marine vibe
combined with warm hues. Check the updated screenshots of all the
Doric themes: https://protesilaos.com/emacs/doric-themes-pictures.
Support for transient.el semantic faces
Those are used when the user option transient-semantic-coloring is
set to a non-nil value (the default). They are designed to indicate
different types of key, such as those that keep the transient in place
as opposed to exiting it.
The old style of making all key bindings look the same is still
available if transient-semantic-coloring is set to nil.
Semantic Emacs Lisp faces
This is a new feature coming in Emacs 31. Users can opt in to it by
setting the user option elisp-fontify-semantically to a non-nil
value. When active, Emacs Lisp buffers will apply highlights to more
elements of the syntax. Those will still conform with the minimalist
style of the Doric themes, but users at least get the benefits of
elisp-add-help-echo.
Font-lock faces for function calls and use of variables
Those are typically applied by major modes that are power by tree-sitter. Again, the styles are minimalist.
More faces or face groups are covered
These include:
- ibuffer’s Emacs 31 faces (patched by me in emacs.git)
- flymake’s Emacs 31 faces (again, my patch in core)
- diff-hl package
- git-gutter package
- org-habit
- minibuffer-nonselected for Emacs 31
- eglot-highlight-symbol-face
ert-test-result-unexpectedandert-test-result-expected, courtesy of Rudolf Adamkovič in pull request 19: https://github.com/protesilaos/doric-themes/pull/19.
Refinements to already supported faces
-
The
calendar-todayandorg-date-selectedare similar but different enough to stand apart. I initially made them look identical because I thought they would never appear in the same context. Thanks to Rudolf Adamkovič for telling me they could actually be collocated, hence their disambiguation. This was done in issue 20: https://github.com/protesilaos/doric-themes/issues/20. -
The
transient-argumentandtransient-valuehave a background to make them easier to spot. This is because they convey information about the state of the transient interface, which typically is important. -
Transient’s mismatching keys are dimmed out instead of being underlined, because this looks better in context.
-
Similarly,
org-agenda-clockinghas a more pronounced background. -
Idem for
eldoc-highlight-function-argumentand its counterparts inlsp-modeandgeiser. -
The Org check boxes are rendered with a bold weight, while quote blocks are in italics. Thanks to Rudolf Adamkovič for the patch in pull request 18: https://github.com/protesilaos/doric-themes/pull/18.
-
All Notmuch cryptography-related faces have more refined styles to both stand out better while avoiding exaggerations.
-
The Custom user interface buttons inherit from
variable-pitch. -
The current line number in
display-line-numbers-modeuses just a bold weight to avoid exaggerations.