Update modus-themes to version 1.6.0

* doc/misc/modus-themes.org (Customization Options): Document new user
options in code sample.
(Option for inhibiting theme reload): Remove trailing space.
(Option for mode line presentation): Include new possible value.
(Option for Org agenda constructs): Include new symbols for the
'modus-themes-org-agenda' alist.
(Control the scale of headings): Document 'modus-themes-scale-small'.
(Override color saturation (DIY)): Fix markup for proper texi output.
(Custom Org user faces (DIY)): Update code samples.
(Full support for packages or face groups): Note names of newly
supported packages or face groups.
(Indirectly covered packages): Document indirectly supported packages.
(Note on highlight-parentheses.el): Provide detailed instructions on
how to use 'highlight-parentheses' with the Modus themes.
(Note on prism.el): Refine code samples.
(What is the best setup for legibility?): Minor rewording.
(Sources of the themes): Mention only Emacs28 without explaining that
it is the development target---in preparation of the emacs-28 branch
cut.
(Acknowledgements): Name new contributors to code/ideas.  Stephen
Gildea's patch was a couple lines long.  The others have assigned
copyright to the FSF.
(Meta): Include another link to the development notes of the themes
about 'modus-themes-org-agenda'.

* etc/themes/modus-operandi-theme.el,
  etc/themes/modus-vivendi-theme.el: Bump file version.

* etc/themes/modus-themes.el (modus-themes-operandi-colors)
(modus-themes-vivendi-colors): Recalibrate some colour values and add
a few new ones.
(modus-themes-slanted-constructs): Remove obsolete user option.
Superseded by the alias 'modus-themes-italic-constructs'.
(modus-themes-org-agenda, modus-themes-mode-line): Update user option.
(modus-themes-scale-headings, modus-themes-scale-4): Update doc
string.
(modus-themes-scale-5): Remove obsolete user option.  Superseded by
the alias 'modus-themes-scale-title'.
(modus-themes-scale-small, modus-themes-tabs-accented): Add new user
option.
(modus-themes--agenda-date, modus-themes--mode-line-attrs)
(modus-themes--tab): Update internal functions.
(modus-themes-faces): Update variousface attributes.

Detailed change log here:
<https://protesilaos.com/codelog/2021-09-29-modus-themes-1-6-0/>.
This commit is contained in:
Protesilaos Stavrou 2021-09-29 11:40:32 +03:00 committed by Stefan Kangas
parent 1a0f4b3f23
commit 7c79eea51d
4 changed files with 619 additions and 222 deletions

View file

