Emacs: ef-themes version 1.9.0
The ef-themes are a collection of light and dark themes for GNU
Emacs that provide colourful (“pretty”) yet legible options for users
who want something with a bit more flair than the modus-themes (also
designed by me).
- Package name (GNU ELPA):
ef-themes - Official manual: https://protesilaos.com/emacs/ef-themes
- Change log: https://protesilaos.com/emacs/ef-themes-changelog
- Sample pictures: https://protesilaos.com/emacs/ef-themes-pictures
- Git repositories:
- Backronym: Eclectic Fashion in Themes Hides Exaggerated Markings, Embellishments, and Sparkles.
Below are the release notes.
Version 1.9.0 on 2024-11-16
This version introduces several small refinements to an already comprehensive basis.
No interference with org-modern
The org-modern package is not meant to be touched by a theme. This
is what I am doing with the modus-themes, but I forgot to remove the
changes made by the ef-themes.
Thanks to Daniel Mendler, author of org-modern, for bringing this
matter to my attention. This was done in issue 48:
https://github.com/protesilaos/ef-themes/issues/48.
Colour refinements for several themes
I document those, though most of them will not be noticeable, unless on a side-by-side comparison.
-
The
ef-daypalette value forgreen-warmerhas a marginally greater contribution from the red channel of light, making it a tiny bit “warmer”. Thegreen-faintis made less warm. In context, these tweaks make certain elements easier to tell apart, while retaining the character of the theme. -
The
ef-reverievalue forblue-faintis less saturated, so its blue impression is diminished. It still performs its role in all the relevant contexts, only now it does it better by not competing with other shades of blue. -
The
ef-lightvalue forfg-dimis much less intense, though still within the desired contrast range. This way, it works better in context. The “added” background colours (used indiff-mode, Ediff, Magit, etc.) are a little bit more intense to be more harmonious with other elements in a diff output. Theblue-fainthas lower contribution from the blue channel of light in the interest of not interfering with other blue hues, while still looking alright itself. The semantic palette mapping for links now uses theblue-warmercolour instead ofblue, as the former is less ambiguous in context. Thefg-altis recalibrated to be closer to a grey value, improving its use in several places. Thered-coolervalue is redone to not be conflated with magenta: it now delivers a rosy red impression. Lastly, therainbow-2mapping usesmagentainstead ofmagenta-warmerfor consistency in all relevant situations. -
The
ef-nightsemantic colour mapping ofpreprocessoris toned down in intensity to remove what was a stylistic exaggeration. Thevariablemapping is tweaked to usecyan-warmerinstead of thecyancolour, as the former is slightly more suited to the role due to how it combines with other colours. Thetypesemantic mapping is bound to a less intense shade of magenta, making it not overpower other constructs in a competition for attention. Finally, the value of themagenta-faintcolour has a greater contribution from the blue channel of light to shift its hue slightly closer to purple. -
The
ef-deuteranopia-lightpalette entry forred-faintis more yellow to be discernible where needed. Similarly, thecyan-coolerhas a reduced contribution from the red channel of light.[ Note that the “deuteranopia” and “tritanopia” themes define all colours in the palette to be consistent with the overall project, but only use hues that are appropriate for red-green and blue-yellow colour deficiency, respectively. ]
-
The “subtle” backgrounds of all themes (e.g.
bg-red-subtle) are redone to feel more natural in the context of their respective theme. Before, some values were a bit exaggerated and/or not aligned with the overall aesthetic. Still, the changes are small: do not expect your preferred theme to be refashioned.
More accurate faces for Org agenda dates
The faces used by Org agenda to style events with a scheduled date or deadline are redesigned to better complement the semantics of what is on display. Pressing tasks stand out more, while those that do not require immediate attention are rendered in a more subtle style.
Thanks to Adam Porter (aka GitHub alphapapa) for suggesting this revision and discussing the technicalities with me. This was done in issue 102 of the Modus themes repository (but the principles apply to the Ef themes as well): https://github.com/protesilaos/modus-themes/issues/102.
The forge package is fully supported
All of its faces will now look consistent in context as they get the appropriate colours of the active Ef theme.
Thanks to Len Trigg for reporting that some attributes were not suitable for the intended purpose of certain Forge faces. I fixed those accordingly. This was done in issue 47: https://github.com/protesilaos/ef-themes/issues/47.
Support for the tldr package
This makes it look consistent with the rest of the theme.
Support for the built-in window-tool-bar-mode
This is a mode available in Emacs 30. Its faces will look right at all times.
Support for the built-in hexl-mode
Instead of using shades of grey backgrounds, the themes use carefully chosen foreground values that are easier to spot.
The embark faces are brought up-to-date
Old symbols are removed and the current ones are added in their stead.
Miscellaneous
-
The
:background-modeproperty of theef-melissa-darktheme is set to the correct symbol. Thanks to Pedro Cunha for making the change in pull request 46: https://github.com/protesilaos/ef-themes/pull/46. The change is small, so Pedro does not need to assign copyright to the Free Software Foundation. -
Graphical buttons inherit the
ef-themes-buttonface, which makes it easier to ensure theme-wide consistency for all relevant faces. -
The
all-the-iconsfaces for Ibuffer use different colours that refine how everything looks in context. -
The popup produced by the
corfuandcompanypackages will use a monospaced font (inherit fromfixed-pitch) if the user optionef-themes-mixed-fontsis set to a non-nil value. -
The annotation function used by the command
ef-themes-selector related now uses thecompletions-annotationsface, as it should.