Emacs: ef-themes version 1.1.0
ef-themes is a collection of light and dark themes for GNU Emacs
whose goal is to provide colourful (“pretty”) yet legible options for
users who want something with a bit more flair than the
(also designed by me).
- Package name (GNU ELPA):
- 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 repo on SourceHut: https://git.sr.ht/~protesilaos/ef-themes
- Mailing list: https://lists.sr.ht/~protesilaos/ef-themes
- Backronym: Eclectic Fashion in Themes Hides Exaggerated Markings, Embellishments, and Sparkles.
Below are the release notes.
This release introduces several minor refinements to the project, while adding support for more third-party packages or built-in face groups.
Tabs have their own semantic colour mappings
The Ef themes are designed to abstract away common patterns based on
the semantics of the elements involved. For example, all strings in
programming modes use the
string colour that each theme defines in
its palette. This allows the themes to share the same code base yet
remain distinct from each other.
Colours used for
tab-line-mode, and related are now
part of this design. The new semantic mappings are
[ A theme palette can have user-defined overrides (e.g. tweak the main background). Consult the manual for the technicalities or contact me if there is any doubt. ]
Added support for the
The aforementioned semantic colours are applied to the faces of the
centaur-tabs. Using it with the themes now works as expected,
instead of defaulting to its own dark background colour (a default
that doesn’t work with most themes, anyway).
Thanks to Amo DelBello for bringing this matter to my attention in issue 21 on the GitHub mirror: https://github.com/protesilaos/ef-themes/issues/21.
These are a new family of packages that are gaining traction in the
Emacs milieu (for instance, the
doom-modeline now uses the Nerd
icons, which must be installed with
Their colours are now consistent with all the Ef themes.
Tweaked the colouration of the
I refined some of the colours in use to introduce greater variety and amplify certain values while avoiding exaggerations. In short, they should look nice and pretty.
whitespace-mode indicators are much more subtle
The previous style involved the use of a dim grey background. While
this is good to spot invisible characters quickly, it is bad for users
who want to run
whitespace-mode at all times (e.g. for Python which
We thus remove the backgrounds by default but provide the option to reinstate them via palette overrides (as documented at length in the manual). To this end, we have new semantic colour mappings for ordinary negative space and its invisible characters:
Ediff faces no longer have an implicit dependency on diff-mode
I made a mistake where the Ediff faces would inherit the styles of
diff-mode counterparts. This usually works, such as when
ediff is invoked from
magit, though it will not do the right thing
if the user invokes some Ediff command directly without first loading
This no longer happens. Ediff always works. Stylistically, everything looks the same.
git-gutter-fr packages are supported
These now use the appropriate colours defined by the Ef themes. This is especially important for themese that do not use the generic red-green colour coding scheme.
image-dired marked items are easier to spot
image-dired the user can apply selection or deletion marks to
image thumbnails. Those marks are colour-coded the same way they are
in Dired (the exact hues depend on the theme to account for
accessibility, e.g. for deuteranopia or tritanopia). Sometimes the
colour of the mark is obscured by the same colour found in the
thumbnail. To make the mark stand out, a border is drawn around it,
making the selection unambiguous.
Holidays and diary entries are more distinct and have no background
The holidays and diary entries that are found in the
M-x calendar or
M-x diary buffers no longer use a subtle background colour. The old
design was not consistent with similar patterns established by the
themes, such as how a date/timestamp should be represented.
Furthermore, the given constructs are assigned to contrasting hues to stand apart from each other and also be easy spot in their context (especially holidays in the Calendar view).
mood-line is covered by the themes
This is a package that refashions the Emacs mode line. It is
conceptually similar to the
Added links in the Custom User Interface to the
ef-themesweb pages for the manual and sample pictures, respectively. Those links are visible when perusing the various
M-x customizebuffers where entries related to the Ef themes are present.
THEMEargument it operates on. The intent is to allow other functions that call this one to capture the return value for their purposes.
Extended support for the built-in ERT faces, which are used in regression tests of Emacs Lisp code.