Update to modus-themes version 5.0.0

This commit is contained in:
Protesilaos Stavrou 2025-11-01 07:12:53 +02:00
parent 26dd0fabb1
commit 16c2c667c4
No known key found for this signature in database
GPG key ID: 99BD6459CD5CA3EA
4 changed files with 536 additions and 150 deletions

View file

@ -15,6 +15,405 @@ For further details, please consult these additional resources:
+ Manual :: <https://protesilaos.com/emacs/modus-themes>
+ Screenshots :: <https://protesilaos.com/emacs/modus-themes-pictures>
* 5.0.0 on 2025-11-01
:PROPERTIES:
:CUSTOM_ID: h:9232615a-02d7-4376-90a6-7e7570ac1c1e
:END:
This is a major release. There are some small breaking changes. The
big new feature is that Modus can be used as the basis for other theme
projects. Two of my other theme packages, the ~ef-themes~ and the
~standard-themes~ are already done in this way: their next major
versions will formalise what I have been developing for a while now
(though the ~doric-themes~ will remain their own thing for the time
being).
** Build on top of Modus
:PROPERTIES:
:CUSTOM_ID: h:269cd2f9-604d-4e9b-87c8-d9d91fb6d355
:END:
This is of immediate interest to package developers or advanced users.
It changes nothing for existing users of the Modus themes. Please
refer to the manual on the matter and feel welcome to contact me if
you have any questions---I am happy to help.
Evaluate:
#+begin_src emacs-lisp
(info "(modus-themes) Build on top of the Modus themes")
#+end_src
Or visit: <https://protesilaos.com/emacs/modus-themes#h:86eb375b-9be4-43ce-879a-0686a524a63b>.
Why build on top of Modus? To benefit from (i) the wide face coverage
and extensive detail-oriented testing, (ii) the use of palette
mappings, (iii) the palette preview done with
~modus-themes-list-colors~ or related, (iv) the inclusion of the
derivative theme in the workings of all Modus commands that load a
theme, like ~modus-themes-rotate~ and ~modus-themes-select~ (see the
new minor mode ~modus-themes-include-derivatives-mode~).
Derivative themes can be as simple as a few extra colours on top of,
say, ~modus-operandi~. They can also be more involved, with new
palette mappings and custom faces that use them. Such themes can
define commands which load only their own themes (see
~modus-themes-define-derivative-command~) and they can even take over
the Modus themes completely, in terms of becoming the only ones that
are exposed to the commands that load a theme, like
~modus-themes-rotate~ and ~modus-themes-select~.
Thanks to Suleyman Boyar for fixing an intermediate omission with an
earlier version of the code that derives a theme. I did eventually
change the whole approach to use a function instead of a macro, but
Suleyman's contribution was still useful at the time. This was done in
pull request 156: <https://github.com/protesilaos/modus-themes/pull/156>.
The change is small, meaning that Suleyman does not need to assign
copyright to the Free Software Foundation.
** Colours can be copied from the palette preview buffer
:PROPERTIES:
:CUSTOM_ID: h:27ae691a-50bc-4339-af36-7e09e6060f8e
:END:
The commands ~modus-themes-list-colors~ and ~modus-themes-list-colors-current~
display the given theme's palette in a tabulated listing. Each line
visualises the colour it references. From that buffer it is now
possible to call the following commands (bound to the ~modus-themes-preview-mode-map~):
| Default key binding | Name of the command |
|---------------------+----------------------------------------|
| =w= | ~modus-themes-preview-mode-copy-color~ |
| =W= | ~modus-themes-preview-mode-copy-entry~ |
| =m= | ~modus-themes-preview-mode-mark~ |
| =M= | ~modus-themes-preview-mode-mark-all~ |
| =u= | ~modus-themes-preview-mode-unmark~ |
| =U= | ~modus-themes-preview-mode-unmark-all~ |
The ~modus-themes-preview-mode-copy-color~ and its
~modus-themes-preview-mode-copy-entry~ counterpart work on the line at
point or those that are marked. The first copies the resolved colour
value, as a string ("resolved" here means that it will find what a
palette mapping actually stands for). The second gets the complete
palette entry, as it appears in the underlying definition. This is a
starting point for writing palette overrides.
Thanks to shimeike for reporting a problem with a regression I
introduced by mistake in one of the development versions of the
function that handles the creation of the tabulated list. This was
done in issue 163: <https://github.com/protesilaos/modus-themes/issues/163>.
** New semantic palette mappings for programming contexts
:PROPERTIES:
:CUSTOM_ID: h:66f43975-2e97-41e6-85ec-c29e0505bd80
:END:
The ~fnname-call~ and ~variable-use~ are now available. They are
applied to faces that are used by major modes which build on top of
~tree-sitter~ program as well as the Emacs Lisp semantic highlighting
feature of Emacs 31.
By default, these colours are more subtle than their ~fnname~ and
~variable~ counterparts. The reason is that I want to avoid
exaggerations with the wanton application of colour ("avoiding
exaggerations" is one of the design principles of the Modus themes).
Because of the commitment to the highest legibility standard for
colour contrast, we are using colours that stand out in their context,
yet are still harmonious with each other. This is due to (i) careful
consideration of colour harmonies, (ii) enforced uniformity of styles
where necessary to avoid emphasising the emphasis or stating the
obvious, and (ii) the fact that not too many intense colours appear in
close proximity to each other in most Emacs major modes. If a major
mode or other feature adds colours virtually everywhere, then the
Modus themes are no longer true to their character and become
borderline unusable.
The more subtle colours for ~fnname-call~ and ~variable-use~ do not
prevent exaggerations, though they do make them less egregious.
[ Note that themes do not control which face is applied where. That is
the job of a major mode or specialised minor modes. When in doubt,
work with the rule that fewer colours are better than many. ]
** Support for Emacs Lisp semantic highlighting
:PROPERTIES:
:CUSTOM_ID: h:a14057b4-f7e9-4ff7-b40c-7640559f04dc
:END:
This is built into Emacs version 31. What it does is make different
parts of the Elisp syntax stand out visually. It also augments them
with a mouse tooltip (technically a =help-echo=) that provides
valuable insights about what the thing is.
Thanks to Eshel Yaron, the author of this feature, for (i) asking me
to review the relevant faces, (ii) helping me understand what
"semantic highlighting" is intended for, and (iii) explaining to me
how some faces are meant to be used. This was done in the context of
Emacs bug 79677 and in an aside about a change to my minimalist
~doric-themes~ package:
- <https://lists.gnu.org/archive/html/bug-gnu-emacs/2025-10/msg01156.html>.
- <https://lists.gnu.org/archive/html/emacs-devel/2025-10/msg00728.html>.
I wrote to Eshel that I do not want many colours clustered together.
This design is more suitable to themes with low intensity. All my
themes exacerbate the effect of dense colouration due to their primary
design goal: legibility.
Currently the added colouration of semantic highlighting is noticeable
far more than I like. This is a compromise on my end. Future versions
of the themes might set more semantic faces to ~nil~ (or anyhow make
them subtle), subject to further review and user feedback.
This is not a position against semantic highlighting, but a comment on
inconsiderate themes.
** More elements are optionally bold or italic
:PROPERTIES:
:CUSTOM_ID: h:d351403d-97d7-4c7d-b431-f9153201fc1c
:END:
I have revised all supported faces to make them more conservative
about when they apply typographic qualities that deviate from the
default font. Many faces that were unconditionally rendered with a
bold weight or an italic slant are now subject to the user options
~modus-themes-bold-constructs~ and ~modus-themes-italic-constructs~.
This means that they are like the default font family by default and
will become bold/italic if the relevant user option is set to a
non-~nil~ value.
Faces that are semantically bold or italic and/or which genuinely
benefit from such typographic attributes out-of-the-box are exempt
from this.
Headings are also exempt because they are anyway subject to the user
option ~modus-themes-headings~ which covers the height and weight of
each heading level's text.
Thanks to chainedghost for reporting a regression in one of the
commits I made. This was done in issue 167:
<https://github.com/protesilaos/modus-themes/issues/167>
** Support for ~lsp-mode~ and ~lsp-ui~ packages
:PROPERTIES:
:CUSTOM_ID: h:4e9b6d96-d760-40b9-b293-609bf76ba569
:END:
Thanks to Jimmy Yuen Ho Wong for the initial contribution in pull
request 142: <https://github.com/protesilaos/modus-themes/pull/142>.
I made some changes on top to use semantic palette mappings, where
applicable, and other such tweaks.
** The ~minibuffer-nonselected~ face is supported
:PROPERTIES:
:CUSTOM_ID: h:8f2422e7-66cc-42d4-8d9f-8a4ad255b3eb
:END:
This is coming in Emacs version 31: it highlights the active
minibuffer when the cursor is in another window. The face is designed
to be as noticeable as possible because this kind of scenario usually
leads to mistakes or confusion.
** Refinements to supported packages or face groups
:PROPERTIES:
:CUSTOM_ID: h:81607d59-176a-4fad-aacd-0f946e228682
:END:
- The ~markdown-code-face~ uses the same semantic palette mapping as
~org-block~. This was always the intent. Thanks to Frédéric Giquel
for the fix in pull request 160: <https://github.com/protesilaos/modus-themes/pull/160>.
The change is small and thus does not require copyright assignment
to the Free Software Foundation.
- Fixed a word in the symbol of the ~flymake-warning-echo-at-eol~. Thanks to
Eric Ottosson for the patch in pull request 145: <https://github.com/protesilaos/modus-themes/pull/145>.
No copyright assignment is required.
- The two new Emacs 31 faces for packages that are marked for
installation or deletion in the =M-x list-packages= buffer are now
included. Thanks to Gautier Ponsinet for sending me the patch.
Gautier has assigned copyright to the Free Software Foundation.
- The ~hs-ellipsis~ in Emacs 31 from the built-in ~hideshow~ package
is also covered. It is made to conform with established patterns
across conceptually equivalent faces (e.g. Org folded headings)
rather than do its own thing.
- The ~widget-field~ uses an underline to be easier to spot. On
supported Emacs displays (generally graphical Emacs) the underline
is at the descent line, meaning that it does not cross through
characters with descenders like =g=.
- The ~git-commit~ and ~log-edit~ faces for writing commit messages in
Magit and VC are tweaked to avoid exaggerations.
- The Magit section headings have a slightly modified foreground
value.
- The ~org-list-dt~ face for list definition terms has a slightly
modified foreground value to (i) be easier to spot while (ii) being
less intense overall.
- The ~calendar-today~ in the =M-x calendar= interface now has a box
around it on supported displays (graphical Emacs) to better stand
out from its context. On unsupported displays, the face still gets
an appropriate background value.
- The ~org-date-selected~ and ~calendar-today~ should look the same,
contrary to how they did before. This is done in the interest of
theme-wide consistency (i.e. the kind of detail you appreciate once
it is no longer there).
- The mode lines use an underline on displays that cannot render a
box. This way, the faces remain distinct from their context.
- All interface buttons, like those that appear in the Custom buffers,
will be rendered with an underline on displays that cannot handle
boxes.
- The ~notmuch-message-summary-face~, which is used in threaded
message views, now has an overline on supported displays (graphical
Emacs). Individual messages in the thread should thus be more
discernible.
- The ~tab-bar-tab-highlight~ is directly covered to make sure all
mouse hover effects are consistent across similar interfaces.
- Some faces that had specific colour values (e.g. ~cyan-cooler~) are
revised to use semantic palette mappings instead. This ensures
thematic consistency. The most obvious beneficiaries are users of
the deuteranopia- and tritanopia- optimised themes
(deuteranopia-friendly themes cannot work with red and green while
tritanopia-friendly themes must not rely on yellow and blue).
** The ~modus-themes-custom-auto-reload~ is obsolete
:PROPERTIES:
:CUSTOM_ID: h:a82d2ccb-dd26-410e-8fc8-6f45813b4e00
:END:
Plus all our user options no longer specify a =:set= function. This
means that the theme will never be reloaded automatically when using
the Custom interface or ~setopt~ to configure one of the theme's user
options. Reloading the theme is what applies the new styles. The idea
of this feature is good, but the implementation was problematic. Maybe
I will reinstate it in the future, though I cannot let it block this
major release.
** Several =modus-themes-*= faces are obsolete
:PROPERTIES:
:CUSTOM_ID: h:d5de3be7-5fdc-407b-81fc-aeb99ad528f7
:END:
In previous versions I was defining faces that were used to apply
uniform styles across many packages. This was the old way of doing
things before version =4.0.0= of the themes that introduced palettes
with semantic mappings and, optionally, user-defined overrides to
them.
I have deprecated all of the following and made all the necessary
changes (i.e. several thousands of them), to make palette mappings the
norm everywhere. In general, I encourage you not to rely on any faces
defined by Modus: they are really intended for internal use.
- ~modus-themes-fg-blue~
- ~modus-themes-fg-blue-cooler~
- ~modus-themes-fg-blue-faint~
- ~modus-themes-fg-blue-intense~
- ~modus-themes-fg-blue-warmer~
- ~modus-themes-fg-cyan~
- ~modus-themes-fg-cyan-cooler~
- ~modus-themes-fg-cyan-faint~
- ~modus-themes-fg-cyan-intense~
- ~modus-themes-fg-cyan-warmer~
- ~modus-themes-fg-green~
- ~modus-themes-fg-green-cooler~
- ~modus-themes-fg-green-faint~
- ~modus-themes-fg-green-intense~
- ~modus-themes-fg-green-warmer~
- ~modus-themes-fg-magenta~
- ~modus-themes-fg-magenta-cooler~
- ~modus-themes-fg-magenta-faint~
- ~modus-themes-fg-magenta-intense~
- ~modus-themes-fg-magenta-warmer~
- ~modus-themes-fg-red~
- ~modus-themes-fg-red-cooler~
- ~modus-themes-fg-red-faint~
- ~modus-themes-fg-red-intense~
- ~modus-themes-fg-red-warmer~
- ~modus-themes-fg-yellow~
- ~modus-themes-fg-yellow-cooler~
- ~modus-themes-fg-yellow-faint~
- ~modus-themes-fg-yellow-intense~
- ~modus-themes-fg-yellow-warmer~
- ~modus-themes-intense-blue~
- ~modus-themes-intense-cyan~
- ~modus-themes-intense-green~
- ~modus-themes-intense-magenta~
- ~modus-themes-intense-red~
- ~modus-themes-intense-yellow~
- ~modus-themes-key-binding~
- ~modus-themes-lang-error~
- ~modus-themes-lang-note~
- ~modus-themes-lang-warning~
- ~modus-themes-mark-alt~
- ~modus-themes-mark-del~
- ~modus-themes-mark-sel~
- ~modus-themes-nuanced-blue~
- ~modus-themes-nuanced-cyan~
- ~modus-themes-nuanced-green~
- ~modus-themes-nuanced-magenta~
- ~modus-themes-nuanced-red~
- ~modus-themes-nuanced-yellow~
- ~modus-themes-prominent-error~
- ~modus-themes-prominent-note~
- ~modus-themes-prominent-warning~
- ~modus-themes-prose-code~
- ~modus-themes-prose-macro~
- ~modus-themes-prose-verbatim~
- ~modus-themes-search-current~
- ~modus-themes-search-lazy~
- ~modus-themes-search-replace~
- ~modus-themes-search-rx-group-0~
- ~modus-themes-search-rx-group-1~
- ~modus-themes-search-rx-group-2~
- ~modus-themes-search-rx-group-3~
- ~modus-themes-search-static~
- ~modus-themes-subtle-blue~
- ~modus-themes-subtle-cyan~
- ~modus-themes-subtle-green~
- ~modus-themes-subtle-magenta~
- ~modus-themes-subtle-red~
- ~modus-themes-subtle-yellow~
Thanks to Kevin Fleming and Jimmy Yuen Ho Wong for fixing two cases of
unbalanced/faulty parentheses caused by the aforementioned. These were
done as pull requests 166 and 168, respectively:
- <https://github.com/protesilaos/modus-themes/pull/166>.
- <https://github.com/protesilaos/modus-themes/pull/168>.
Both changes are small: no copyright assignment to the Free Software
Foundation is needed (and I think both authors are covered, anyway).
** All =:inherit= face attributes are reviewed and kept to a minimum
:PROPERTIES:
:CUSTOM_ID: h:45ecd8f2-509b-4519-bd62-087031b0c1b8
:END:
The themes now use the =:inherit= attribute much more cautiously than
before. This is because of the reliance on semantic palette mappings:
those give us more control and usually are explicit about the desired
result.
Face inheritance can become circular in some cases. Newer Emacs
versions throw an error accordingly. This was discussed in Emacs bug
79672, with participation from Eli Zaretskii, JD Smith, Manuel Giraud,
Stephane Marks, and Steven Allen: <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=79672>.
Thanks to everybody involved!
* 4.8.0 on 2025-06-11
:PROPERTIES:
:CUSTOM_ID: h:a8d31a81-5283-494a-bfb0-982206bcb2bd

View file

@ -43,11 +43,11 @@ customization options for the Modus themes, and provides every other
piece of information pertinent to them.
The documentation furnished herein corresponds to stable version
4.8.0, released on 2025-06-11. Any reference to a newer feature which
5.0.0, released on 2025-11-01. Any reference to a newer feature which
does not yet form part of the latest tagged commit, is explicitly marked
as such.
Current development target is 5.0.0-dev.
Current development target is 5.1.0-dev.
• Package name (GNU ELPA): modus-themes
• Official manual: <https://protesilaos.com/emacs/modus-themes>
@ -895,9 +895,7 @@ File: modus-themes.info, Node: Option for which themes to rotate, Next: Mixed
4.5 Option for which themes to rotate
=====================================
[ Default value and behaviour changed as part of 5.0.0-dev. ]
Brief: Specify which themes to rotate through when using the command
Brief: Specify which themes to rotate through when using the command
modus-themes-rotate.
Symbol: modus-themes-to-rotate (list type)
@ -1465,9 +1463,7 @@ File: modus-themes.info, Node: Commands for the preview palette buffer, Up: Pr
5.1 Commands for the preview palette buffer
===========================================
[ This is part of 5.0.0-dev. ]
The palette preview buffer uses the major mode
The palette preview buffer uses the major mode
modus-themes-preview-mode, which provides the
modus-themes-preview-mode-map (*note Preview theme colors::). The
following key bindings are available by default:
@ -4317,10 +4313,7 @@ File: modus-themes.info, Node: Build on top of the Modus themes, Next: Face co
8 Build on top of the Modus themes
**********************************
[ Building on top of the Modus themes is made possible as part of
5.0.0-dev. ]
This section concerns package developers or advanced users.
This section concerns package developers or advanced users.
The Modus themes can be used as the basis for another theme. The
ef-themes and standard-themes packages (also by Protesilaos), are
@ -4677,7 +4670,7 @@ have lots of extensions, so the "full support" may not be 100% true…
• golden-ratio-scroll-screen
• helpful
• hexl-mode
• hideshow [ Part of 5.0.0-dev. ]
• hideshow
• highlight-numbers
• highlight-parentheses (*note Note on highlight-parentheses.el: Note
on highlight-parenthesesel.)
@ -6711,7 +6704,7 @@ B.1 Function index
* modus-themes-get-color-value: Get a single color from the palette with modus-themes-get-color-value.
(line 6)
* modus-themes-get-themes: Option for which themes to rotate.
(line 19)
(line 17)
* modus-themes-get-themes <1>: Determine what counts as a Modus theme.
(line 12)
* modus-themes-include-derivatives-mode: Determine what counts as a Modus theme.
@ -6725,28 +6718,28 @@ B.1 Function index
* modus-themes-preview-colors: Preview theme colors. (line 19)
* modus-themes-preview-colors-current: Preview theme colors. (line 19)
* modus-themes-preview-mode: Commands for the preview palette buffer.
(line 8)
(line 6)
* modus-themes-preview-mode-copy-color: Commands for the preview palette buffer.
(line 22)
(line 20)
* modus-themes-preview-mode-copy-entry: Commands for the preview palette buffer.
(line 29)
(line 27)
* modus-themes-preview-mode-mark: Commands for the preview palette buffer.
(line 36)
(line 34)
* modus-themes-preview-mode-mark-all: Commands for the preview palette buffer.
(line 36)
(line 34)
* modus-themes-preview-mode-unmark: Commands for the preview palette buffer.
(line 36)
(line 34)
* modus-themes-preview-mode-unmark-all: Commands for the preview palette buffer.
(line 36)
(line 34)
* modus-themes-rotate: Enable and load. (line 94)
* modus-themes-rotate <1>: Disable other themes. (line 15)
* modus-themes-rotate <2>: Option for which themes to rotate.
(line 8)
(line 6)
* modus-themes-select: Enable and load. (line 94)
* modus-themes-select <1>: Enable and load. (line 94)
* modus-themes-select <2>: Disable other themes. (line 15)
* modus-themes-theme: Build on top of the Modus themes.
(line 17)
(line 14)
* modus-themes-toggle: Enable and load. (line 94)
* modus-themes-toggle <1>: Disable other themes. (line 15)
* modus-themes-toggle <2>: Option for which themes to toggle.
@ -6783,14 +6776,14 @@ B.2 Variable index
* modus-themes-common-palette-user: Palette extension. (line 16)
* modus-themes-completions: Completion UIs. (line 6)
* modus-themes-custom-variables: Build on top of the Modus themes.
(line 62)
(line 59)
* modus-themes-disable-other-themes: Disable other themes. (line 6)
* modus-themes-faces: Build on top of the Modus themes.
(line 56)
(line 53)
* modus-themes-headings: Heading styles. (line 6)
* modus-themes-italic-constructs: Italic constructs. (line 6)
* modus-themes-items: Option for which themes to rotate.
(line 17)
(line 15)
* modus-themes-mixed-fonts: Mixed fonts. (line 6)
* modus-themes-org-blocks: Org mode blocks. (line 6)
* modus-themes-post-load-hook: Enable and load. (line 86)
@ -6803,12 +6796,12 @@ B.2 Variable index
* modus-themes-preset-overrides-warmer: DIY Palette override presets.
(line 29)
* modus-themes-preview-mode-map: Commands for the preview palette buffer.
(line 8)
(line 6)
* modus-themes-prompts: Command prompts. (line 6)
* modus-themes-registered-items: Build on top of the Modus themes.
(line 17)
(line 14)
* modus-themes-to-rotate: Option for which themes to rotate.
(line 11)
(line 9)
* modus-themes-to-toggle: Option for which themes to toggle.
(line 9)
* modus-themes-variable-pitch-ui: UI typeface. (line 6)
@ -6912,116 +6905,116 @@ Node: Bold constructs31245
Node: Italic constructs32117
Node: Option for which themes to toggle32945
Node: Option for which themes to rotate33708
Node: Mixed fonts34772
Node: Command prompts35826
Node: Completion UIs37667
Node: Org mode blocks40516
Node: Heading styles41159
Node: UI typeface45585
Node: Palette overrides46558
Node: Palette extension50915
Node: Preview theme colors53391
Node: Commands for the preview palette buffer55046
Node: Use colors from the Modus themes palette57160
Node: Get a single color from the palette with modus-themes-get-color-value58024
Node: Use theme colors in code with modus-themes-with-colors60385
Node: Advanced customization62639
Node: DIY Palette override presets64417
Node: DIY Add support for engrave-faces67251
Node: DIY Stylistic variants using palette overrides77234
Node: DIY Make the mode line borderless79293
Node: DIY Make the active mode line colorful80668
Node: DIY Make the tab bar more or less colorful82886
Node: DIY Make the fringe invisible or another color84823
Node: DIY Make links use subtle or no underlines86020
Node: DIY Make prompts more or less colorful87138
Node: DIY Make completion matches more or less colorful88461
Node: DIY Make comments yellow and strings green92020
Node: DIY Make code syntax use the old alt-syntax style93727
Node: DIY Make use of alternative styles for code syntax96840
Node: DIY Make matching parenthesis more or less intense100302
Node: DIY Make box buttons more or less gray101674
Node: DIY Make TODO and DONE more or less intense102687
Node: DIY Make headings more or less colorful104188
Node: DIY Make Org block colors more or less colorful106305
Node: DIY Make Org agenda more or less colorful110677
Node: DIY Make inline code in prose use alternative styles113852
Node: DIY Make mail citations and headers more or less colorful116092
Node: DIY Make the region preserve text colors plus other styles118492
Node: DIY Make mouse highlights more or less colorful120048
Node: DIY Make language underlines less colorful121061
Node: DIY Make line numbers use alternative styles122213
Node: DIY Make diffs use only a foreground123856
Node: DIY Make deuteranopia diffs red and blue instead of yellow and blue126743
Node: DIY More accurate colors in terminal emulators129215
Node: DIY Range of color with terminal emulators130523
Node: DIY Per-theme customization settings133310
Node: DIY Do not extend the region background134743
Node: DIY Add padding to the mode line135541
Node: DIY Remap face with local value138469
Node: DIY Font configurations for Org and others141008
Ref: DIY Font configurations for Org and others-Footnote-1143991
Node: DIY Configure bold and italic faces144178
Node: DIY Custom Org todo keyword and priority faces148800
Node: DIY Custom Org emphasis faces152541
Node: DIY Use colored Org source blocks per language157418
Node: DIY Measure color contrast162058
Node: DIY Load theme depending on time of day164775
Node: DIY Backdrop for pdf-tools165803
Node: DIY Toggle themes without reloading them168964
Node: DIY Use more spacious margins or padding in Emacs frames170273
Node: DIY Custom hl-todo colors174510
Node: DIY Add support for solaire-mode176327
Node: DIY Add support for meow-mode179419
Node: DIY Add support for combobulate181229
Node: DIY Use a hook at the post-load-theme phase184852
Node: DIY A theme-agnostic hook for theme loading186973
Node: Build on top of the Modus themes189604
Node: Determine what counts as a Modus theme195108
Node: Create convenience commands to load a derivative theme198300
Node: Face coverage200352
Node: Supported packages200814
Node: Indirectly covered packages206654
Node: Notes on individual packages208010
Node: Note on calendarel weekday and weekend colors209112
Node: Note on git-gutter in Doom Emacs210262
Node: Note on php-mode multiline comments212764
Node: Note on underlines in compilation buffers213526
Node: Note on inline Latex in Org buffers214400
Node: Note on dimmerel215012
Node: Note on display-fill-column-indicator-mode216499
Node: Note on highlight-parenthesesel217952
Node: Note on mmm-modeel background colors224031
Node: Note for prism226385
Node: Note on company-mode overlay pop-up229599
Ref: Note on company-mode overlay pop-up-Footnote-1230329
Ref: Note on company-mode overlay pop-up-Footnote-2230396
Node: Note on ERC escaped color sequences230451
Ref: Note on ERC escaped color sequences-Footnote-1231881
Node: Note on powerline or spaceline231991
Node: Note on SHR colors232407
Node: Note on SHR fonts232829
Node: Note on Ement colors and fonts233518
Node: Note on pdf-tools link hints235024
Node: Note on the Notmuch logo237482
Node: Note on goto-address-mode faces238016
Node: Frequently Asked Questions239136
Node: Is the contrast ratio about adjacent colors?239767
Node: What does it mean to avoid exaggerations?241276
Node: Why are colors mostly variants of blue magenta cyan?243126
Node: What is the best setup for legibility?247460
Node: Are these color schemes?250102
Node: Port the Modus themes to other platforms?253756
Node: Contributing256590
Node: Sources of the themes256989
Node: Issues you can help with257885
Node: Patches require copyright assignment to the FSF259277
Node: Acknowledgements261499
Node: GNU Free Documentation License266019
Node: Indices291182
Node: Function index291361
Node: Variable index295556
Node: Concept index299919
Node: Mixed fonts34705
Node: Command prompts35759
Node: Completion UIs37600
Node: Org mode blocks40449
Node: Heading styles41092
Node: UI typeface45518
Node: Palette overrides46491
Node: Palette extension50848
Node: Preview theme colors53324
Node: Commands for the preview palette buffer54979
Node: Use colors from the Modus themes palette57057
Node: Get a single color from the palette with modus-themes-get-color-value57921
Node: Use theme colors in code with modus-themes-with-colors60282
Node: Advanced customization62536
Node: DIY Palette override presets64314
Node: DIY Add support for engrave-faces67148
Node: DIY Stylistic variants using palette overrides77131
Node: DIY Make the mode line borderless79190
Node: DIY Make the active mode line colorful80565
Node: DIY Make the tab bar more or less colorful82783
Node: DIY Make the fringe invisible or another color84720
Node: DIY Make links use subtle or no underlines85917
Node: DIY Make prompts more or less colorful87035
Node: DIY Make completion matches more or less colorful88358
Node: DIY Make comments yellow and strings green91917
Node: DIY Make code syntax use the old alt-syntax style93624
Node: DIY Make use of alternative styles for code syntax96737
Node: DIY Make matching parenthesis more or less intense100199
Node: DIY Make box buttons more or less gray101571
Node: DIY Make TODO and DONE more or less intense102584
Node: DIY Make headings more or less colorful104085
Node: DIY Make Org block colors more or less colorful106202
Node: DIY Make Org agenda more or less colorful110574
Node: DIY Make inline code in prose use alternative styles113749
Node: DIY Make mail citations and headers more or less colorful115989
Node: DIY Make the region preserve text colors plus other styles118389
Node: DIY Make mouse highlights more or less colorful119945
Node: DIY Make language underlines less colorful120958
Node: DIY Make line numbers use alternative styles122110
Node: DIY Make diffs use only a foreground123753
Node: DIY Make deuteranopia diffs red and blue instead of yellow and blue126640
Node: DIY More accurate colors in terminal emulators129112
Node: DIY Range of color with terminal emulators130420
Node: DIY Per-theme customization settings133207
Node: DIY Do not extend the region background134640
Node: DIY Add padding to the mode line135438
Node: DIY Remap face with local value138366
Node: DIY Font configurations for Org and others140905
Ref: DIY Font configurations for Org and others-Footnote-1143888
Node: DIY Configure bold and italic faces144075
Node: DIY Custom Org todo keyword and priority faces148697
Node: DIY Custom Org emphasis faces152438
Node: DIY Use colored Org source blocks per language157315
Node: DIY Measure color contrast161955
Node: DIY Load theme depending on time of day164672
Node: DIY Backdrop for pdf-tools165700
Node: DIY Toggle themes without reloading them168861
Node: DIY Use more spacious margins or padding in Emacs frames170170
Node: DIY Custom hl-todo colors174407
Node: DIY Add support for solaire-mode176224
Node: DIY Add support for meow-mode179316
Node: DIY Add support for combobulate181126
Node: DIY Use a hook at the post-load-theme phase184749
Node: DIY A theme-agnostic hook for theme loading186870
Node: Build on top of the Modus themes189501
Node: Determine what counts as a Modus theme194921
Node: Create convenience commands to load a derivative theme198113
Node: Face coverage200165
Node: Supported packages200627
Node: Indirectly covered packages206443
Node: Notes on individual packages207799
Node: Note on calendarel weekday and weekend colors208901
Node: Note on git-gutter in Doom Emacs210051
Node: Note on php-mode multiline comments212553
Node: Note on underlines in compilation buffers213315
Node: Note on inline Latex in Org buffers214189
Node: Note on dimmerel214801
Node: Note on display-fill-column-indicator-mode216288
Node: Note on highlight-parenthesesel217741
Node: Note on mmm-modeel background colors223820
Node: Note for prism226174
Node: Note on company-mode overlay pop-up229388
Ref: Note on company-mode overlay pop-up-Footnote-1230118
Ref: Note on company-mode overlay pop-up-Footnote-2230185
Node: Note on ERC escaped color sequences230240
Ref: Note on ERC escaped color sequences-Footnote-1231670
Node: Note on powerline or spaceline231780
Node: Note on SHR colors232196
Node: Note on SHR fonts232618
Node: Note on Ement colors and fonts233307
Node: Note on pdf-tools link hints234813
Node: Note on the Notmuch logo237271
Node: Note on goto-address-mode faces237805
Node: Frequently Asked Questions238925
Node: Is the contrast ratio about adjacent colors?239556
Node: What does it mean to avoid exaggerations?241065
Node: Why are colors mostly variants of blue magenta cyan?242915
Node: What is the best setup for legibility?247249
Node: Are these color schemes?249891
Node: Port the Modus themes to other platforms?253545
Node: Contributing256379
Node: Sources of the themes256778
Node: Issues you can help with257674
Node: Patches require copyright assignment to the FSF259066
Node: Acknowledgements261288
Node: GNU Free Documentation License265808
Node: Indices290971
Node: Function index291150
Node: Variable index295345
Node: Concept index299708

End Tag Table

View file

@ -4,9 +4,9 @@
#+language: en
#+options: ':t toc:nil author:t email:t num:t
#+startup: content
#+macro: stable-version 4.8.0
#+macro: release-date 2025-06-11
#+macro: development-version 5.0.0-dev
#+macro: stable-version 5.0.0
#+macro: release-date 2025-11-01
#+macro: development-version 5.1.0-dev
#+macro: file @@texinfo:@file{@@$1@@texinfo:}@@
#+macro: space @@texinfo:@: @@
#+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@
@ -698,8 +698,6 @@ Possible values:
:CUSTOM_ID: h:a10c0202-3683-4fad-9897-433c25e255f6
:END:
[ Default value and behaviour changed as part of {{{development-version}}}. ]
#+findex: modus-themes-rotate
Brief: Specify which themes to rotate through when using the command
~modus-themes-rotate~.
@ -1311,8 +1309,6 @@ the palette (named colors as well as semantic color mappings) and
:CUSTOM_ID: h:4952cd81-8a9a-4a4e-9867-3e63b9ef2f7e
:END:
[ This is part of {{{development-version}}}. ]
#+findex: modus-themes-preview-mode
#+vindex: modus-themes-preview-mode-map
The palette preview buffer uses the major mode ~modus-themes-preview-mode~,
@ -4163,8 +4159,6 @@ need to (provided they understand the implications).
:CUSTOM_ID: h:86eb375b-9be4-43ce-879a-0686a524a63b
:END:
[ Building on top of the Modus themes is made possible as part of {{{development-version}}}. ]
This section concerns package developers or advanced users.
The Modus themes can be used as the basis for another theme. The
@ -4521,7 +4515,7 @@ have lots of extensions, so the "full support" may not be 100% true…
+ golden-ratio-scroll-screen
+ helpful
+ hexl-mode
+ hideshow [ Part of {{{development-version}}}. ]
+ hideshow
+ highlight-numbers
+ highlight-parentheses ([[#h:24bab397-dcb2-421d-aa6e-ec5bd622b913][Note on highlight-parentheses.el]])
+ highlight-thing

View file

@ -5,7 +5,7 @@
;; Author: Protesilaos Stavrou <info@protesilaos.com>
;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
;; URL: https://github.com/protesilaos/modus-themes
;; Version: 4.8.1
;; Version: 5.0.0
;; Package-Requires: ((emacs "28.1"))
;; Keywords: faces, theme, accessibility