Emacs: ef-themes version 1.1.0
The 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 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 repo on SourceHut: https://git.sr.ht/~protesilaos/ef-themes
- Mirrors:
- 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-bar-mode
, tab-line-mode
, and related are now
part of this design. The new semantic mappings are bg-tab-bar
,
bg-tab-current
, bg-tab-other
.
[ 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 centaur-tabs
package
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.
Covered the nerd-icons
, nerd-icons-dired
, nerd-icons-ibuffer
packages
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 M-x nerd-icons-install-fonts
).
Their colours are now consistent with all the Ef themes.
Tweaked the colouration of the all-the-icons
glyphs
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.
The 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
is space-sensitive).
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:
bg-space
fg-space
bg-space-err
Ediff faces no longer have an implicit dependency on diff-mode
I made a mistake where the Ediff faces would inherit the styles of
their 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
diff-mode
.
This no longer happens. Ediff always works. Stylistically, everything looks the same.
The git-gutter
and 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
With 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).
The mood-line
is covered by the themes
This is a package that refashions the Emacs mode line. It is
conceptually similar to the doom-modeline
.
Miscellaneous
-
Added links in the Custom User Interface to the
ef-themes
web pages for the manual and sample pictures, respectively. Those links are visible when perusing the variousM-x customize
buffers where entries related to the Ef themes are present. -
Made
ef-themes--load-theme
return theTHEME
argument 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.