To install this package from Emacs, use
IMAGES HERE: https://protesilaos.com/emacs/modus-themes-pictures.
Highly accessible themes, conforming with the highest standard for colour contrast between background and foreground values (WCAG AAA). They also are optimised for users with red-green colour deficiency.
The themes are very customisable and provide support for a very wide range of packages. Their manual is detailed so that new users can get started, while it also provides custom code for all sorts of more advanced customisations.
Since August 2020, the original Modus themes (
modus-vivendi) are built into Emacs version 28 or higher. Emacs 28
1.6.0. Emacs 29 includes version
3.0.0. Emacs 30 provides a newer, refactored version that
thoroughly refashions how the themes are implemented and customized.
Such major versions are not backward-compatible due to the limited
resources at my disposal to support multiple versions of Emacs and of
the themes across the years.
This document contains the release notes that are included in each tagged commit on the project's main git repository: https://git.sr.ht/~protesilaos/modus-themes.
The newest release is at the top. Since the notes are meant to be in plain text format, I copy them verbatim.
For further details, please consult these additional resources:
The previous colour was not sufficiently distinct from what each theme
defines for the
bg-completion palette entry (preview a palette with
M-x modus-themes-preview-colors or
This would make it hard to spot the difference while, for example,
vertico-mode in tandem with
Same principle for the difference between the mouse hover and lazy isearch highlights (e.g. in Dired or Occur buffers).
Changing the hue here follows the same principle that underpinned the redesign of the grey backgrounds for version 4 of the project: depending on hardware capabilities, colour reproduction may not be optimal, so we need to be more considerate with the choice of colour values, erring on the side of caution.
are not affected by this initiative, as they already used highly distinct hues.
Thanks to Daniel Mendler for bringing this matter to my attention and
for testing the proposed alternatives. This was done via a private
channel and the information is shared with permission. Daniel is the
vertico, among many other excellent packages:
Japanese calendars style Saturdays uniquely and the Modus themes now
do the same for those who use the
Saturdays show up in a blue colour (which changes to cyan for the
Each theme's palette has a new semantic colour mapping called
date-holiday-other, just in case we ever encounter another scenario
like this one (users can override any entry in the palette—consult
the manual for the technicalities).
Thanks to Olaf Meeuwissen for bringing this package to my attention and showing me how traditional Japanese calendars style Saturdays. This was done in issue 311 on the GitLab mirror: https://gitlab.com/protesilaos/modus-themes/-/issues/311.
These are used by
vterm, and the like. The idea is to
empower users to differentiate background and foreground values,
should they ever encounter a need to do so (when in doubt, do
By convention, terminal emulators use the same value for both background and foreground, although this is not optimal with high contrast themes because what works as a foreground does not necessarily look nice as a background.
The default values of the new mappings retain the prior state, just to not break existing configurations. Consider this a tacit user option for those who really need it.
Thanks to Tony Zorman for reporting the problem that provided the impetus for this change: https://lists.sr.ht/~protesilaos/modus-themes/%3C87fs4wforf.fsf%40hyperspace%3E.
:PROPERTIES: :CUSTOMID: h:2af0114f-b96a-4e89-ad2f-850d53538efa … …