GNU ELPA - modus-themes


Elegant, highly legible and customizable themes
modus-themes-4.3.0.tar, 2023-Sep-19, 1.46 MiB
Modus-Themes Development <~protesilaos/>
Browse ELPA's repository
CGit or Gitweb

To install this package from Emacs, use package-install or list-packages.

Full description

Modus themes for GNU Emacs


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-operandi, modus-vivendi) are built into Emacs version 28 or higher. Emacs 28 ships with modus-themes version 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.

Old versions

modus-themes-4.2.0.tar.lz2023-May-30 202 KiB
modus-themes-4.1.1.tar.lz2023-Feb-23 194 KiB
modus-themes-3.0.0.tar.lz2022-Oct-28 138 KiB
modus-themes-2.7.1.tar.lz2022-Oct-01 137 KiB
modus-themes-2.6.0.tar.lz2022-Aug-19 137 KiB
modus-themes-2.5.0.tar.lz2022-Aug-03 136 KiB
modus-themes-2.4.1.tar.lz2022-Jun-01 133 KiB
modus-themes-2.3.0.tar.lz2022-Apr-01 132 KiB
modus-themes-2.2.0.tar.lz2022-Feb-23 128 KiB
modus-themes-2.1.0.tar.lz2022-Feb-17 127 KiB
modus-themes-2.0.0.tar.lz2021-Dec-25 118 KiB
modus-themes-2.0.0.tar.lz2021-Dec-25 118 KiB
modus-themes-1.7.0.tar.lz2021-Nov-18 122 KiB
modus-themes-1.6.0.tar.lz2021-Sep-29 117 KiB
modus-themes-1.5.0.tar.lz2021-Jul-15 114 KiB
modus-themes-1.5.0.tar.lz2021-Jul-15 114 KiB
modus-themes-1.4.0.tar.lz2021-May-25 108 KiB
modus-themes-1.3.2.tar.lz2021-Apr-18 100 KiB
modus-themes-1.2.4.tar.lz2021-Mar-1694.2 KiB


This document contains the release notes that are included in each tagged commit on the project's main git repository:

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:



All themes except the tritanopia ones have a new hover colour

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 M-x modus-themes-preview-colors-current). This would make it hard to spot the difference while, for example, using vertico-mode in tandem with vertico-mouse-mode.

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.

The modus-operandi-tritanopia and modus-vivendi-tritanopia themes 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 developer of vertico, among many other excellent packages:

Japanese holidays have the expected style

Japanese calendars style Saturdays uniquely and the Modus themes now do the same for those who use the japanese-holidays package. Saturdays show up in a blue colour (which changes to cyan for the modus-operandi-tritanopia, modus-vivendi-tritanopia themes).

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:

Each theme has semantic colour mappings for terminal emulators

These are used by ansi-term, 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 nothing).

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:

All theme definitions conform with the latest standard for metadata

:PROPERTIES: :CUSTOMID: h:2af0114f-b96a-4e89-ad2f-850d53538efa … …