@ -5,9 +5,9 @@
#+options: ':t toc:nil author:t email:t num:t
#+startup: content
#+macro: stable-version 1.5.0
#+macro: release-date 2021-07-15
#+macro: development-version 1.6.0-dev
#+macro: stable-version 1.6.0
#+macro: release-date 2021-09-29
#+macro: development-version 1.7.0-dev
#+macro: file @@texinfo:@file{@@$1@@texinfo:}@@
#+macro: space @@texinfo:@: @@
#+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@
@ -383,6 +383,7 @@ this manual.
modus-themes-no-mixed-fonts nil
modus-themes-subtle-line-numbers nil
modus-themes-success-deuteranopia t
modus-themes-tabs-accented t
modus-themes-inhibit-reload t ; only applies to `customize-set-variable' and related
modus-themes-fringes nil ; {nil,'subtle,'intense}
@ -395,9 +396,8 @@ this manual.
;; Options for `modus-themes-mode-line' are either nil, or a list
;; that can combine any of `3d' OR `moody', `borderless',
;; `accented'. The variable's doc string shows all possible
;; combinations.
modus-themes-mode-line '(3d accented)
;; `accented', `padded'.
modus-themes-mode-line '(padded accented borderless)
;; Options for `modus-themes-syntax' are either nil (the default),
;; or a list of properties that may include any of those symbols:
@ -443,6 +443,7 @@ this manual.
modus-themes-org-agenda ; this is an alist: read the manual or its doc string
'((header-block . (variable-pitch scale-title))
(header-date . (grayscale workaholic bold-today))
(event . (accented scale-small))
(scheduled . uniform)
(habit . traffic-light-deuteranopia))
@ -473,7 +474,7 @@ Symbol: ~modus-themes-inhibit-reload~
Possible values:
1. ~nil~
1. ~nil~
2. ~t~ (default)
By default, customizing a theme-related user option through the Custom
@ -803,6 +804,7 @@ effect, color, and border visibility:
- ~moody~
+ ~accented~
+ ~borderless~
+ ~padded~
The default (a nil value or an empty list) is a two-dimensional
rectangle with a border around it. The active and the inactive
@ -829,6 +831,13 @@ the same as the background, effectively creating some padding.
The ~accented~ property ensures that the active mode line uses a
colored background instead of the standard shade of gray.
The ~padded~ property increases the apparent height of the mode line.
This is done by applying box effects and combining them with an
underline and overline. To ensure that the underline is placed at the
bottom, set ~x-underline-at-descent-line~ to non-nil. The ~padded~ property
has no effect when the ~moody~ property is also used, because Moody
already applies its own padding.
Combinations of any of those properties are expressed as a list,
like in these examples:
@ -843,7 +852,7 @@ The order in which the properties are set is not significant.
In user configuration files the form may look like this:
#+begin_src emacs-lisp
(setq modus-themes-prompts '(borderless accented))
(setq modus-themes-mode-line '(borderless accented))
#+end_src
Note that Moody does not expose any faces that the themes could style
@ -868,6 +877,27 @@ Furthermore, because Moody expects an underline and overline instead of
a box style, it is advised to set ~x-underline-at-descent-line~ to a
non-nil value.
** Option for accented background in tab interfaces
:properties:
:alt_title: Tab style
:description: Toggle accented background for tabs
:custom_id: h:27cef8f5-dc4e-4c93-ba41-b899e650d936
:end:
#+vindex: modus-themes-tabs-accented
Symbol: ~modus-themes-tabs-accented~
Possible values:
+ ~nil~ (default)
+ ~t~
By default, all tab interfaces use backgrounds which are shades of gray.
When this option is set to non-nil, the backgrounds become colorful.
This affects the built-in ~tab-bar-mode~ and ~tab-line-mode~, as well as the
Centaur tabs package.
** Option for completion framework aesthetics
:properties:
:alt_title: Completion UIs
@ -1305,6 +1335,7 @@ all possible combinations:
(setq modus-themes-org-agenda
'((header-block . (variable-pitch scale-title))
(header-date . (grayscale workaholic bold-today))
(event . (accented scale-small))
(scheduled . uniform)
(habit . traffic-light)))
#+end_src
@ -1346,6 +1377,11 @@ the following properties:
- ~bold-today~ to apply a bold typographic weight to the current
date;
- ~bold-all~ to render all date headings in a bold weight.
- ~scale-heading~ increases the height of the date headings to the value
of ~modus-themes-scale-1~ (which is the first step in the scale for
regular headings).
- ~underline-today~ applies an underline to the current date while
removing the background it has by default.
For example:
@ -1355,6 +1391,31 @@ For example:
(header-date . (grayscale bold-all))
(header-date . (grayscale workaholic))
(header-date . (grayscale workaholic bold-today))
(header-date . (grayscale workaholic bold-today scale-heading))
#+end_src
An ~event~ key covers events from the diary and other entries that derive
from a symbolic expression or sexp (e.g. phases of the moon, holidays).
This key accepts a list of values. By default (a nil value or an empty
list) those have a gray foreground, while sexp events are additionally
presented using slanted text (italics). The properties that can form a
list of possible values are:
- ~scale-small~ reduces the height of the entries to the value of the user
option ~modus-themes-scale-small~ (0.9 the height of the main font size
by default).
- ~accented~ applies an accent value to the event's foreground, replacing
the original gray.
- ~italic~ adds a slant to the font's forms (italic or oblique forms,
depending on the typeface).
For example:
#+begin_src emacs-lisp
(event . nil)
(event . (scale-small))
(event . (scale-small accented))
(event . (scale-small accented italic))
#+end_src
A ~scheduled~ key applies to tasks with a scheduled date. By default (a
@ -1416,6 +1477,7 @@ Putting it all together, the alist can look like this:
#+begin_src emacs-lisp
'((header-block . (scale-title variable-pitch))
(header-date . (grayscale workaholic bold-today))
(event . (accented scale-small))
(scheduled . uniform)
(habit . traffic-light))
@ -1423,6 +1485,7 @@ Putting it all together, the alist can look like this:
(setq modus-themes-org-agenda
'((header-block . (scale-title variable-pitch))
(header-date . (grayscale workaholic bold-today))
(event . (accented scale-small))
(scheduled . uniform)
(habit . traffic-light)))
#+end_src
@ -1574,7 +1637,8 @@ resource for finding a consistent scale:
modus-themes-scale-2 1.1
modus-themes-scale-3 1.15
modus-themes-scale-4 1.2
modus-themes-scale-title 1.3)
modus-themes-scale-title 1.3
modus-themes-scale-small 0.9)
#+end_src
As for the application of that scale, the variables that range from
@ -1593,6 +1657,11 @@ supposed to signify the primary header. Similarly, the Org Agenda's
structure headings are not part of a recognisable scale and so they also
get ~modus-themes-scale-title~ ([[#h:68f481bc-5904-4725-a3e6-d7ecfa7c3dbc][Option for Org agenda constructs]]).
Similarly ~modus-themes-scale-small~ is not applied to regular headings,
but reserved for special contexts where the user is presented with an
option to use a smaller font height than the base size. It is only
implemented for the Org agenda.
Users who wish to maintain scaled headings for the normal syntax while
preventing special headings from standing out, can assign a value of =1.0=
to ~modus-themes-scale-title~ to make it the same as body text (or
@ -2321,8 +2390,8 @@ Using the above has an immediate effect, as it reloads the active Modus
theme.
The =my-modus-themes-saturate= function stores new color values in the
variables =modus-themes-operandi-color-overrides= and
=modus-themes-vivendi-color-overrides=, meaning that it undoes changes
variables ~modus-themes-operandi-color-overrides~ and
~modus-themes-vivendi-color-overrides~, meaning that it undoes changes
implemented by the user on individual colors. To have both automatic
saturation adjustment across the board and retain per-case edits to the
palette, some tweaks to the above function are required. For example:
@ -2574,9 +2643,9 @@ two):
#+begin_src emacs-lisp
(setq org-todo-keyword-faces
'(("MEET" . '(font-lock-preprocessor-face org-todo))
("STUDY" . '(font-lock-variable-name-face org-todo))
("WRITE" . '(font-lock-type-face org-todo))))
'(("MEET" . '(bold org-todo))
("STUDY" . '(warning org-todo))
("WRITE" . '(shadow org-todo))))
#+end_src
This will refashion the keywords you specify, while letting the other
@ -2607,7 +2676,7 @@ configuration of the priority cookies:
#+begin_src emacs-lisp
(setq org-priority-faces
'((?A . '(org-scheduled-today org-priority))
'((?A . '(bold org-priority))
(?B . org-priority)
(?C . '(shadow org-priority))))
#+end_src
@ -2904,6 +2973,7 @@ have lots of extensions, so the "full support" may not be 100% true…
+ alert
+ all-the-icons
+ annotate
+ ansi-color
+ anzu
+ apropos
+ apt-sources-list
@ -2943,6 +3013,7 @@ have lots of extensions, so the "full support" may not be 100% true…
+ css-mode
+ csv-mode
+ ctrlf
+ cursor-flash
+ custom (what you get with {{{kbd(M-x customize)}}})
+ dap-mode
+ dashboard (emacs-dashboard)
@ -2977,6 +3048,7 @@ have lots of extensions, so the "full support" may not be 100% true…
+ eldoc-box
+ elfeed
+ elfeed-score
+ elpher
+ embark
+ emms
+ enh-ruby-mode (enhanced-ruby-mode)
@ -3033,6 +3105,7 @@ have lots of extensions, so the "full support" may not be 100% true…
+ highlight-escape-sequences (~hes-mode~)
+ highlight-indentation
+ highlight-numbers
+ highlight-parentheses ([[#h:24bab397-dcb2-421d-aa6e-ec5bd622b913][Note on highlight-parentheses.el]])
+ highlight-symbol
+ highlight-tail
+ highlight-thing
@ -3225,6 +3298,7 @@ These do not require any extra styles because they are configured to
inherit from some basic faces or their dependencies which are directly
supported by the themes.
+ bufler
+ counsel-notmuch
+ edit-indirect
+ evil-owl
@ -3234,8 +3308,13 @@ supported by the themes.
+ perl-mode
+ php-mode
+ rjsx-mode
+ side-hustle
+ swift-mode
+ tab-bar-echo-area
+ tide
+ vertico-indexed
+ vertico-mouse
+ vertico-quick
* Notes on individual packages
:properties:
@ -3415,6 +3494,135 @@ and have the foreground be indistinguishable from it. For example:
[[#h:51ba3547-b8c8-40d6-ba5a-4586477fd4ae][Face specs at scale using the themes' palette]].
** Note on highlight-parentheses.el
:PROPERTIES:
:CUSTOM_ID: h:24bab397-dcb2-421d-aa6e-ec5bd622b913
:END:
The =highlight-parentheses= package provides contextual coloration of
surrounding parentheses, highlighting only those which are around the
point. The package expects users to customize the applicable colors on
their own by configuring certain variables.
To make the Modus themes work as expected with this, we need to use some
of the techniques that are discussed at length in the various
"Do-It-Yourself" (DIY) sections, which provide insight into the more
advanced customization options of the themes.
[[#h:f4651d55-8c07-46aa-b52b-bed1e53463bb][Advanced customization (do-it-yourself)]].
In the following example, we are assuming that the user wants to (i)
re-use color variables provided by the themes, (ii) be able to retain
their tweaks while switching between ~modus-operandi~ and ~modus-vivendi~,
and (iii) have the option to highlight either the foreground of the
parentheses or the background as well.
We start by defining our own variable, which will serve as a toggle
between foreground and background coloration styles:
#+begin_src emacs-lisp
(defvar my-highlight-parentheses-use-background t
"Prefer `highlight-parentheses-background-colors'.")
#+end_src
Then we can update our preference with this:
#+begin_src emacs-lisp
;; Set to nil to disable backgrounds.
(setq my-highlight-parentheses-use-background nil)
#+end_src
To re-use colors from the themes, we must wrap our code in the
~modus-themes-with-colors~ macro. Our implementation must interface with
the variables ~highlight-parentheses-background-colors~ and/or
~highlight-parentheses-colors~.
So we can have something like this (the doc string of
~modus-themes-with-colors~ explains where the names of the colors can be
found):
#+begin_src emacs-lisp
(modus-themes-with-colors
;; Our preference for setting either background or foreground
;; styles, depending on `my-highlight-parentheses-use-background'.
(if my-highlight-parentheses-use-background
;; Here we set color combinations that involve both a background
;; and a foreground value.
(setq highlight-parentheses-background-colors (list cyan-refine-bg
magenta-refine-bg
green-refine-bg
yellow-refine-bg)
highlight-parentheses-colors (list cyan-refine-fg
magenta-refine-fg
green-refine-fg
yellow-refine-fg))
;; And here we pass only foreground colors while disabling any
;; backgrounds.
(setq highlight-parentheses-colors (list green-intense
magenta-intense
blue-intense
red-intense)
highlight-parentheses-background-colors nil)))
;; Include this if you also want to make the parentheses bold:
(set-face-attribute 'highlight-parentheses-highlight nil :inherit 'bold)
;; Our changes must be evaluated before enabling the relevant mode, so
;; this comes last.
(global-highlight-parentheses-mode 1)
#+end_src
For our changes to persist while switching between the Modus themes, we
need to include them in a function which can then get passed to
~modus-themes-after-load-theme-hook~. This is the complete
implementation:
#+begin_src emacs-lisp
;; Configurations for `highlight-parentheses':
(require 'highlight-parentheses)
(defvar my-highlight-parentheses-use-background t
"Prefer `highlight-parentheses-background-colors'.")
(setq my-highlight-parentheses-use-background nil) ; Set to nil to disable backgrounds
(defun my-modus-themes-highlight-parentheses ()
(modus-themes-with-colors
;; Our preference for setting either background or foreground
;; styles, depending on `my-highlight-parentheses-use-background'.
(if my-highlight-parentheses-use-background
;; Here we set color combinations that involve both a background
;; and a foreground value.
(setq highlight-parentheses-background-colors (list cyan-refine-bg
magenta-refine-bg
green-refine-bg
yellow-refine-bg)
highlight-parentheses-colors (list cyan-refine-fg
magenta-refine-fg
green-refine-fg
yellow-refine-fg))
;; And here we pass only foreground colors while disabling any
;; backgrounds.
(setq highlight-parentheses-colors (list green-intense
magenta-intense
blue-intense
red-intense)
highlight-parentheses-background-colors nil)))
;; Include this if you also want to make the parentheses bold:
(set-face-attribute 'highlight-parentheses-highlight nil :inherit 'bold)
;; Our changes must be evaluated before enabling the relevant mode, so
;; this comes last.
(global-highlight-parentheses-mode 1))
(add-hook 'modus-themes-after-load-theme-hook #'my-modus-themes-highlight-parentheses)
#+end_src
** Note on mmm-mode.el background colors
:properties:
:custom_id: h:99cf0d6c-e478-4e26-9932-3bf3427d13f6
@ -3520,7 +3728,7 @@ With 8 colors:
:desaturations '(0) ; do not change---may lower the contrast ratio
:lightens '(0) ; same
:colors (modus-themes-with-colors
(list fg-special-cold
(list blue
magenta
magenta-alt-other
cyan-alt-other
@ -3540,10 +3748,10 @@ to the themes' default aesthetic:
:desaturations '(0) ; do not change---may lower the contrast ratio
:lightens '(0) ; same
:colors (modus-themes-with-colors
(list fg-main
cyan-alt-other
(list blue
magenta
magenta-alt-other
magenta)))
green-alt)))
#+end_src
If you need to apply desaturation and lightening, you can use what the
@ -3958,7 +4166,7 @@ latter case.
~modus-operandi~ is best used outdoors or in a room that either gets
direct sunlight or has plenty of light. Whereas ~modus-vivendi~ works
better when there is not a lot of sunshine or the room has a source of
light, preferably a faint or warm one. It is possible to use
light that is preferably a faint and/or warm one. It is possible to use
~modus-operandi~ at night and ~modus-vivendi~ during the day, though that
will depend on several variables, such as one's overall perception of
color, the paint on the walls and how that contributes to the impression
@ -4005,9 +4213,7 @@ in which you can contribute to their ongoing development.
:end:
#+cindex: Sources of the themes
The ~modus-operandi~ and ~modus-vivendi~ themes are built into Emacs.
Currently they are in Emacs' git main branch (trunk), which is tracking
the next development release target.
The ~modus-operandi~ and ~modus-vivendi~ themes are built into Emacs 28.
The source code of the themes is [[https://gitlab.com/protesilaos/modus-themes/][available on Gitlab]], for the time
being. A [[https://github.com/protesilaos/modus-themes/][mirror on Github]] is also on offer.
@ -4118,31 +4324,31 @@ The Modus themes are a collective effort. Every bit of work matters.
+ Contributions to code or documentation :: Anders Johansson, Basil
L.{{{space()}}} Contovounesios, Carlo Zancanaro, Eli Zaretskii, Fritz Grabo,
Kostadin Ninev, Madhavan Krishnan, Markus Beppler, Matthew Stevenson,
Mauro Aranda, Nicolas De Jaeghere, Philip Kaludercic, Rudolf
Adamkovič, Shreyas Ragavan, Stefan Kangas, Vincent Murphy, Xinglu
Chen.
Kévin Le Gouguec, Kostadin Ninev, Madhavan Krishnan, Markus Beppler,
Matthew Stevenson, Mauro Aranda, Nicolas De Jaeghere, Philip
Kaludercic, Rudolf Adamkovič, Stephen Gildea, Shreyas Ragavan, Stefan
Kangas, Vincent Murphy, Xinglu Chen.
+ Ideas and user feedback :: Aaron Jensen, Adam Spiers, Adrian Manea,
Alex Griffin, Alex Peitsinis, Alexey Shmalko, Alok Singh, Anders
Johansson, André Alexandre Gomes, Arif Rezai, Basil L.{{{space()}}}
Contovounesios, Burgess Chang, Christian Tietze, Christopher Dimech,
Damien Cassou, Daniel Mendler, Dario Gjorgjevski, David Edmondson,
Davor Rotim, Divan Santana, Emanuele Michele Alberto Monterosso,
Farasha Euker, Gautier Ponsinet, Gerry Agbobada, Gianluca Recchia,
Gustavo Barros, Hörmetjan Yiltiz, Ilja Kocken, Iris Garcia, Jeremy
Friesen, Jerry Zhang, John Haman, Joshua O'Connor, Kevin Fleming,
Kévin Le Gouguec, Kostadin Ninev, Len Trigg, Manuel Uberti, Mark
Burton, Markus Beppler, Mauro Aranda, Michael Goldenberg, Morgan
Smith, Murilo Pereira, Nicky van Foreest, Nicolas De Jaeghere, Paul
Poloskov, Pengji Zhang, Pete Kazmier, Peter Wu, Philip Kaludercic,
Pierre Téchoueyres, Roman Rudakov, Ryan Phillips, Rudolf Adamkovič,
Sam Kleinman, Shreyas Ragavan, Simon Pugnet, Tassilo Horn, Thibaut
Verron, Thomas Heartman, Trey Merkley, Togan Muftuoglu, Toon Claes,
Uri Sharf, Utkarsh Singh, Vincent Foley. As well as users: Ben,
CsBigDataHub1, Emacs Contrib, Eugene, Fourchaux, Fredrik, Moesasji,
Nick, TheBlob42, Trey, bepolymathe, doolio, fleimgruber, iSeeU,
jixiuf, okamsn, pRot0ta1p.
+ Ideas and user feedback :: Aaron Jensen, Adam Porter, Adam Spiers,
Adrian Manea, Alex Griffin, Alex Peitsinis, Alexey Shmalko, Alok
Singh, Anders Johansson, André Alexandre Gomes, Arif Rezai, Basil
L.{{{space()}}} Contovounesios, Burgess Chang, Christian Tietze, Christopher
Dimech, Damien Cassou, Daniel Mendler, Dario Gjorgjevski, David
Edmondson, Davor Rotim, Divan Santana, Eliraz Kedmi, Emanuele Michele
Alberto Monterosso, Farasha Euker, Feng Shu, Gautier Ponsinet, Gerry
Agbobada, Gianluca Recchia, Gustavo Barros, Hörmetjan Yiltiz, Ilja
Kocken, Iris Garcia, Jeremy Friesen, Jerry Zhang, John Haman, Joshua
O'Connor, Kevin Fleming, Kévin Le Gouguec, Kostadin Ninev, Len Trigg,
Manuel Uberti, Mark Burton, Markus Beppler, Mauro Aranda, Michael
Goldenberg, Morgan Smith, Murilo Pereira, Nicky van Foreest, Nicolas
De Jaeghere, Paul Poloskov, Pengji Zhang, Pete Kazmier, Peter Wu,
Philip Kaludercic, Pierre Téchoueyres, Roman Rudakov, Ryan Phillips,
Rudolf Adamkovič, Sam Kleinman, Shreyas Ragavan, Simon Pugnet, Tassilo
Horn, Thibaut Verron, Thomas Heartman, Trey Merkley, Togan Muftuoglu,
Toon Claes, Uri Sharf, Utkarsh Singh, Vincent Foley. As well as
users: Ben, CsBigDataHub1, Emacs Contrib, Eugene, Fourchaux, Fredrik,
Moesasji, Nick, TheBlob42, Trey, bepolymathe, doolio, fleimgruber,
iSeeU, jixiuf, okamsn, pRot0ta1p.
+ Packaging :: Basil L.{{{space()}}} Contovounesios, Eli Zaretskii, Glenn
Morris, Mauro Aranda, Richard Stallman, Stefan Kangas (core Emacs),
@ -4178,6 +4384,7 @@ of this sort):
+ [[https://protesilaos.com/codelog/2020-12-27-modus-themes-review-rainbow-delimiters/][Modus themes: review rainbow-delimiters faces]] (2020-12-27)
+ [[https://protesilaos.com/codelog/2021-01-11-modus-themes-review-select-faint-colours/][Modus themes: review of select "faint" colours]] (2021-01-11)
+ [[https://protesilaos.com/codelog/2021-02-25-modus-themes-diffs-deuteranopia/][The Modus themes now cover deuteranopia in diffs]] (2021-02-25)
+ [[https://protesilaos.com/codelog/2021-06-02-modus-themes-org-agenda/][Introducing the variable modus-themes-org-agenda]] (2021-06-02)
And here are the canonical sources of this project's documentation:

View file

@ -4,7 +4,7 @@
;; Author: Protesilaos Stavrou <info@protesilaos.com>
;; URL: https://gitlab.com/protesilaos/modus-themes
;; Version: 1.5.0
;; Version: 1.6.0
;; Package-Requires: ((emacs "26.1"))
;; Keywords: faces, theme, accessibility

View file

@ -4,9 +4,9 @@
;; Author: Protesilaos Stavrou <info@protesilaos.com>
;; URL: https://gitlab.com/protesilaos/modus-themes
;; Version: 1.5.0
;; Last-Modified: <2021-07-15 13:21:55 +0300>
;; Package-Requires: ((emacs "26.1"))
;; Version: 1.6.0
;; Last-Modified: <2021-09-29 08:47:03 +0300>
;; Package-Requires: ((emacs "27.1"))
;; Keywords: faces, theme, accessibility
;; This file is part of GNU Emacs.
@ -35,30 +35,30 @@
;;
;; The themes share the following customization variables:
;;
;; modus-themes-headings (alist)
;; modus-themes-org-agenda (alist)
;; modus-themes-bold-constructs (boolean)
;; modus-themes-inhibit-reload (boolean)
;; modus-themes-italic-constructs (boolean)
;; modus-themes-bold-constructs (boolean)
;; modus-themes-variable-pitch-headings (boolean)
;; modus-themes-variable-pitch-ui (boolean)
;; modus-themes-no-mixed-fonts (boolean)
;; modus-themes-scale-headings (boolean)
;; modus-themes-subtle-line-numbers (boolean)
;; modus-themes-success-deuteranopia (boolean)
;; modus-themes-no-mixed-fonts (boolean)
;; modus-themes-headings (alist)
;; modus-themes-fringes (choice)
;; modus-themes-lang-checkers (choice)
;; modus-themes-org-agenda (alist)
;; modus-themes-org-blocks (choice)
;; modus-themes-prompts (choice)
;; modus-themes-mode-line (choice)
;; modus-themes-diffs (choice)
;; modus-themes-syntax (choice)
;; modus-themes-hl-line (choice)
;; modus-themes-paren-match (choice)
;; modus-themes-region (choice)
;; modus-themes-links (choice)
;; modus-themes-variable-pitch-headings (boolean)
;; modus-themes-variable-pitch-ui (boolean)
;; modus-themes-completions (choice)
;; modus-themes-diffs (choice)
;; modus-themes-fringes (choice)
;; modus-themes-hl-line (choice)
;; modus-themes-lang-checkers (choice)
;; modus-themes-links (choice)
;; modus-themes-mail-citations (choice)
;; modus-themes-mode-line (choice)
;; modus-themes-org-blocks (choice)
;; modus-themes-paren-match (choice)
;; modus-themes-prompts (choice)
;; modus-themes-region (choice)
;; modus-themes-syntax (choice)
;;
;; The default scale for headings is as follows (it can be customized as
;; well---remember, no scaling takes place by default):
@ -69,6 +69,11 @@
;; modus-themes-scale-4 1.2
;; modus-themes-scale-title 1.3
;;
;; There is another scaling-related option, which however is reserved
;; for special cases and is not used for headings:
;;
;; modus-themes-scale-small 0.9
;;
;; There also exist two unique customization variables for overriding
;; color palette values. The specifics are documented in the manual.
;; The symbols are:
@ -86,6 +91,7 @@
;; alert
;; all-the-icons
;; annotate
;; ansi-color
;; anzu
;; apropos
;; apt-sources-list
@ -125,6 +131,7 @@
;; css-mode
;; csv-mode
;; ctrlf
;; cursor-flash
;; custom (M-x customize)
;; dap-mode
;; dashboard (emacs-dashboard)
@ -160,6 +167,7 @@
;; eldoc-box
;; elfeed
;; elfeed-score
;; elpher
;; embark
;; emms
;; enh-ruby-mode (enhanced-ruby-mode)
@ -615,8 +623,10 @@ cover the blue-cyan-magenta side of the spectrum."
(bg-tab-bar . "#d5d5d5")
(bg-tab-active . "#f6f6f6")
(bg-tab-inactive . "#bdbdbd")
(bg-tab-inactive-alt . "#999999")
(bg-tab-inactive . "#b7b7b7")
(bg-tab-inactive-accent . "#a9b4f6")
(bg-tab-inactive-alt . "#9f9f9f")
(bg-tab-inactive-alt-accent . "#9fa6d0")
(red-tab . "#680000")
(green-tab . "#003900")
@ -858,8 +868,10 @@ symbol and the latter as a string.")
(bg-tab-bar . "#2c2c2c")
(bg-tab-active . "#0e0e0e")
(bg-tab-inactive . "#3d3d3d")
(bg-tab-inactive . "#424242")
(bg-tab-inactive-accent . "#35398f")
(bg-tab-inactive-alt . "#595959")
(bg-tab-inactive-alt-accent . "#505588")
(red-tab . "#ffc0bf")
(green-tab . "#88ef88")
@ -1724,16 +1736,6 @@ For form, see `modus-themes-vivendi-colors'."
(put 'modus-themes-vivendi-color-overrides
'custom-options (copy-sequence colors)))
(defcustom modus-themes-slanted-constructs nil
"Use slanted text in more code constructs (italics or oblique)."
:group 'modus-themes
:package-version '(modus-themes . "1.0.0")
:version "28.1"
:type 'boolean
:set #'modus-themes--set-option
:initialize #'custom-initialize-default
:link '(info-link "(modus-themes) Slanted constructs"))
(define-obsolete-variable-alias
'modus-themes-slanted-constructs
'modus-themes-italic-constructs
@ -1907,6 +1909,7 @@ combinations:
(setq modus-themes-org-agenda
'((header-block . (variable-pitch scale-title))
(header-date . (grayscale workaholic bold-today))
(event . (accented scale-small))
(scheduled . uniform)
(habit . traffic-light)))
@ -1945,6 +1948,11 @@ that can include any of the following properties:
- `bold-today' to apply a bold typographic weight to the current
date;
- `bold-all' to render all date headings in a bold weight.
- `scale-heading' increases the height of the date headings to
the value of `modus-themes-scale-1' (which is the first step in
the scale for regular headings).
- `underline-today' applies an underline to the current date
while removing the background it has by default.
For example:
@ -1953,6 +1961,28 @@ For example:
(header-date . (grayscale bold-all))
(header-date . (grayscale workaholic))
(header-date . (grayscale workaholic bold-today))
(header-date . (grayscale workaholic bold-today scale-heading))
An `event' key covers events from the diary and other entries
that derive from a symbolic expression or sexp (e.g. phases of
the moon, holidays). By default those have a gray
foreground (the default is a nil value or an empty list). This
key accepts a list of properties. Those are:
- `scale-small' reduces the height of the entries to the value of
the user option `modus-themes-scale-small' (0.9 the height of
the main font size by default).
- `accented' applies an accent value to the event's foreground,
replacing the original gray.
- `italic' adds a slant to the font's forms (italic or oblique
forms, depending on the typeface)
For example:
(event . nil)
(event . (scale-small))
(event . (scale-small accented))
(event . (scale-small accented italic))
A `scheduled' key applies to tasks with a scheduled date. By
default (a nil value), these use varying shades of yellow to
@ -2008,7 +2038,7 @@ For example:
(habit . simplified)
(habit . traffic-light)"
:group 'modus-themes
:package-version '(modus-themes . "1.5.0")
:package-version '(modus-themes . "1.6.0")
:version "28.1"
:type '(set
(cons :tag "Block header"
@ -2027,7 +2057,15 @@ For example:
(const :tag "Use grayscale for date headers" grayscale)
(const :tag "Do not differentiate weekdays from weekends" workaholic)
(const :tag "Make today bold" bold-today)
(const :tag "Make all dates bold" bold-all)))
(const :tag "Make all dates bold" bold-all)
(const :tag "Increase font size (`modus-themes-scale-1')" scale-heading)
(const :tag "Make today underlined; remove the background" underline-today)))
(cons :tag "Event entry" :greedy t
(const event)
(set :tag "Text presentation" :greedy t
(const :tag "Use smaller font size (`modus-themes-scale-small')" scale-small)
(const :tag "Apply an accent color" accented)
(const :tag "Italic font slant (oblique forms)" italic)))
(cons :tag "Scheduled tasks"
(const scheduled)
(choice (const :tag "Yellow colors to distinguish current and future tasks (default)" nil)
@ -2047,8 +2085,8 @@ For example:
"Use font scaling for headings.
For regular headings the scale is controlled by the variables
`modus-themes-scale-1' (smallest) and its variants all the way up
to `modus-themes-scale-4' (larger).
`modus-themes-scale-1' (smallest increase) and its variants all
the way up to `modus-themes-scale-4' (largest increase).
While `modus-themes-scale-title' is reserved for special headings
that nominally are the largest on the scale (though that is not a
@ -2149,31 +2187,6 @@ The default value is a floating point that is interpreted as a
multiple of the base font size. It is recommended to use such a
value.
However, the variable also accepts an integer, understood as an
absolute height that is 1/10 of the typeface's point size (e.g. a
value of 140 is the same as setting the font at 14 point size).
This will ignore the base font size and, thus, will not scale in
accordance with it in cases where it changes, such as while using
`text-scale-adjust'."
:group 'modus-themes
:package-version '(modus-themes . "1.2.0")
:version "28.1"
:type 'number
:set #'modus-themes--set-option
:initialize #'custom-initialize-default
:link '(info-link "(modus-themes) Scaled heading sizes"))
(defcustom modus-themes-scale-5 1.3
"Font size slightly larger than `modus-themes-scale-4'.
This size is only used for 'special' top level headings, such as
Org's file title heading, denoted by the #+title key word, and
the Org agenda structure headers.
The default value is a floating point that is interpreted as a
multiple of the base font size. It is recommended to use such a
value.
However, the variable also accepts an integer, understood as an
absolute height that is 1/10 of the typeface's point size (e.g. a
value of 140 is the same as setting the font at 14 point size).
@ -2215,6 +2228,31 @@ accordance with it in cases where it changes, such as while using
:initialize #'custom-initialize-default
:link '(info-link "(modus-themes) Scaled heading sizes"))
(defcustom modus-themes-scale-small 0.9
"Font size smaller than the default value.
This size is only used in special contexts where users are
presented with the option to have smaller text on display (see
`modus-themes-org-agenda').
The default value is a floating point that is interpreted as a
multiple of the base font size. It is recommended to use such a
value.
However, the variable also accepts an integer, understood as an
absolute height that is 1/10 of the typeface's point size (e.g. a
value of 140 is the same as setting the font at 14 point size).
This will ignore the base font size and, thus, will not scale in
accordance with it in cases where it changes, such as while using
`text-scale-adjust'."
:group 'modus-themes
:package-version '(modus-themes . "1.6.0")
:version "28.1"
:type 'number
:set #'modus-themes--set-option
:initialize #'custom-initialize-default
:link '(info-link "(modus-themes) Scaled heading sizes"))
(defcustom modus-themes-fringes nil
"Define the visibility of fringes.
@ -2404,6 +2442,14 @@ the same as the background, effectively creating some padding.
The `accented' property ensures that the active mode line uses a
colored background instead of the standard shade of gray.
The `padded' property increases the apparent height of the mode
line. This is done by applying box effects and combining them
with an underline and overline. To ensure that the underline is
placed at the bottom, set `x-underline-at-descent-line' to
non-nil. The `padded' property has no effect when the `moody'
property is also used, because Moody already applies its own
padding.
Combinations of any of those properties are expressed as a list,
like in these examples:
@ -2442,7 +2488,7 @@ Furthermore, because Moody expects an underline and overline
instead of a box style, it is advised to set
`x-underline-at-descent-line' to a non-nil value."
:group 'modus-themes
:package-version '(modus-themes . "1.5.0")
:package-version '(modus-themes . "1.6.0")
:version "28.1"
:type '(set :tag "Properties" :greedy t
(choice :tag "Overall style"
@ -2450,7 +2496,8 @@ instead of a box style, it is advised to set
(const :tag "3d borders" 3d)
(const :tag "No box effects (Moody-compatible)" moody))
(const :tag "Colored background" accented)
(const :tag "Without border color" borderless))
(const :tag "Without border color" borderless)
(const :tag "With extra padding" padded))
:set #'modus-themes--set-option
:initialize #'custom-initialize-default
:link '(info-link "(modus-themes) Mode line"))
@ -2905,6 +2952,18 @@ colored into a uniform shade of shade of gray."
:initialize #'custom-initialize-default
:link '(info-link "(modus-themes) Mail citations"))
(defcustom modus-themes-tabs-accented nil
"Toggle accented tab backgrounds, instead of the default gray.
This affects the built-in tab-bar mode and tab-line mode, as well
as the Centaur tabs package."
:group 'modus-themes
:package-version '(modus-themes . "1.6.0")
:version "28.1"
:type 'boolean
:set #'modus-themes--set-option
:initialize #'custom-initialize-default
:link '(info-link "(modus-themes) Tab style"))
;;; Internal functions
@ -3333,30 +3392,64 @@ FG is the foreground color to use."
:height height
:foreground fg)))
(defun modus-themes--agenda-date (defaultfg grayscalefg &optional bold workaholicfg grayscaleworkaholicfg)
(defun modus-themes--agenda-date (defaultfg grayscalefg &optional workaholicfg grayscaleworkaholicfg bg bold ul)
"Control the style of date headings in Org agenda buffers.
DEFAULTFG is the original accent color for the foreground.
GRAYSCALEFG is a neutral color. Optional BOLD applies a bold
weight. Optional WORKAHOLICFG and GRAYSCALEWORKAHOLICFG are
alternative foreground colors."
(let* ((properties (modus-themes--key-cdr 'header-date modus-themes-org-agenda))
(weight (cond ((memq 'bold-all properties)
'bold)
((and bold (memq 'bold-today properties))
'bold)
(t
nil)))
(fg (cond ((and (memq 'grayscale properties)
(memq 'workaholic properties))
(or grayscaleworkaholicfg grayscalefg))
((memq 'grayscale properties)
grayscalefg)
((memq 'workaholic properties)
(or workaholicfg defaultfg))
(t
defaultfg))))
(list :inherit weight
:foreground fg)))
GRAYSCALEFG is a neutral color. Optional WORKAHOLICFG and
GRAYSCALEWORKAHOLICFG are alternative foreground colors.
Optional BG is a background color. Optional BOLD applies a bold
weight. Optional UL applies an underline."
(let ((properties (modus-themes--key-cdr 'header-date modus-themes-org-agenda)))
(list :inherit
(cond
((or (memq 'bold-all properties)
(and bold (memq 'bold-today properties)))
'bold)
(t
'unspecified))
:background
(unless (memq 'underline-today properties)
bg)
:foreground
(cond
((and (memq 'grayscale properties)
(memq 'workaholic properties))
(or grayscaleworkaholicfg grayscalefg))
((memq 'grayscale properties)
grayscalefg)
((memq 'workaholic properties)
(or workaholicfg defaultfg))
(t
defaultfg))
:height
(if (memq 'scale-heading properties)
modus-themes-scale-1
'unspecified)
:underline
(if (and ul (memq 'underline-today properties))
t
'unspecified))))
(defun modus-themes--agenda-event (fg)
"Control the style of the Org agenda events.
FG is the accent color to use."
(let ((properties (modus-themes--key-cdr 'event modus-themes-org-agenda)))
(list :height
(if (memq 'scale-small properties)
modus-themes-scale-small
'unspecified)
:foreground
(if (memq 'accented properties)
fg
'unspecified)
:inherit
(cond
((and (memq 'accented properties)
(memq 'italic properties))
'italic)
((memq 'italic properties)
'(shadow italic))
('shadow)))))
(defun modus-themes--agenda-scheduled (defaultfg uniformfg rainbowfg)
"Control the style of the Org agenda scheduled tasks.
@ -3420,7 +3513,7 @@ set to `rainbow'."
(_ (list :background bg :foreground fg))))
(defun modus-themes--mode-line-attrs
(fg bg fg-alt bg-alt fg-accent bg-accent border border-3d &optional alt-style border-width fg-distant)
(fg bg fg-alt bg-alt fg-accent bg-accent border border-3d &optional alt-style fg-distant)
"Color combinations for `modus-themes-mode-line'.
FG and BG are the default colors. FG-ALT and BG-ALT are meant to
@ -3432,9 +3525,6 @@ three-dimensional effect, where BORDER-3D is used instead.
Optional ALT-STYLE applies an appropriate style to the mode
line's box property.
Optional BORDER-WIDTH specifies an integer for the width of the
rectangle that produces the box effect.
Optional FG-DISTANT should be close to the main background
values. It is intended to be used as a distant-foreground
property."
@ -3463,20 +3553,39 @@ property."
((cons fg bg))))
(box (cond ((memq 'moody modus-themes-mode-line)
nil)
((and (memq '3d modus-themes-mode-line)
(memq 'padded modus-themes-mode-line))
(list :line-width 4
:color
(cond ((and (memq 'accented modus-themes-mode-line)
(memq 'borderless modus-themes-mode-line))
bg-accent)
((or (memq 'accented modus-themes-mode-line)
(memq 'borderless modus-themes-mode-line))
bg)
(bg-alt))
:style (when alt-style 'released-button)))
((and (memq 'accented modus-themes-mode-line)
(memq 'padded modus-themes-mode-line))
(list :line-width 6 :color bg-accent))
((memq 'padded modus-themes-mode-line)
(list :line-width 6 :color bg))
((memq '3d modus-themes-mode-line)
(list :line-width (or border-width 1)
(list :line-width 1
:color
(cond ((and (memq 'accented modus-themes-mode-line)
(memq 'borderless modus-themes-mode-line))
bg-accent)
((memq 'borderless modus-themes-mode-line) bg)
(border-3d))
:style (and alt-style 'released-button)))
((or (memq 'borderless modus-themes-mode-line)
(memq 'moody modus-themes-mode-line))
:style (when alt-style 'released-button)))
((memq 'borderless modus-themes-mode-line)
bg)
((memq 'padded modus-themes-mode-line)
(list :line-width 6 :color bg))
(border)))
(line (cond ((not (memq 'moody modus-themes-mode-line))
(line (cond ((not (or (memq 'moody modus-themes-mode-line)
(memq 'padded modus-themes-mode-line)))
nil)
((and (memq 'borderless modus-themes-mode-line)
(memq 'accented modus-themes-mode-line))
@ -3490,8 +3599,8 @@ property."
:overline line
:underline line
:distant-foreground
(and (memq 'moody modus-themes-mode-line)
fg-distant)))))
(when (memq 'moody modus-themes-mode-line)
fg-distant)))))
(defun modus-themes--diff
(fg-only-bg fg-only-fg mainbg mainfg altbg altfg &optional deuteranbg deuteranfg bg-only-fg)
@ -3759,6 +3868,30 @@ desaturated counterpart."
('desaturated (list :foreground subtlefg))
(_ (list :foreground mainfg))))
(defun modus-themes--tab (bg &optional bgaccent fg fgaccent box-p bold-p var-p)
"Helper function for tabs.
BG is the default background, while BGACCENT is its more colorful
alternative. Optional FG is a foreground color that combines
with BG. Same principle FGACCENT.
BOX-P and BOLD-P determine the use of a box property and the
application of a bold weight, respectively. VAR-P controls the
application of a variable-pitch font."
(let ((background (if modus-themes-tabs-accented (or bgaccent bg) bg))
(foreground (if modus-themes-tabs-accented (or fgaccent fg) fg)))
(list
:inherit (cond
((and bold-p var-p)
(if modus-themes-variable-pitch-ui
'(variable-pitch bold)
'(bold)))
(bold-p 'bold)
(var-p (when modus-themes-variable-pitch-ui 'variable-pitch))
('unspecified))
:background background
:foreground (or foreground 'unspecified)
:box (if box-p (list :line-width 2 :color background) 'unspecified))))
;;;; Utilities for DIY users
@ -4107,7 +4240,9 @@ by virtue of calling either of `modus-themes-load-operandi' and
bg-region blue-intense-bg
fg-alt cyan-intense)
:extend t)))
`(modus-themes-key-binding ((,class :inherit bold :foreground ,blue-alt-other)))
`(modus-themes-key-binding ((,class ,@(if (facep 'help-key-binding) ; check emacs28 face
(list :inherit 'help-key-binding)
(list :inherit 'bold :foreground blue-alt-other)))))
`(modus-themes-prompt ((,class ,@(modus-themes--prompt
cyan-alt-other blue-alt-other fg-alt
cyan-nuanced-bg blue-refine-bg fg-main
@ -4233,6 +4368,25 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(annotate-annotation-secondary ((,class :inherit modus-themes-subtle-green)))
`(annotate-highlight ((,class :background ,blue-nuanced-bg :underline ,blue-intense)))
`(annotate-highlight-secondary ((,class :background ,green-nuanced-bg :underline ,green-intense)))
;;;;; ansi-color
;; Those are in Emacs28.
`(ansi-color-black ((,class :background "black" :foreground "black")))
`(ansi-color-blue ((,class :background ,blue :foreground ,blue)))
`(ansi-color-bold ((,class :inherit bold)))
`(ansi-color-bright-black ((,class :background "gray35" :foreground "gray35")))
`(ansi-color-bright-blue ((,class :background ,blue-alt :foreground ,blue-alt)))
`(ansi-color-bright-cyan ((,class :background ,cyan-alt-other :foreground ,cyan-alt-other)))
`(ansi-color-bright-green ((,class :background ,green-alt-other :foreground ,green-alt-other)))
`(ansi-color-bright-magenta ((,class :background ,magenta-alt-other :foreground ,magenta-alt-other)))
`(ansi-color-bright-red ((,class :background ,red-alt :foreground ,red-alt)))
`(ansi-color-bright-white ((,class :background "white" :foreground "white")))
`(ansi-color-bright-yellow ((,class :background ,yellow-alt :foreground ,yellow-alt)))
`(ansi-color-cyan ((,class :background ,cyan :foreground ,cyan)))
`(ansi-color-green ((,class :background ,green :foreground ,green)))
`(ansi-color-magenta ((,class :background ,magenta :foreground ,magenta)))
`(ansi-color-red ((,class :background ,red :foreground ,red)))
`(ansi-color-white ((,class :background "gray65" :foreground "gray65")))
`(ansi-color-yellow ((,class :background ,yellow :foreground ,yellow)))
;;;;; anzu
`(anzu-match-1 ((,class :inherit modus-themes-subtle-cyan)))
`(anzu-match-2 ((,class :inherit modus-themes-search-success)))
@ -4251,7 +4405,7 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(apropos-keybinding ((,class :inherit modus-themes-key-binding)))
`(apropos-misc-button ((,class :inherit button
,@(modus-themes--link-color
cyan-alt-other cyan-alt-other-faint))))
green-alt-other green-alt-other-faint))))
`(apropos-property ((,class :inherit modus-themes-bold :foreground ,magenta-alt)))
`(apropos-symbol ((,class :inherit modus-themes-pseudo-header)))
`(apropos-user-option-button ((,class :inherit button
@ -4275,7 +4429,7 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(font-latex-bold-face ((,class :inherit bold :foreground ,fg-special-calm)))
`(font-latex-doctex-documentation-face ((,class :inherit modus-themes-slant :foreground ,fg-special-cold)))
`(font-latex-doctex-preprocessor-face ((,class :inherit modus-themes-bold :foreground ,red-alt-other)))
`(font-latex-italic-face ((,class :inherit italic :foreground ,fg-special-calm)))
`(font-latex-italic-face ((,class :inherit italic)))
`(font-latex-math-face ((,class :foreground ,cyan-alt-other)))
`(font-latex-script-char-face ((,class :foreground ,cyan-alt-other)))
`(font-latex-sectioning-0-face ((,class :inherit modus-themes-variable-pitch :foreground ,blue-nuanced-fg)))
@ -4360,7 +4514,8 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(boon-modeline-off ((,class :inherit modus-themes-active-yellow)))
`(boon-modeline-spc ((,class :inherit modus-themes-active-green)))
;;;;; bookmark
`(bookmark-face ((,class :inherit modus-themes-special-warm :extend t)))
`(bookmark-face ((,class :inherit modus-themes-fringe-cyan)))
`(bookmark-menu-bookmark ((,class :inherit bold)))
;;;;; breakpoint (built-in gdb-mi.el)
`(breakpoint-disabled ((,class :inherit shadow)))
`(breakpoint-enabled ((,class :inherit bold :foreground ,red)))
@ -4406,11 +4561,11 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(centaur-tabs-close-unselected ((,class :inherit centaur-tabs-unselected)))
`(centaur-tabs-modified-marker-selected ((,class :inherit centaur-tabs-selected)))
`(centaur-tabs-modified-marker-unselected ((,class :inherit centaur-tabs-unselected)))
`(centaur-tabs-default ((,class :background ,bg-main :foreground ,bg-main)))
`(centaur-tabs-selected ((,class :inherit bold :background ,bg-tab-active :foreground ,fg-main)))
`(centaur-tabs-selected-modified ((,class :inherit italic :background ,bg-tab-active :foreground ,fg-main)))
`(centaur-tabs-unselected ((,class :background ,bg-tab-inactive :foreground ,fg-dim)))
`(centaur-tabs-unselected-modified ((,class :inherit italic :background ,bg-tab-inactive :foreground ,fg-dim)))
`(centaur-tabs-default (( )))
`(centaur-tabs-selected ((,class ,@(modus-themes--tab bg-tab-active nil nil nil t t))))
`(centaur-tabs-selected-modified ((,class :inherit (italic centaur-tabs-selected))))
`(centaur-tabs-unselected ((,class ,@(modus-themes--tab bg-tab-inactive bg-tab-inactive-accent fg-dim nil t))))
`(centaur-tabs-unselected-modified ((,class :inherit (italic centaur-tabs-unselected))))
;;;;; cfrs
`(cfrs-border-color ((,class :background ,fg-window-divider-inner)))
;;;;; change-log and log-view (`vc-print-log' and `vc-print-root-log')
@ -4590,6 +4745,8 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(ctrlf-highlight-active ((,class :inherit (modus-themes-search-success bold))))
`(ctrlf-highlight-line ((,class :inherit modus-themes-hl-line)))
`(ctrlf-highlight-passive ((,class :inherit modus-themes-search-success-lazy)))
;;;;; cursor-flash
`(cursor-flash-face ((,class :inherit modus-themes-intense-blue)))
;;;;; custom (M-x customize)
`(custom-button ((,class :box (:line-width 2 :color nil :style released-button)
:background ,bg-active :foreground ,fg-main)))
@ -4765,24 +4922,24 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(diredfl-autofile-name ((,class :inherit modus-themes-special-cold)))
`(diredfl-compressed-file-name ((,class :foreground ,fg-special-warm)))
`(diredfl-compressed-file-suffix ((,class :foreground ,red-alt)))
`(diredfl-date-time ((,class :foreground ,cyan-alt-other)))
`(diredfl-date-time ((,class :foreground ,cyan)))
`(diredfl-deletion ((,class :inherit modus-themes-mark-del)))
`(diredfl-deletion-file-name ((,class :inherit modus-themes-mark-del)))
`(diredfl-dir-heading ((,class :inherit modus-themes-pseudo-header)))
`(diredfl-dir-name ((,class :inherit dired-directory)))
`(diredfl-dir-priv ((,class :foreground ,blue-alt)))
`(diredfl-exec-priv ((,class :foreground ,magenta)))
`(diredfl-exec-priv ((,class :foreground ,magenta-alt)))
`(diredfl-executable-tag ((,class :foreground ,magenta-alt)))
`(diredfl-file-name ((,class :foreground ,fg-main)))
`(diredfl-file-suffix ((,class :foreground ,cyan)))
`(diredfl-file-suffix ((,class :foreground ,magenta-alt-other)))
`(diredfl-flag-mark ((,class :inherit modus-themes-mark-sel)))
`(diredfl-flag-mark-line ((,class :inherit modus-themes-mark-sel)))
`(diredfl-ignored-file-name ((,class :inherit shadow)))
`(diredfl-link-priv ((,class :foreground ,blue-alt-other)))
`(diredfl-no-priv ((,class :inherit shadow)))
`(diredfl-number ((,class :foreground ,cyan-alt)))
`(diredfl-no-priv ((,class :foreground "gray50")))
`(diredfl-number ((,class :foreground ,cyan-alt-other-faint)))
`(diredfl-other-priv ((,class :foreground ,yellow)))
`(diredfl-rare-priv ((,class :foreground ,red-alt)))
`(diredfl-rare-priv ((,class :foreground ,red)))
`(diredfl-read-priv ((,class :foreground ,fg-main)))
`(diredfl-symlink ((,class :inherit dired-symlink)))
`(diredfl-tagged-autofile-name ((,class :inherit modus-themes-refine-magenta)))
@ -4791,27 +4948,27 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(diredp-autofile-name ((,class :inherit modus-themes-special-cold)))
`(diredp-compressed-file-name ((,class :foreground ,fg-special-warm)))
`(diredp-compressed-file-suffix ((,class :foreground ,red-alt)))
`(diredp-date-time ((,class :foreground ,cyan-alt-other)))
`(diredp-date-time ((,class :foreground ,cyan)))
`(diredp-deletion ((,class :inherit modus-themes-mark-del)))
`(diredp-deletion-file-name ((,class :inherit modus-themes-mark-del)))
`(diredp-dir-heading ((,class :inherit modus-themes-pseudo-header)))
`(diredp-dir-name ((,class :inherit dired-directory)))
`(diredp-dir-priv ((,class :foreground ,blue-alt)))
`(diredp-exec-priv ((,class :foreground ,magenta)))
`(diredp-exec-priv ((,class :foreground ,magenta-alt)))
`(diredp-executable-tag ((,class :foreground ,magenta-alt)))
`(diredp-file-name ((,class :foreground ,fg-main)))
`(diredp-file-suffix ((,class :foreground ,cyan)))
`(diredp-file-suffix ((,class :foreground ,magenta-alt-other)))
`(diredp-flag-mark ((,class :inherit modus-themes-mark-sel)))
`(diredp-flag-mark-line ((,class :inherit modus-themes-mark-sel)))
`(diredp-ignored-file-name ((,class :inherit shadow)))
`(diredp-link-priv ((,class :foreground ,blue-alt-other)))
`(diredp-mode-line-flagged ((,class :foreground ,red-active)))
`(diredp-mode-line-marked ((,class :foreground ,green-active)))
`(diredp-no-priv ((,class :inherit shadow)))
`(diredp-number ((,class :foreground ,cyan-alt)))
`(diredp-no-priv ((,class :foreground "gray50")))
`(diredp-number ((,class :foreground ,cyan-alt-other-faint)))
`(diredp-omit-file-name ((,class :inherit shadow :strike-through t)))
`(diredp-other-priv ((,class :foreground ,yellow)))
`(diredp-rare-priv ((,class :foreground ,red-alt)))
`(diredp-rare-priv ((,class :foreground ,red)))
`(diredp-read-priv ((,class :foreground ,fg-main)))
`(diredp-symlink ((,class :inherit dired-symlink)))
`(diredp-tagged-autofile-name ((,class :inherit modus-themes-refine-magenta)))
@ -4887,13 +5044,13 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(ebdb-phone-default ((,class :foreground ,cyan)))
`(eieio-custom-slot-tag-face ((,class :foreground ,red-alt)))
;;;;; ediff
`(ediff-current-diff-A ((,class :inherit modus-themes-diff-focus-removed)))
`(ediff-current-diff-A ((,class :inherit modus-themes-diff-removed)))
`(ediff-current-diff-Ancestor ((,class ,@(modus-themes--diff
bg-alt fg-special-cold
bg-special-cold fg-special-cold
blue-nuanced-bg blue))))
`(ediff-current-diff-B ((,class :inherit modus-themes-diff-focus-added)))
`(ediff-current-diff-C ((,class :inherit modus-themes-diff-focus-changed)))
`(ediff-current-diff-B ((,class :inherit modus-themes-diff-added)))
`(ediff-current-diff-C ((,class :inherit modus-themes-diff-changed)))
`(ediff-even-diff-A ((,class :background ,bg-alt)))
`(ediff-even-diff-Ancestor ((,class :background ,bg-alt)))
`(ediff-even-diff-B ((,class :background ,bg-alt)))
@ -4939,9 +5096,19 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(elfeed-score-error-level-face ((,class :foreground ,red)))
`(elfeed-score-info-level-face ((,class :foreground ,cyan)))
`(elfeed-score-warn-level-face ((,class :foreground ,yellow)))
;;;;; elpher
`(elpher-gemini-heading1 ((,class :inherit modus-themes-heading-1)))
`(elpher-gemini-heading2 ((,class :inherit modus-themes-heading-2)))
`(elpher-gemini-heading3 ((,class :inherit modus-themes-heading-3)))
;;;;; embark
`(embark-keybinding ((,class :inherit modus-themes-key-binding)))
;;;;; emms
`(emms-browser-album-face ((,class :foreground ,magenta-alt-other ,@(modus-themes--scale modus-themes-scale-2))))
`(emms-browser-artist-face ((,class :foreground ,cyan ,@(modus-themes--scale modus-themes-scale-3))))
`(emms-browser-composer-face ((,class :foreground ,magenta-alt ,@(modus-themes--scale modus-themes-scale-3))))
`(emms-browser-performer-face ((,class :inherit emms-browser-artist-face)))
`(emms-browser-track-face ((,class :inherit emms-playlist-track-face)))
`(emms-browser-year/genre-face ((,class :foreground ,cyan-alt-other ,@(modus-themes--scale modus-themes-scale-4))))
`(emms-playlist-track-face ((,class :foreground ,blue-alt)))
`(emms-playlist-selected-face ((,class :inherit bold :foreground ,blue-alt-other)))
`(emms-metaplaylist-mode-current-face ((,class :inherit emms-playlist-selected-face)))
@ -5659,6 +5826,10 @@ by virtue of calling either of `modus-themes-load-operandi' and
,@(modus-themes--standard-completions
magenta bg-alt
bg-active fg-main))))
`(icomplete-selected-match ((,class :inherit bold :foreground ,fg-main
:background ,@(pcase modus-themes-completions
('opinionated (list bg-active))
(_ (list bg-inactive))))))
;;;;; icomplete-vertical
`(icomplete-vertical-separator ((,class :inherit shadow)))
;;;;; ido-mode
@ -6074,27 +6245,41 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(Man-reverse ((,class :inherit modus-themes-subtle-magenta)))
`(Man-underline ((,class :foreground ,cyan :underline t)))
;;;;; marginalia
`(marginalia-archive ((,class :foreground ,green-nuanced-fg)))
`(marginalia-date ((,class :foreground ,blue-nuanced-fg)))
`(marginalia-char ((,class :foreground ,red-active)))
`(marginalia-documentation ((,class :foreground ,fg-special-cold :inherit modus-themes-slant)))
`(marginalia-file-modes ((,class :inherit shadow)))
`(marginalia-file-name ((,class :foreground ,fg-special-mild)))
`(marginalia-file-owner ((,class :foreground ,red-nuanced-fg)))
`(marginalia-archive ((,class :foreground ,cyan-alt-other)))
`(marginalia-char ((,class :foreground ,magenta)))
`(marginalia-date ((,class :foreground ,cyan)))
`(marginalia-documentation ((,class :inherit modus-themes-slant :foreground ,fg-docstring)))
`(marginalia-file-name ((,class :foreground ,blue-faint)))
`(marginalia-file-owner ((,class :foreground ,red-faint)))
`(marginalia-file-priv-dir ((,class :foreground ,blue-alt)))
`(marginalia-file-priv-exec ((,class :foreground ,magenta-alt)))
`(marginalia-file-priv-link ((,class :foreground ,blue-alt-other)))
`(marginalia-file-priv-no ((,class :foreground "gray50")))
`(marginalia-file-priv-other ((,class :foreground ,yellow)))
`(marginalia-file-priv-rare ((,class :foreground ,red)))
`(marginalia-file-priv-read ((,class :foreground ,fg-main)))
`(marginalia-file-priv-write ((,class :foreground ,cyan)))
;; Here we make an exception of not applying the bespoke
;; `modus-themes-key-binding' for two reasons: (1) completion
;; highlights can be fairly intense, so we do not want more
;; components to compete with them for attention, (2) the
;; `marginalia-key' may not be used for key bindings specifically,
;; so we might end up applying styles in places we should not.
`(marginalia-key ((,class :foreground ,magenta-active)))
`(marginalia-mode ((,class :foreground ,cyan-active)))
`(marginalia-modified ((,class :foreground ,yellow-active)))
`(marginalia-number ((,class :foreground ,blue-active)))
`(marginalia-size ((,class :foreground ,green-active)))
`(marginalia-type ((,class :foreground ,fg-special-warm)))
`(marginalia-variable ((,class :foreground ,yellow-nuanced-fg)))
`(marginalia-version ((,class :foreground ,cyan-active)))
`(marginalia-function ((,class :foreground ,magenta-alt-faint)))
`(marginalia-key ((,class :foreground ,magenta-alt-other)))
`(marginalia-lighter ((,class :foreground ,blue-alt)))
`(marginalia-list ((,class :foreground ,magenta-alt-other-faint)))
`(marginalia-mode ((,class :foreground ,cyan)))
`(marginalia-modified ((,class :foreground ,magenta-alt-faint)))
`(marginalia-null ((,class :inherit shadow)))
`(marginalia-number ((,class :foreground ,cyan)))
`(marginalia-size ((,class :foreground ,cyan-alt-other-faint)))
`(marginalia-string ((,class :foreground ,blue-alt)))
`(marginalia-symbol ((,class :foreground ,blue-alt-other-faint)))
`(marginalia-true ((,class :foreground ,fg-main)))
`(marginalia-type ((,class :foreground ,cyan-alt-other)))
`(marginalia-value ((,class :foreground ,cyan)))
`(marginalia-version ((,class :foreground ,cyan)))
;;;;; markdown-mode
`(markdown-blockquote-face ((,class :inherit modus-themes-slant :foreground ,fg-special-cold)))
`(markdown-bold-face ((,class :inherit bold)))
@ -6125,7 +6310,7 @@ by virtue of calling either of `modus-themes-load-operandi' and
:foreground ,magenta-alt)))
`(markdown-inline-code-face ((,class :inherit modus-themes-fixed-pitch
:background ,bg-alt :foreground ,fg-special-calm)))
`(markdown-italic-face ((,class :inherit italic :foreground ,fg-special-cold)))
`(markdown-italic-face ((,class :inherit italic)))
`(markdown-language-info-face ((,class :inherit modus-themes-fixed-pitch
:foreground ,fg-special-cold)))
`(markdown-language-keyword-face ((,class :inherit modus-themes-fixed-pitch
@ -6159,7 +6344,7 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(markup-error-face ((,class :inherit error)))
`(markup-gen-face ((,class :foreground ,magenta-alt)))
`(markup-internal-reference-face ((,class :foreground ,fg-alt :underline ,bg-region)))
`(markup-italic-face ((,class :inherit italic :foreground ,fg-special-cold)))
`(markup-italic-face ((,class :inherit italic)))
`(markup-list-face ((,class :inherit modus-themes-special-cold)))
`(markup-meta-face ((,class :inherit shadow)))
`(markup-meta-hide-face ((,class :foreground "gray50")))
@ -6236,7 +6421,7 @@ by virtue of calling either of `modus-themes-load-operandi' and
fg-dim bg-active
fg-main bg-active-accent
fg-alt bg-active
'alt-style nil bg-main))))
'alt-style bg-main))))
`(mode-line-buffer-id ((,class :inherit bold)))
`(mode-line-emphasis ((,class :inherit bold :foreground ,blue-active)))
`(mode-line-highlight ((,class :inherit modus-themes-active-blue :box (:line-width -1 :style pressed-button))))
@ -6273,7 +6458,7 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(mu4e-contact-face ((,class :inherit message-header-to)))
`(mu4e-context-face ((,class :foreground ,blue-active)))
`(mu4e-draft-face ((,class :foreground ,magenta-alt)))
`(mu4e-flagged-face ((,class :foreground ,red-alt)))
`(mu4e-flagged-face ((,class :foreground ,red-alt-other)))
`(mu4e-footer-face ((,class :inherit modus-themes-slant :foreground ,fg-special-cold)))
`(mu4e-forwarded-face ((,class :foreground ,magenta-alt-other)))
`(mu4e-header-face ((,class :inherit shadow)))
@ -6343,10 +6528,11 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(notmuch-crypto-signature-good-key ((,class :inherit bold :foreground ,cyan)))
`(notmuch-crypto-signature-unknown ((,class :inherit warning)))
`(notmuch-hello-logo-background ((,class :background "gray50")))
`(notmuch-jump-key ((,class :inherit modus-themes-key-binding)))
`(notmuch-message-summary-face ((,class :inherit (bold modus-themes-nuanced-cyan))))
`(notmuch-search-count ((,class :inherit shadow)))
`(notmuch-search-date ((,class :foreground ,cyan)))
`(notmuch-search-flagged-face ((,class :foreground ,red-alt)))
`(notmuch-search-flagged-face ((,class :foreground ,red-alt-other)))
`(notmuch-search-matching-authors ((,class :foreground ,fg-special-cold)))
`(notmuch-search-non-matching-authors ((,class :inherit shadow)))
`(notmuch-search-subject ((,class :foreground ,fg-main)))
@ -6414,16 +6600,18 @@ by virtue of calling either of `modus-themes-load-operandi' and
yellow yellow-nuanced-bg
yellow-refine-bg yellow-refine-fg))))
;;;;; org
`(org-agenda-calendar-event ((,class :inherit shadow)))
`(org-agenda-calendar-sexp ((,class :inherit (modus-themes-slant shadow))))
`(org-agenda-calendar-event ((,class ,@(modus-themes--agenda-event blue-alt))))
`(org-agenda-calendar-sexp ((,class :inherit org-agenda-calendar-event)))
`(org-agenda-clocking ((,class :inherit modus-themes-special-cold :extend t)))
`(org-agenda-column-dateline ((,class :background ,bg-alt)))
`(org-agenda-current-time ((,class :foreground ,blue-alt-other-faint)))
`(org-agenda-date ((,class ,@(modus-themes--agenda-date cyan fg-main nil))))
`(org-agenda-date-today ((,class :background ,bg-active
,@(modus-themes--agenda-date blue-active fg-main t cyan-active))))
`(org-agenda-date-weekend ((,class ,@(modus-themes--agenda-date cyan-alt-other fg-alt nil cyan fg-main))))
`(org-agenda-diary ((,class :inherit shadow)))
`(org-agenda-date ((,class ,@(modus-themes--agenda-date cyan fg-main))))
`(org-agenda-date-today ((,class ,@(modus-themes--agenda-date blue-active fg-main
cyan-active fg-main
bg-active t t))))
`(org-agenda-date-weekend ((,class ,@(modus-themes--agenda-date cyan-alt-other fg-alt
cyan fg-main))))
`(org-agenda-diary ((,class :inherit org-agenda-calendar-event)))
`(org-agenda-dimmed-todo-face ((,class :inherit shadow)))
`(org-agenda-done ((,class :foreground ,@(modus-themes--success-deuteran
blue-nuanced-fg
@ -6448,7 +6636,8 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(org-checkbox-statistics-todo ((,class :inherit org-todo)))
`(org-clock-overlay ((,class :inherit modus-themes-special-cold)))
`(org-code ((,class :inherit modus-themes-fixed-pitch
:background ,bg-alt :foreground ,fg-special-mild)))
:background ,bg-alt :foreground ,fg-special-mild
:extend t)))
`(org-column ((,class :background ,bg-alt)))
`(org-column-title ((,class :inherit bold :underline t :background ,bg-alt)))
`(org-date ((,class :inherit ,(if modus-themes-no-mixed-fonts
@ -6708,9 +6897,9 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(proced-marked ((,class :inherit modus-themes-mark-alt)))
`(proced-sort-header ((,class :inherit bold :foreground ,fg-special-calm :underline t)))
;;;;; prodigy
`(prodigy-green-face ((,class :foreground ,green)))
`(prodigy-red-face ((,class :foreground ,red)))
`(prodigy-yellow-face ((,class :foreground ,yellow)))
`(prodigy-green-face ((,class :inherit success)))
`(prodigy-red-face ((,class :inherit error)))
`(prodigy-yellow-face ((,class :inherit warning)))
;;;;; pulse
`(pulse-highlight-start-face ((,class :background ,bg-active-accent :extend t)))
;;;;; quick-peek
@ -7018,7 +7207,7 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(spray-accent-face ((,class :foreground ,red-intense)))
`(spray-base-face ((,class :inherit default :foreground ,fg-special-cold)))
;;;;; stripes
`(stripes ((,class :inherit modus-themes-hl-line)))
`(stripes ((,class :background ,bg-alt)))
;;;;; success
`(suggest-heading ((,class :inherit bold :foreground ,yellow-alt-other)))
;;;;; switch-window
@ -7100,24 +7289,24 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(tab-bar-groups-tab-7 ((,class ,@(modus-themes--variable-pitch-ui) :foreground ,yellow-tab)))
`(tab-bar-groups-tab-8 ((,class ,@(modus-themes--variable-pitch-ui) :foreground ,magenta-tab)))
;;;;; tab-bar-mode
`(tab-bar ((,class ,@(modus-themes--variable-pitch-ui)
:background ,bg-tab-bar :foreground ,fg-main)))
`(tab-bar-tab ((,class :inherit bold :box (:line-width 2 :color ,bg-tab-active)
:background ,bg-tab-active :foreground ,fg-main)))
`(tab-bar-tab-inactive ((,class :box (:line-width 2 :color ,bg-tab-inactive)
:background ,bg-tab-inactive :foreground ,fg-dim)))
`(tab-bar ((,class ,@(modus-themes--tab bg-active bg-active-accent nil nil nil nil t))))
`(tab-bar-tab-group-current ((,class ,@(modus-themes--tab bg-tab-active)
:box (:line-width (2 . -2) :color "gray50"))))
`(tab-bar-tab-group-inactive ((,class ,@(modus-themes--tab bg-tab-inactive bg-tab-inactive-accent fg-dim)
:box (:line-width (2 . -2) :color "gray50"))))
`(tab-bar-tab ((,class ,@(modus-themes--tab bg-tab-active nil nil nil t t))))
`(tab-bar-tab-inactive ((,class ,@(modus-themes--tab bg-tab-inactive bg-tab-inactive-accent fg-dim nil t))))
;;;;; tab-line-mode
`(tab-line ((,class ,@(modus-themes--variable-pitch-ui)
:height 0.95 :background ,bg-tab-bar :foreground ,fg-main)))
`(tab-line ((,class ,@(modus-themes--tab bg-active bg-active-accent nil nil nil nil t)
:height 0.95)))
`(tab-line-close-highlight ((,class :foreground ,red)))
`(tab-line-highlight ((,class :background ,blue-subtle-bg :foreground ,fg-dim)))
`(tab-line-tab ((,class :inherit bold :box (:line-width 2 :color ,bg-tab-active)
:background ,bg-tab-active :foreground ,fg-main)))
`(tab-line-highlight ((,class :inherit modus-themes-active-blue)))
`(tab-line-tab ((,class ,@(modus-themes--tab bg-tab-active nil nil nil t t))))
`(tab-line-tab-current ((,class :inherit tab-line-tab)))
`(tab-line-tab-inactive ((,class :box (:line-width 2 :color ,bg-tab-inactive)
:background ,bg-tab-inactive :foreground ,fg-dim)))
`(tab-line-tab-inactive-alternate ((,class :box (:line-width 2 :color ,bg-tab-inactive-alt)
:background ,bg-tab-inactive-alt :foreground ,fg-main)))
`(tab-line-tab-inactive ((,class ,@(modus-themes--tab bg-tab-inactive bg-tab-inactive-accent fg-dim nil t))))
`(tab-line-tab-inactive-alternate ((,class ,@(modus-themes--tab bg-tab-inactive-alt
bg-tab-inactive-alt-accent fg-main nil t))))
`(tab-line-tab-modified ((,class :foreground ,red-alt-other-faint)))
;;;;; table (built-in table.el)
`(table-cell ((,class :background ,blue-nuanced-bg)))
;;;;; telega
@ -7194,7 +7383,10 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(transient-heading ((,class :inherit bold :foreground ,fg-main)))
`(transient-inactive-argument ((,class :inherit shadow)))
`(transient-inactive-value ((,class :inherit shadow)))
`(transient-key ((,class :inherit modus-themes-key-binding)))
;; FIXME 2021-08-28: using `modus-themes-key-binding' leads to
;; misalignments because of the added box property.
;; `(transient-key ((,class :inherit modus-themes-key-binding)))
`(transient-key ((,class :inherit bold :foreground ,blue-alt-other)))
`(transient-mismatched-key ((,class :underline t)))
`(transient-nonstandard-key ((,class :underline t)))
`(transient-pink ((,class :inherit bold :foreground ,magenta-alt-faint)))
@ -7397,7 +7589,7 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(web-mode-jsx-depth-3-face ((,class :background ,bg-special-cold :foreground ,fg-special-cold)))
`(web-mode-jsx-depth-4-face ((,class :background ,bg-alt :foreground ,blue-refine-fg)))
`(web-mode-jsx-depth-5-face ((,class :background ,bg-alt :foreground ,blue-nuanced-fg)))
`(web-mode-keyword-face ((,class :inherit :inherit font-lock-keyword-face)))
`(web-mode-keyword-face ((,class :inherit font-lock-keyword-face)))
`(web-mode-param-name-face ((,class :inherit font-lock-function-name-face)))
`(web-mode-part-comment-face ((,class :inherit web-mode-comment-face)))
`(web-mode-part-face ((,class :inherit web-mode-block-face)))
@ -7590,9 +7782,7 @@ by virtue of calling either of `modus-themes-load-operandi' and
(provide 'modus-themes)
;; Local Variables:
;; time-stamp-start: "Last-Modified:[ \t]+\\\\?[\"<]"
;; time-stamp-end: "\\\\?[\">]"
;; time-stamp-format: "%Y-%02m-%02d %02H:%02M:%02S %5z"
;; time-stamp-pattern: "Last-Modified: <%Y-%02m-%02d %02H:%02M:%02S %5z>"
;; End:
;;; modus-themes.el ends here

View file

@ -4,7 +4,7 @@
;; Author: Protesilaos Stavrou <info@protesilaos.com>
;; URL: https://gitlab.com/protesilaos/modus-themes
;; Version: 1.5.0
;; Version: 1.6.0
;; Package-Requires: ((emacs "26.1"))
;; Keywords: faces, theme, accessibility