-#+title: Modus themes for GNU Emacs
-#+author: Protesilaos Stavrou
-#+email: info@protesilaos.com
-#+language: en
-#+options: ':t toc:nil author:t email:t num:t
-#+startup: content
-
-#+macro: stable-version 2.4.0
-#+macro: release-date 2022-06-01
-#+macro: development-version 2.5.0-dev
-#+macro: file @@texinfo:@file{@@$1@@texinfo:}@@
-#+macro: space @@texinfo:@: @@
-#+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@
-
-#+texinfo_filename: modus-themes.info
-#+texinfo_dir_category: Emacs misc features
-#+texinfo_dir_title: Modus Themes: (modus-themes)
-#+texinfo_dir_desc: Elegant, highly legible and customizable themes
-#+texinfo_header: @set MAINTAINERSITE @uref{https://protesilaos.com,maintainer webpage}
-#+texinfo_header: @set MAINTAINER Protesilaos Stavrou
-#+texinfo_header: @set MAINTAINEREMAIL @email{info@protesilaos.com}
-#+texinfo_header: @set MAINTAINERCONTACT @uref{mailto:info@protesilaos.com,contact the maintainer}
+#+title: Modus themes for GNU Emacs
+#+author: Protesilaos Stavrou
+#+email: info@protesilaos.com
+#+language: en
+#+options: ':t toc:nil author:t email:t num:t
+#+startup: content
+#+macro: stable-version 2.5.0
+#+macro: release-date 2022-08-03
+#+macro: development-version 2.6.0-dev
+#+macro: file @@texinfo:@file{@@$1@@texinfo:}@@
+#+macro: space @@texinfo:@: @@
+#+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@
+#+texinfo_filename: modus-themes.info
+#+texinfo_dir_category: Emacs misc features
+#+texinfo_dir_title: Modus Themes: (modus-themes)
+#+texinfo_dir_desc: Elegant, highly legible and customizable themes
+#+texinfo_header: @set MAINTAINERSITE @uref{https://protesilaos.com,maintainer webpage}
+#+texinfo_header: @set MAINTAINER Protesilaos Stavrou
+#+texinfo_header: @set MAINTAINEREMAIL @email{info@protesilaos.com}
+#+texinfo_header: @set MAINTAINERCONTACT @uref{mailto:info@protesilaos.com,contact the maintainer}
#+texinfo: @insertcopying
They are now ready to be used: [[#h:3f3c3728-1b34-437d-9d0c-b110f5b161a9][Enable and load]].
+NOTE that Debian's package is severely out-of-date as of this writing
+2022-07-24 09:57 +0300.
+
*** GNU Guix
:properties:
:custom_id: h:a4ca52cd-869f-46a5-9e16-4d9665f5b88e
interfaces or with {{{kbd(M-x customize-set-variable)}}} will not reload the
currently active Modus theme.
-Enable this behavior by setting this variable to ~nil~.
+Enable this behaviour by setting this variable to ~nil~.
Regardless of this option, the active theme must be reloaded for changes
to user options to take effect ([[#h:3f3c3728-1b34-437d-9d0c-b110f5b161a9][Enable and load]]).
Symbol: ~modus-themes-completions~ (=alist= type properties)
-This affects Company, Corfu, Flx, Helm, Icomplete/Fido, Ido, Ivy, Mct,
+This affects Company, Corfu, Flx, Helm, Icomplete/Fido, Ido, Ivy,
Orderless, Selectrum, Vertico. The value is an alist that takes the
form of a =(key . properties)= combination. Here is a sample, followed
by a description of the particularities:
The ~popup~ key takes the same values as ~selection~.
-Apart from specifying each key separately, a fallback list is accepted.
+Apart from specfying each key separately, a fallback list is accepted.
This is only useful when the desired aesthetic is the same across all
keys that are not explicitly referenced. For example, this:
This style affects several packages that enable ~hl-line-mode~, such as
=elfeed=, =notmuch=, and =mu4e=.
+[ Also check the =lin= package on GNU ELPA (by the author of the
+ modus-themes) for a stylistic enhancement to ~hl-line-mode~. ]
+
** Option for line numbers
:properties:
:alt_title: Line numbers
:end:
#+vindex: modus-themes-headings
-Brief: Control the style of headings. This can be particularised for
-each level of heading (e.g. Org has eight levels).
+Brief: Heading styles with optional list of values for levels 0-8.
Symbol: ~modus-themes-headings~ (=alist= type, multiple properties)
-This is an alist that accepts a =(key . list-of-values)= combination. The
-key is either a number, representing the heading's level or ~t~, which
-pertains to the fallback style. The list of values covers symbols that
-refer to properties, as described below. Here is a sample, followed by
-a presentation of all available properties:
+This is an alist that accepts a =(key . list-of-values)= combination.
+The key is either a number, representing the heading's level (0-8) or t,
+which pertains to the fallback style.
+
+Level 0 is a special heading: it is used for what counts as a document
+title or equivalent, such as the =#+title= construct we find in Org
+files. Levels 1-8 are regular headings.
+
+The list of values covers symbols that refer to properties, as described
+below. Here is a complete sample, followed by a presentation of all
+available properties:
#+begin_src emacs-lisp
(setq modus-themes-headings
This section is of interest only to users who are prepared to maintain
their own local tweaks and who are willing to deal with any possible
incompatibilities between versioned releases of the themes. As such,
-they are labeled as "do-it-yourself" or "DIY".
+they are labelled as "do-it-yourself" or "DIY".
** More accurate colors in terminal emulators
:PROPERTIES:
Whenever we enter a ~diff-mode~ buffer, we now get a magenta-colored
region.
-Perhaps you may wish to generalize those findings in to a set of
+Perhaps you may wish to generalise those findings in to a set of
functions that also accept an arbitrary face. We shall leave the
experimentation up to you.
One way to achieve this is to design a command that cycles through three
distinct levels of intensity, though the following can be adapted to any
-kind of cyclic behavior, such as to switch between red, green, and
+kind of cyclic behaviour, such as to switch between red, green, and
blue.
In the following example, we employ the ~modus-themes-color~ function
(bg-inactive . "#f6ece5")
(bg-region . "#c6bab1")
(bg-header . "#ede3e0")
- (bg-tab-bar . "#dcd3d3")
(bg-tab-active . "#fdf6eb")
(bg-tab-inactive . "#c8bab8"))
modus-themes-vivendi-color-overrides
(bg-inactive . "#1a1e39")
(bg-region . "#393a53")
(bg-header . "#202037")
- (bg-tab-bar . "#262b41")
(bg-tab-active . "#120f18")
(bg-tab-inactive . "#3a3a5a")))
(setq modus-themes-operandi-color-overrides nil
(bg-inactive . "#e6e6e6")
(bg-region . "#b5b5b5")
(bg-header . "#e4e4e4")
- (bg-tab-bar . "#d1d1d4")
(bg-tab-active . "#f5f5f5")
(bg-tab-inactive . "#c0c0c0"))
#+end_src
themes (the WCAG AAA legibility standard). Alternatively, this can also
be done programmatically ([[#h:4589acdc-2505-41fc-9f5e-699cfc45ab00][Override color saturation]]).
+The above are expanded into a fully fledged derivative elsewhere in this
+document ([[#h:736c0ff5-8c9c-4565-82cf-989e57d07d4a][Override colors completely]]).
+
For manual interventions it is advised to inspect the source code of
~modus-themes-operandi-colors~ and ~modus-themes-vivendi-colors~ for the
inline commentary: it explains what the intended use of each palette
(modus-themes-tinted-mode 1)
#+end_src
+** Override colors completely
+:PROPERTIES:
+:CUSTOM_ID: h:736c0ff5-8c9c-4565-82cf-989e57d07d4a
+:END:
+
+Based on the ideas we have already covered in these sections, the
+following code block provides a complete, bespoke pair of color palettes
+which override the defaults. They are implemented as a minor mode, as
+explained before ([[#h:307d95dd-8dbd-4ece-a543-10ae86f155a6][Override colors]]). We call them "Summertime" for
+convenience.
+
+#+begin_src emacs-lisp
+;; Read the relevant blog post:
+;; <https://protesilaos.com/codelog/2022-07-26-modus-themes-color-override-demo/>
+(define-minor-mode modus-themes-summertime
+ "Refashion the Modus themes by overriding their colors.
+
+This is a complete technology demonstration to show how to
+manually override the colors of the Modus themes. I have taken
+good care of those overrides to make them work as a fully fledged
+color scheme that is compatible with all user options of the
+Modus themes.
+
+These overrides are usable by those who (i) like something more
+fancy than the comparatively austere looks of the Modus themes,
+and (ii) can cope with a lower contrast ratio.
+
+The overrides are set up as a minor mode, so that the user can
+activate the effect on demand. Those who want to load the
+overrides at all times can either add them directly to their
+configuration or enable `modus-themes-summertime' BEFORE loading
+either of the Modus themes (if the overrides are evaluated after
+the theme, the theme must be reloaded).
+
+Remember that all changes to theme-related variables require a
+reload of the theme to take effect (the Modus themes have lots of
+user options, apart from those overrides).
+
+The `modus-themes-summertime' IS NOT an official extension to the
+Modus themes and DOES NOT comply with its lofty accessibility
+standards. It is included in the official manual as guidance for
+those who want to make use of the color overriding facility we
+provide."
+ :init-value nil
+ :global t
+ (if modus-themes-summertime
+ (setq modus-themes-operandi-color-overrides
+ '((bg-main . "#fff0f2")
+ (bg-dim . "#fbe6ef")
+ (bg-alt . "#f5dae6")
+ (bg-hl-line . "#fad8e3")
+ (bg-active . "#efcadf")
+ (bg-inactive . "#f3ddef")
+ (bg-active-accent . "#ffbbef")
+ (bg-region . "#dfc5d1")
+ (bg-region-accent . "#efbfef")
+ (bg-region-accent-subtle . "#ffd6ef")
+ (bg-header . "#edd3e0")
+ (bg-tab-active . "#ffeff2")
+ (bg-tab-inactive . "#f8d3ef")
+ (bg-tab-inactive-accent . "#ffd9f5")
+ (bg-tab-inactive-alt . "#e5c0d5")
+ (bg-tab-inactive-alt-accent . "#f3cce0")
+ (fg-main . "#543f78")
+ (fg-dim . "#5f476f")
+ (fg-alt . "#7f6f99")
+ (fg-unfocused . "#8f6f9f")
+ (fg-active . "#563068")
+ (fg-inactive . "#8a5698")
+ (fg-docstring . "#5f5fa7")
+ (fg-comment-yellow . "#a9534f")
+ (fg-escape-char-construct . "#8b207f")
+ (fg-escape-char-backslash . "#a06d00")
+ (bg-special-cold . "#d3e0f4")
+ (bg-special-faint-cold . "#e0efff")
+ (bg-special-mild . "#c4ede0")
+ (bg-special-faint-mild . "#e0f0ea")
+ (bg-special-warm . "#efd0c4")
+ (bg-special-faint-warm . "#ffe4da")
+ (bg-special-calm . "#f0d3ea")
+ (bg-special-faint-calm . "#fadff9")
+ (fg-special-cold . "#405fb8")
+ (fg-special-mild . "#407f74")
+ (fg-special-warm . "#9d6f4f")
+ (fg-special-calm . "#af509f")
+ (bg-completion . "#ffc5e5")
+ (bg-completion-subtle . "#f7cfef")
+ (red . "#ed2f44")
+ (red-alt . "#e0403d")
+ (red-alt-other . "#e04059")
+ (red-faint . "#ed4f44")
+ (red-alt-faint . "#e0603d")
+ (red-alt-other-faint . "#e06059")
+ (green . "#217a3c")
+ (green-alt . "#417a1c")
+ (green-alt-other . "#006f3c")
+ (green-faint . "#318a4c")
+ (green-alt-faint . "#518a2c")
+ (green-alt-other-faint . "#20885c")
+ (yellow . "#b06202")
+ (yellow-alt . "#a95642")
+ (yellow-alt-other . "#a06f42")
+ (yellow-faint . "#b07232")
+ (yellow-alt-faint . "#a96642")
+ (yellow-alt-other-faint . "#a08042")
+ (blue . "#275ccf")
+ (blue-alt . "#475cc0")
+ (blue-alt-other . "#3340ef")
+ (blue-faint . "#476ce0")
+ (blue-alt-faint . "#575ccf")
+ (blue-alt-other-faint . "#3f60d7")
+ (magenta . "#bf317f")
+ (magenta-alt . "#d033c0")
+ (magenta-alt-other . "#844fe4")
+ (magenta-faint . "#bf517f")
+ (magenta-alt-faint . "#d053c0")
+ (magenta-alt-other-faint . "#846fe4")
+ (cyan . "#007a9f")
+ (cyan-alt . "#3f709f")
+ (cyan-alt-other . "#107f7f")
+ (cyan-faint . "#108aaf")
+ (cyan-alt-faint . "#3f80af")
+ (cyan-alt-other-faint . "#3088af")
+ (red-active . "#cd2f44")
+ (green-active . "#116a6c")
+ (yellow-active . "#993602")
+ (blue-active . "#475ccf")
+ (magenta-active . "#7f2ccf")
+ (cyan-active . "#007a8f")
+ (red-nuanced-bg . "#ffdbd0")
+ (red-nuanced-fg . "#ed6f74")
+ (green-nuanced-bg . "#dcf0dd")
+ (green-nuanced-fg . "#3f9a4c")
+ (yellow-nuanced-bg . "#fff3aa")
+ (yellow-nuanced-fg . "#b47232")
+ (blue-nuanced-bg . "#e3e3ff")
+ (blue-nuanced-fg . "#201f6f")
+ (magenta-nuanced-bg . "#fdd0ff")
+ (magenta-nuanced-fg . "#c0527f")
+ (cyan-nuanced-bg . "#dbefff")
+ (cyan-nuanced-fg . "#0f3f60")
+ (bg-diff-heading . "#b7cfe0")
+ (fg-diff-heading . "#041645")
+ (bg-diff-added . "#d6f0d6")
+ (fg-diff-added . "#004520")
+ (bg-diff-changed . "#fcefcf")
+ (fg-diff-changed . "#524200")
+ (bg-diff-removed . "#ffe0ef")
+ (fg-diff-removed . "#891626")
+ (bg-diff-refine-added . "#84cfa4")
+ (fg-diff-refine-added . "#002a00")
+ (bg-diff-refine-changed . "#cccf8f")
+ (fg-diff-refine-changed . "#302010")
+ (bg-diff-refine-removed . "#da92b0")
+ (fg-diff-refine-removed . "#500010")
+ (bg-diff-focus-added . "#a6e5c6")
+ (fg-diff-focus-added . "#002c00")
+ (bg-diff-focus-changed . "#ecdfbf")
+ (fg-diff-focus-changed . "#392900")
+ (bg-diff-focus-removed . "#efbbcf")
+ (fg-diff-focus-removed . "#5a0010"))
+ modus-themes-vivendi-color-overrides
+ '((bg-main . "#25152a")
+ (bg-dim . "#2a1930")
+ (bg-alt . "#382443")
+ (bg-hl-line . "#332650")
+ (bg-active . "#463358")
+ (bg-inactive . "#2d1f3a")
+ (bg-active-accent . "#50308f")
+ (bg-region . "#5d4a67")
+ (bg-region-accent . "#60509f")
+ (bg-region-accent-subtle . "#3f285f")
+ (bg-header . "#3a2543")
+ (bg-tab-active . "#26162f")
+ (bg-tab-inactive . "#362647")
+ (bg-tab-inactive-accent . "#36265a")
+ (bg-tab-inactive-alt . "#3e2f5a")
+ (bg-tab-inactive-alt-accent . "#3e2f6f")
+ (fg-main . "#debfe0")
+ (fg-dim . "#d0b0da")
+ (fg-alt . "#ae85af")
+ (fg-unfocused . "#8e7f9f")
+ (fg-active . "#cfbfef")
+ (fg-inactive . "#b0a0c0")
+ (fg-docstring . "#c8d9f7")
+ (fg-comment-yellow . "#cf9a70")
+ (fg-escape-char-construct . "#ff75aa")
+ (fg-escape-char-backslash . "#dbab40")
+ (bg-special-cold . "#2a3f58")
+ (bg-special-faint-cold . "#1e283f")
+ (bg-special-mild . "#0f3f31")
+ (bg-special-faint-mild . "#0f281f")
+ (bg-special-warm . "#44331f")
+ (bg-special-faint-warm . "#372213")
+ (bg-special-calm . "#4a314f")
+ (bg-special-faint-calm . "#3a223f")
+ (fg-special-cold . "#c0b0ff")
+ (fg-special-mild . "#bfe0cf")
+ (fg-special-warm . "#edc0a6")
+ (fg-special-calm . "#ff9fdf")
+ (bg-completion . "#502d70")
+ (bg-completion-subtle . "#451d65")
+ (red . "#ff5f6f")
+ (red-alt . "#ff8f6d")
+ (red-alt-other . "#ff6f9d")
+ (red-faint . "#ffa0a0")
+ (red-alt-faint . "#f5aa80")
+ (red-alt-other-faint . "#ff9fbf")
+ (green . "#51ca5c")
+ (green-alt . "#71ca3c")
+ (green-alt-other . "#51ca9c")
+ (green-faint . "#78bf78")
+ (green-alt-faint . "#99b56f")
+ (green-alt-other-faint . "#88bf99")
+ (yellow . "#f0b262")
+ (yellow-alt . "#f0e242")
+ (yellow-alt-other . "#d0a272")
+ (yellow-faint . "#d2b580")
+ (yellow-alt-faint . "#cabf77")
+ (yellow-alt-other-faint . "#d0ba95")
+ (blue . "#778cff")
+ (blue-alt . "#8f90ff")
+ (blue-alt-other . "#8380ff")
+ (blue-faint . "#82b0ec")
+ (blue-alt-faint . "#a0acef")
+ (blue-alt-other-faint . "#80b2f0")
+ (magenta . "#ff70cf")
+ (magenta-alt . "#ff77f0")
+ (magenta-alt-other . "#ca7fff")
+ (magenta-faint . "#e0b2d6")
+ (magenta-alt-faint . "#ef9fe4")
+ (magenta-alt-other-faint . "#cfa6ff")
+ (cyan . "#30cacf")
+ (cyan-alt . "#60caff")
+ (cyan-alt-other . "#40b79f")
+ (cyan-faint . "#90c4ed")
+ (cyan-alt-faint . "#a0bfdf")
+ (cyan-alt-other-faint . "#a4d0bb")
+ (red-active . "#ff6059")
+ (green-active . "#64dc64")
+ (yellow-active . "#ffac80")
+ (blue-active . "#4fafff")
+ (magenta-active . "#cf88ff")
+ (cyan-active . "#50d3d0")
+ (red-nuanced-bg . "#440a1f")
+ (red-nuanced-fg . "#ffcccc")
+ (green-nuanced-bg . "#002904")
+ (green-nuanced-fg . "#b8e2b8")
+ (yellow-nuanced-bg . "#422000")
+ (yellow-nuanced-fg . "#dfdfb0")
+ (blue-nuanced-bg . "#1f1f5f")
+ (blue-nuanced-fg . "#bfd9ff")
+ (magenta-nuanced-bg . "#431641")
+ (magenta-nuanced-fg . "#e5cfef")
+ (cyan-nuanced-bg . "#042f49")
+ (cyan-nuanced-fg . "#a8e5e5")
+ (bg-diff-heading . "#304466")
+ (fg-diff-heading . "#dae7ff")
+ (bg-diff-added . "#0a383a")
+ (fg-diff-added . "#94ba94")
+ (bg-diff-changed . "#2a2000")
+ (fg-diff-changed . "#b0ba9f")
+ (bg-diff-removed . "#50163f")
+ (fg-diff-removed . "#c6adaa")
+ (bg-diff-refine-added . "#006a46")
+ (fg-diff-refine-added . "#e0f6e0")
+ (bg-diff-refine-changed . "#585800")
+ (fg-diff-refine-changed . "#ffffcc")
+ (bg-diff-refine-removed . "#952838")
+ (fg-diff-refine-removed . "#ffd9eb")
+ (bg-diff-focus-added . "#1d4c3f")
+ (fg-diff-focus-added . "#b4dfb4")
+ (bg-diff-focus-changed . "#424200")
+ (fg-diff-focus-changed . "#d0daaf")
+ (bg-diff-focus-removed . "#6f0f39")
+ (fg-diff-focus-removed . "#eebdba")))
+ (setq modus-themes-operandi-color-overrides nil
+ modus-themes-vivendi-color-overrides nil)))
+#+end_src
+
** Font configurations for Org and others
:properties:
:custom_id: h:defcf4fc-8fa8-4c29-b12e-7119582cc929
faces respectively. It may also be convenient to set your main typeface
by configuring the ~default~ face the same way.
+[ The =fontaine= package on GNU ELPA (by the author of the modus-themes)
+ is designed to handle this case. ]
+
Put something like this in your initialization file (also consider
reading the doc string of ~set-face-attribute~):
:end:
#+cindex: Org custom emphasis faces
-Org provides the user option ~org-emphasis-alist~ which associates a
+Org provides the user option ~org-emphasis-alist~ which assosiates a
character with a face, list of faces, or face attributes. The default
specification of that variable looks like this:
+ calendar and diary
+ calfw
+ calibredb
-+ centaur-tabs
+ cfrs
+ change-log and log-view (such as ~vc-print-log~, ~vc-print-root-log~)
++ chart
+ cider
+ circe
+ citar
+ css-mode
+ csv-mode
+ ctrlf
-+ cursor-flash
+ custom (what you get with {{{kbd(M-x customize)}}})
+ dap-mode
-+ dashboard (emacs-dashboard)
+ deadgrep
+ debbugs
+ deft
++ denote
+ devdocs
+ dictionary
+ diff-hl
+ diredp (dired+)
+ display-fill-column-indicator-mode
+ doom-modeline
-+ dynamic-ruler
+ easy-jekyll
+ ebdb
+ ediff
+ flyspell
+ flx
+ freeze-it
-+ frog-menu
+ focus
+ fold-this
+ font-lock (generic syntax highlighting)
+ imenu-list
+ indium
+ info
++ info+ (info-plus)
+ info-colors
+ interaction-log
+ ioccur
+ kaocha-runner
+ keycast
+ ledger-mode
++ leerzeichen
+ line numbers (~display-line-numbers-mode~ and global variant)
+ lsp-mode
+ lsp-ui
+ marginalia
+ markdown-mode
+ markup-faces (~adoc-mode~)
-+ mct
+ mentor
+ messages
+ mini-modeline
+ org-superstar
+ org-table-sticky-header
+ org-tree-slide
-+ org-treescope
+ origami
+ outline-mode
+ outline-minor-faces
+ package (what you get with {{{kbd(M-x list-packages)}}})
+ page-break-lines
+ pandoc-mode
-+ paradox
+ paren-face
+ pass
+ pdf-tools
+ typescript
+ undo-tree
+ vc (vc-dir.el, vc-hooks.el)
-+ vc-annotate (the output of {{{kbd(C-x v g)}}})
+ vertico
+ vertico-quick
+ vimish-fold
+ bufler
+ counsel-notmuch
+ counsel-org-capture-string
++ dashboard (emacs-dashboard)
+ define-word
+ disk-usage
+ dtache
++ dynamic-ruler
+ easy-kill
+ edit-indirect
+ egerrit
for the indicators they display (e.g. bitmap of a plus sign for added
lines). In Doom Emacs, these bitmaps are replaced with contiguous lines
which may look nicer, but require a change to the foreground of the
-relevant faces to yield the desired color combinations.
+relevant faces to yield the desired colour combinations.
Since this is Doom-specific, we urge users to apply changes in their
local setup. Below is some sample code, based on what we cover at
ANSI color number 1 (red) from the already-supported array of
~ansi-color-names-vector~.
-** Note on vc-annotate-background-mode
-:properties:
-:custom_id: h:5095cbd1-e17a-419c-93e8-951c186362a3
-:end:
-
-Due to the unique way ~vc-annotate~ ({{{kbd(C-x v g)}}}) applies colors, support
-for its background mode (~vc-annotate-background-mode~) is disabled at the
-theme level.
-
-Normally, such a drastic measure should not belong in a theme: assuming
-the user's preferences is bad practice. However, it has been deemed
-necessary in the interest of preserving color contrast accessibility
-while still supporting a useful built-in tool.
-
-If there actually is a way to avoid such a course of action, without
-prejudice to the accessibility standard of this project, then please
-report as much or send patches ([[#h:9c3cd842-14b7-44d7-84b2-a5c8bc3fc3b1][Contributing]]).
-
** Note on pdf-tools link hints
:properties:
:custom_id: h:2659d13e-b1a5-416c-9a89-7c3ce3a76574
[[#h:5808be52-361a-4d18-88fd-90129d206f9b][Option for links]].
-Again, one must exercise judgment in order to avoid discrimination,
+Again, one must exercise judgement in order to avoid discrimination,
where "discrimination" refers to:
+ The treatment of substantially different magnitudes as if they were of
not-so-obvious error of treating different cases as if they were the
same.
-The Modus themes prioritize "thematic consistency" over abstract harmony
+The Modus themes prioritise "thematic consistency" over abstract harmony
or regularity among their applicable colors. In concrete terms, we do
not claim that, say, our yellows are the best complements for our blues
because we generally avoid using complementary colors side-by-side, so
-it is wrong to optimize for a decontextualised blue+yellow combination.
+it is wrong to optimise for a decontextualised blue+yellow combination.
Not to imply that our colors do not work well together because they do,
just to clarify that consistency of context is what themes must strive
for, and that requires widening the scope of the design beyond the
Gautier Ponsinet, Gerry Agbobada, Gianluca Recchia, Gonçalo Marrafa,
Guilherme Semente, Gustavo Barros, Hörmetjan Yiltiz, Ilja Kocken, Iris
Garcia, Ivan Popovych, Jeremy Friesen, Jerry Zhang, Johannes Grødem,
- John Haman, Jorge Morais, Joshua O'Connor, Julio C. Villasante, Kenta
- Usami, Kevin Fleming, Kévin Le Gouguec, Kostadin Ninev, Len Trigg,
- Lennart C. Karssen, Magne Hov, Manuel Uberti, Mark Bestley, Mark
- Burton, Markus Beppler, Mauro Aranda, Maxime Tréca, Michael
- Goldenberg, Morgan Smith, Morgan Willcock, Murilo Pereira, Nicky van
- Foreest, Nicolas De Jaeghere, Paul Poloskov, Pengji Zhang, Pete
- Kazmier, Peter Wu, Philip Kaludercic, Pierre Téchoueyres, Przemysław
- Kryger, Robert Hepple, Roman Rudakov, Ryan Phillips, Rytis Paškauskas,
- Rudolf Adamkovič, Sam Kleinman, Samuel Culpepper, Saša Janiška,
- Shreyas Ragavan, Simon Pugnet, Tassilo Horn, Thibaut Verron, Thomas
- Heartman, Togan Muftuoglu, Tony Zorman, Trey Merkley, Tomasz
- Hołubowicz, Toon Claes, Uri Sharf, Utkarsh Singh, Vincent Foley. As
- well as users: Ben, CsBigDataHub1, Emacs Contrib, Eugene, Fourchaux,
- Fredrik, Moesasji, Nick, TheBlob42, Trey, bepolymathe, bit9tream,
- derek-upham, doolio, fleimgruber, gitrj95, iSeeU, jixiuf, okamsn,
- pRot0ta1p.
+ John Haman, Jonas Collberg, Jorge Morais, Joshua O'Connor, Julio
+ C. Villasante, Kenta Usami, Kevin Fleming, Kévin Le Gouguec, Kostadin
+ Ninev, Len Trigg, Lennart C. Karssen, Magne Hov, Manuel Uberti, Mark
+ Bestley, Mark Burton, Markus Beppler, Matt Armstrong, Mauro Aranda,
+ Maxime Tréca, Michael Goldenberg, Morgan Smith, Morgan Willcock,
+ Murilo Pereira, Nicky van Foreest, Nicolas De Jaeghere, Paul Poloskov,
+ Pengji Zhang, Pete Kazmier, Peter Wu, Philip Kaludercic, Pierre
+ Téchoueyres, Przemysław Kryger, Robert Hepple, Roman Rudakov, Ryan
+ Phillips, Rytis Paškauskas, Rudolf Adamkovič, Sam Kleinman, Samuel
+ Culpepper, Saša Janiška, Shreyas Ragavan, Simon Pugnet, Tassilo Horn,
+ Thibaut Verron, Thomas Heartman, Togan Muftuoglu, Tony Zorman, Trey
+ Merkley, Tomasz Hołubowicz, Toon Claes, Uri Sharf, Utkarsh Singh,
+ Vincent Foley. As well as users: Ben, CsBigDataHub1, Emacs Contrib,
+ Eugene, Fourchaux, Fredrik, Moesasji, Nick, Summer Emacs, TheBlob42,
+ Trey, bepolymathe, bit9tream, derek-upham, doolio, fleimgruber,
+ gitrj95, iSeeU, jixiuf, okamsn, pRot0ta1p.
+ Packaging :: Basil L.{{{space()}}} Contovounesios, Eli Zaretskii,
Glenn Morris, Mauro Aranda, Richard Stallman, Stefan Kangas (core
+ Inspiration for certain features :: Bozhidar Batsov (zenburn-theme),
Fabrice Niessen (leuven-theme).
-Special thanks (from A-Z) to Gustavo Barros, Manuel Uberti, Nicolas De
-Jaeghere, and Omar Antolín Camarena for their long time contributions
-and insightful commentary on key aspects of the themes' design and/or
-aspects of their functionality.
+Special thanks (from A-Z) to Daniel Mendler, Gustavo Barros, Manuel
+Uberti, Nicolas De Jaeghere, and Omar Antolín Camarena for their long
+time contributions and insightful commentary on key aspects of the
+themes' design and/or aspects of their functionality.
+
+All errors are my own.
* Other notes about the project
:properties:
;; Copyright (C) 2019-2022 Free Software Foundation, Inc.
;; Author: Protesilaos Stavrou <info@protesilaos.com>
+;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht>
;; URL: https://git.sr.ht/~protesilaos/modus-themes
-;; Mailing list: https://lists.sr.ht/~protesilaos/modus-themes
-;; Version: 2.4.1
+;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes
+;; Version: 2.5.0
;; Package-Requires: ((emacs "27.1"))
;; Keywords: faces, theme, accessibility
:prefix "modus-themes-"
:tag "Modus Themes Faces")
-(defvar modus-themes--version "2.5.0-dev"
+(defvar modus-themes--version "2.5.0"
"Current version of the Modus themes.
The version either is the last tagged release, such as '2.4.0',
:group 'modus-themes-faces)
(defface modus-themes-special-cold nil
- "Combines the 'special cold' background and foreground values.
+ "Combines the special cold background and foreground values.
This is intended for cases when a neutral gray background is not
suitable and where a combination of more saturated colors would
not be appropriate.
:group 'modus-themes-faces)
(defface modus-themes-special-mild nil
- "Combines the 'special mild' background and foreground values.
+ "Combines the special mild background and foreground values.
This is intended for cases when a neutral gray background is not
suitable and where a combination of more saturated colors would
not be appropriate.
:group 'modus-themes-faces)
(defface modus-themes-special-warm nil
- "Combines the 'special warm' background and foreground values.
+ "Combines the special warm background and foreground values.
This is intended for cases when a neutral gray background is not
suitable and where a combination of more saturated colors would
not be appropriate.
:group 'modus-themes-faces)
(defface modus-themes-special-calm nil
- "Combines the 'special calm' background and foreground values.
+ "Combines the special calm background and foreground values.
This is intended for cases when a neutral gray background is not
suitable and where a combination of more saturated colors would
not be appropriate.
:group 'modus-themes-faces)
(defface modus-themes-diff-added nil
- "Combines green colors for the 'added' state in diffs.
+ "Combines green colors for the added state in diffs.
The applied colors are contingent on the value assigned to
`modus-themes-diffs'.
:group 'modus-themes-faces)
(defface modus-themes-diff-changed nil
- "Combines yellow colors for the 'changed' state in diffs.
+ "Combines yellow colors for the changed state in diffs.
The applied colors are contingent on the value assigned to
`modus-themes-diffs'.
:group 'modus-themes-faces)
(defface modus-themes-diff-removed nil
- "Combines red colors for the 'removed' state in diffs.
+ "Combines red colors for the removed state in diffs.
The applied colors are contingent on the value assigned to
`modus-themes-diffs'.
:group 'modus-themes-faces)
(defface modus-themes-diff-refine-added nil
- "Combines green colors for word-wise 'added' state in diffs.
+ "Combines green colors for word-wise added state in diffs.
The applied colors are contingent on the value assigned to
`modus-themes-diffs'.
:group 'modus-themes-faces)
(defface modus-themes-diff-refine-changed nil
- "Combines yellow colors for word-wise 'changed' state in diffs.
+ "Combines yellow colors for word-wise changed state in diffs.
The applied colors are contingent on the value assigned to
`modus-themes-diffs'.
:group 'modus-themes-faces)
(defface modus-themes-diff-refine-removed nil
- "Combines red colors for word-wise 'removed' state in diffs.
+ "Combines red colors for word-wise removed state in diffs.
The applied colors are contingent on the value assigned to
`modus-themes-diffs'.
:group 'modus-themes-faces)
(defface modus-themes-diff-focus-added nil
- "Combines green colors for the focused 'added' state in diffs.
+ "Combines green colors for the focused added state in diffs.
The applied colors are contingent on the value assigned to
`modus-themes-diffs'.
:group 'modus-themes-faces)
(defface modus-themes-diff-focus-changed nil
- "Combines yellow colors for the focused 'changed' state in.
+ "Combines yellow colors for the focused changed state in diffs.
The applied colors are contingent on the value assigned to
`modus-themes-diffs'.
:group 'modus-themes-faces)
(defface modus-themes-diff-focus-removed nil
- "Combines red colors for the focused 'removed' state in diffs.
+ "Combines red colors for the focused removed state in diffs.
The applied colors are contingent on the value assigned to
`modus-themes-diffs'.
"Applies a blue color and other styles for mark indicators.
This is intended for use in modes such as Dired, Ibuffer, Proced.
+The actual styling of the face is done by `modus-themes-faces'."
+ :group 'modus-themes-faces)
+
+(defface modus-themes-heading-0 nil
+ "General purpose face for use as the document's title.
+The exact attributes assigned to this face are contingent on the
+values assigned to the `modus-themes-headings' variable.
+
The actual styling of the face is done by `modus-themes-faces'."
:group 'modus-themes-faces)
Custom interfaces or with `customize-set-variable' will not
reload the currently active Modus theme.
-Enable this behavior by setting this variable to nil."
+Enable this behaviour by setting this variable to nil."
:group 'modus-themes
:package-version '(modus-themes . "1.5.0")
:version "28.1"
:type '(alist :key-type symbol :value-type color)
:set #'modus-themes--set-option
:initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Override colors (DIY)"))
+ :link '(info-link "(modus-themes) Override colors"))
(defcustom modus-themes-vivendi-color-overrides nil
"Override colors in the Modus Vivendi palette.
:type '(alist :key-type symbol :value-type color)
:set #'modus-themes--set-option
:initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Override colors (DIY)"))
+ :link '(info-link "(modus-themes) Override colors"))
;; The byte compiler complains when a defcustom isn't a top level form
(let* ((names (mapcar (lambda (pair)
This is a helper variable intended for internal use.")
(defcustom modus-themes-headings nil
- "Heading styles with optional list of values for levels 1-8.
+ "Heading styles with optional list of values for levels 0-8.
This is an alist that accepts a (key . list-of-values)
combination. The key is either a number, representing the
-heading's level or t, which pertains to the fallback style. The
-list of values covers symbols that refer to properties, as
-described below. Here is a sample, followed by a presentation of
-all available properties:
+heading's level (0-8) or t, which pertains to the fallback style.
+
+Level 0 is a special heading: it is used for what counts as a
+document title or equivalent, such as the #+title construct we
+find in Org files. Levels 1-8 are regular headings.
+
+The list of values covers symbols that refer to properties, as
+described below. Here is a complete sample, followed by a
+presentation of all available properties:
(setq modus-themes-headings
(quote ((1 . (background overline variable-pitch 1.5))
and `background' properties. Depending on the version of Org,
there may be others, such as `org-fontify-done-headline'."
:group 'modus-themes
- :package-version '(modus-themes . "2.3.0")
+ :package-version '(modus-themes . "2.5.0")
:version "29.1"
:type `(alist
:options ,(mapcar (lambda (el)
(list el modus-themes--headings-choice))
- '(1 2 3 4 5 6 7 8 t))
+ '(0 1 2 3 4 5 6 7 8 t))
:key-type symbol
:value-type ,modus-themes--headings-choice)
:set #'modus-themes--set-option
yellow, green, blue, in tinted and shaded versions. They cover
the full set of information provided by the `org-habit'
consistency graph.
+
- `simplified' is like the default except that it removes the
dichotomy between current and future variants by applying
uniform color-coded values. It applies a total of four colors:
the default. The intent is to shift focus towards the
distinction between the four states of a habit task, rather
than each state's present/future outlook.
+
- `traffic-light' further reduces the available colors to red,
yellow, and green. As in `simplified', present and future
- variants appear uniformly, but differently from it, the 'clear'
+ variants appear uniformly, but differently from it, the CLEAR
state is rendered in a green hue, instead of the original blue.
This is meant to capture the use-case where a habit task being
- \"too early\" is less important than it being \"too late\".
- The difference between ready and clear states is attenuated by
+ too early is less important than it being too late. The
+ difference between READY and CLEAR states is attenuated by
painting both of them using shades of green. This option thus
highlights the alert and overdue states.
+
- When `modus-themes-deuteranopia' is non-nil the exact style of
the habit graph adapts to the needs of users with red-green
color deficiency by substituting every instance of green with
and are toned down a bit, relative to the default style.
The `moody' property optimizes the mode line for use with the
-library of the same name (hereinafter referred to as 'Moody').
+library of the same name (hereinafter referred to as Moody).
In practice, it removes the box effect and replaces it with
underline and overline properties. It also tones down the
inactive mode lines. Despite its intended purpose, this option
(defun modus-themes--paren (normalbg intensebg)
"Conditional use of intense colors for matching parentheses.
-NORMALBG should be the special palette color 'bg-paren-match' or
+NORMALBG should be the special palette color bg-paren-match or
something similar. INTENSEBG must be easier to discern next to
other backgrounds, such as the special palette color
-'bg-paren-match-intense'."
+bg-paren-match-intense."
(let ((properties (modus-themes--list-or-warn 'modus-themes-paren-match)))
(list :inherit
(if (memq 'bold properties)
((and (memq 'alt-syntax properties)
(memq 'yellow-comments properties)
(not (memq 'green-strings properties)))
- (or faint-yellow yellow))
+ yellow)
((memq 'yellow-comments properties)
yellow)
((memq 'faint properties)
(defun modus-themes--agenda-habit (default traffic simple &optional default-d traffic-d simple-d)
"Specify background values for `modus-themes-org-agenda' habits.
DEFAULT is the original foregrounc color. TRAFFIC is to be used
-when the 'traffic-light' style is applied, while SIMPLE
-corresponds to the 'simplified style'.
+when the traffic-light style is applied, while SIMPLE corresponds
+to the simplified style.
Optional DEFAULT-D, TRAFFIC-D, SIMPLE-D are alternatives to the
main colors, meant for dopia when `modus-themes-deuteranopia' is
;;;; Utilities for DIY users
-;;;;; List colors (a respin of M-x list-colors-display)
+;;;;; List colors (a variant of M-x list-colors-display)
-(defun modus-themes--list-colors-render (buffer palette)
- "Render colors in BUFFER from PALETTE.
+(defun modus-themes--list-colors-render (buffer theme &rest _)
+ "Render colors in BUFFER from THEME.
Routine for `modus-themes-list-colors'."
- (with-help-window buffer
- (with-current-buffer standard-output
- (erase-buffer)
- ;; We need this to properly render the first line.
- (insert " ")
- (dolist (cell palette)
- (let* ((name (car cell))
- (color (cdr cell))
- (fg (readable-foreground-color color))
- (pad (make-string 5 ?\s)))
- (let ((old-point (point)))
- (insert (format "%s %s" color pad))
- (put-text-property old-point (point) 'face `( :foreground ,color)))
- (let ((old-point (point)))
- (insert (format " %s %s %s\n" color pad name))
- (put-text-property old-point (point)
- 'face `( :background ,color
- :foreground ,fg
- :extend t)))
- ;; We need this to properly render the last line.
- (insert " "))))))
+ (let ((palette (seq-uniq (modus-themes--palette theme)
+ (lambda (x y)
+ (eq (car x) (car y)))))
+ (current-buffer buffer)
+ (current-theme theme))
+ (with-help-window buffer
+ (with-current-buffer standard-output
+ (erase-buffer)
+ (when (<= (display-color-cells) 256)
+ (insert (concat "Your display terminal may not render all color previews!\n"
+ "It seems to only support <= 256 colors.\n\n"))
+ (put-text-property (point-min) (point) 'face 'warning))
+ ;; We need this to properly render the first line.
+ (insert " ")
+ (dolist (cell palette)
+ (let* ((name (car cell))
+ (color (cdr cell))
+ (fg (readable-foreground-color color))
+ (pad (make-string 5 ?\s)))
+ (let ((old-point (point)))
+ (insert (format "%s %s" color pad))
+ (put-text-property old-point (point) 'face `( :foreground ,color)))
+ (let ((old-point (point)))
+ (insert (format " %s %s %s\n" color pad name))
+ (put-text-property old-point (point)
+ 'face `( :background ,color
+ :foreground ,fg
+ :extend t)))
+ ;; We need this to properly render the last line.
+ (insert " ")))
+ (setq-local revert-buffer-function
+ (lambda (_ignore-auto _noconfirm)
+ (modus-themes--list-colors-render current-buffer current-theme)))))))
(defvar modus-themes--list-colors-prompt-history '()
"Minibuffer history for `modus-themes--list-colors-prompt'.")
(defun modus-themes-list-colors (theme)
"Preview palette of the Modus THEME of choice."
- (interactive
- (list (intern (modus-themes--list-colors-prompt))))
- (let ((palette (pcase theme
- ('modus-operandi modus-themes-operandi-colors)
- ('modus-vivendi modus-themes-vivendi-colors)
- (_ (user-error "`%s' is not a Modus theme" theme)))))
- (modus-themes--list-colors-render
- (format "*%s-list-colors*" theme)
- palette)))
+ (interactive (list (intern (modus-themes--list-colors-prompt))))
+ (modus-themes--list-colors-render
+ (format "*%s-list-colors*" theme)
+ theme))
(defun modus-themes-list-colors-current ()
"Call `modus-themes-list-colors' for the current Modus theme."
`(modus-themes-mark-symbol ((,class :inherit bold :foreground ,blue-alt)))
;;;;; heading levels
;; styles for regular headings used in Org, Markdown, Info, etc.
+ `(modus-themes-heading-0
+ ((,class ,@(modus-themes--heading
+ 0 cyan-alt-other blue-alt
+ cyan-nuanced-bg bg-alt bg-region))))
`(modus-themes-heading-1
((,class ,@(modus-themes--heading
1 fg-main magenta-alt-other
((,class ,@(modus-themes--markup magenta-alt magenta-intense bg-alt
bg-special-faint-calm))))
;;;;; search
- `(modus-themes-search-success ((,class :inherit ,@(modus-themes--deuteran
- 'modus-themes-intense-blue
- 'modus-themes-intense-green))))
- `(modus-themes-search-success-lazy ((,class :inherit ,@(modus-themes--deuteran
- 'modus-themes-special-mild
- 'modus-themes-refine-cyan))))
+ `(modus-themes-search-success ((,class :inherit modus-themes-intense-yellow)))
+ `(modus-themes-search-success-lazy ((,class :inherit modus-themes-subtle-cyan)))
`(modus-themes-search-success-modeline ((,class :foreground ,@(modus-themes--deuteran
blue-active
green-active))))
cyan-alt-other blue-alt-other fg-alt
cyan-nuanced-bg blue-refine-bg fg-main
bg-alt bg-active))))
- `(modus-themes-reset-hard ((,class :inherit (fixed-pitch modus-themes-reset-soft))))
+ `(modus-themes-reset-hard ((,class :inherit (fixed-pitch modus-themes-reset-soft)
+ :family ,(face-attribute 'default :family))))
`(modus-themes-reset-soft ((,class :background ,bg-main :foreground ,fg-main
:weight normal :slant normal :strike-through nil
:box nil :underline nil :overline nil :extend nil)))
`(comint-highlight-input ((,class :inherit bold)))
`(comint-highlight-prompt ((,class :inherit modus-themes-prompt)))
`(confusingly-reordered ((,class :inherit modus-themes-lang-error)))
+ `(edmacro-label ((,class :inherit bold :foreground ,cyan)))
`(elisp-shorthand-font-lock-face ((,class :inherit font-lock-variable-name-face)))
`(error ((,class :inherit bold :foreground ,red)))
`(escape-glyph ((,class :foreground ,fg-escape-char-construct)))
`(mm-command-output ((,class :foreground ,red-alt-other)))
`(mm-uu-extract ((,class :background ,bg-dim :foreground ,fg-special-mild)))
`(next-error ((,class :inherit modus-themes-subtle-red :extend t)))
- `(pgtk-im-0 ((,class :inherit modus-themes-fringe-blue :underline t)))
- `(rectangle-preview ((,class :background ,bg-special-faint-warm :foreground ,fg-special-warm)))
+ `(pgtk-im-0 ((,class :inherit modus-themes-refine-cyan)))
+ `(rectangle-preview ((,class :inherit modus-themes-special-warm)))
`(region ((,class ,@(modus-themes--region bg-region fg-main
bg-hl-alt-intense bg-region-accent
bg-region-accent-subtle))))
`(anzu-match-3 ((,class :inherit modus-themes-subtle-yellow)))
`(anzu-mode-line ((,class :inherit (bold modus-themes-search-success-modeline))))
`(anzu-mode-line-no-match ((,class :inherit bold :foreground ,red-active)))
- `(anzu-replace-highlight ((,class :inherit modus-themes-refine-yellow :underline t)))
- `(anzu-replace-to ((,class :inherit (modus-themes-search-success bold))))
+ `(anzu-replace-highlight ((,class :inherit modus-themes-refine-red :underline t)))
+ `(anzu-replace-to ((,class :inherit modus-themes-search-success)))
;;;;; apropos
`(apropos-button ((,class :foreground ,magenta-alt-other)))
`(apropos-function-button ((,class :foreground ,magenta)))
`(calibredb-mark-face ((,class :inherit modus-themes-mark-sel)))
`(calibredb-size-face (( )))
`(calibredb-tag-face ((,class :foreground ,magenta-alt-faint)))
-;;;;; centaur-tabs
- `(centaur-tabs-active-bar-face ((,class :background ,blue-active)))
- `(centaur-tabs-close-mouse-face ((,class :inherit bold :foreground ,red-active :underline t)))
- `(centaur-tabs-close-selected ((,class :inherit centaur-tabs-selected)))
- `(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)))
- `(centaur-tabs-selected ((,class :inherit modus-themes-tab-active)))
- `(centaur-tabs-selected-modified ((,class :inherit (italic centaur-tabs-selected))))
- `(centaur-tabs-unselected ((,class :inherit modus-themes-tab-inactive)))
- `(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')
`(company-tooltip-scrollbar-thumb ((,class :background ,fg-active)))
`(company-tooltip-scrollbar-track ((,class :background ,bg-active)))
`(company-tooltip-search ((,class :inherit (modus-themes-search-success-lazy bold))))
- `(company-tooltip-search-selection ((,class :inherit (modus-themes-search-success bold) :underline t)))
+ `(company-tooltip-search-selection ((,class :inherit modus-themes-search-success :underline t)))
`(company-tooltip-selection ((,class :inherit modus-themes-completion-selected-popup)))
;;;;; company-posframe
`(company-posframe-active-backend-name ((,class :inherit bold :background ,bg-active :foreground ,blue-active)))
;;;;; csv-mode
`(csv-separator-face ((,class :foreground ,red-intense)))
;;;;; ctrlf
- `(ctrlf-highlight-active ((,class :inherit (modus-themes-search-success bold))))
+ `(ctrlf-highlight-active ((,class :inherit modus-themes-search-success)))
`(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 :inherit modus-themes-box-button)))
`(custom-button-mouse ((,class :inherit (highlight custom-button))))
`(dap-ui-sessions-stack-frame-face ((,class :inherit bold :foreground ,magenta-alt)))
`(dap-ui-sessions-terminated-active-face ((,class :inherit bold :foreground ,fg-alt)))
`(dap-ui-sessions-terminated-face ((,class :inherit shadow)))
-;;;;; dashboard (emacs-dashboard)
- `(dashboard-banner-logo-title ((,class :inherit bold :foreground ,fg-special-cold)))
- `(dashboard-footer ((,class :inherit bold :foreground ,fg-special-mild)))
- `(dashboard-heading ((,class :inherit bold :foreground ,fg-special-warm)))
- `(dashboard-navigator ((,class :foreground ,cyan-alt-other)))
- `(dashboard-text-banner ((,class :foreground ,fg-dim)))
;;;;; deadgrep
`(deadgrep-filename-face ((,class :inherit bold :foreground ,fg-special-cold)))
`(deadgrep-match-face ((,class :inherit modus-themes-special-calm)))
`(debbugs-gnu-stale-5 ((,class :foreground ,red-alt)))
`(debbugs-gnu-tagged ((,class :foreground ,magenta-alt)))
;;;;; deft
- `(deft-filter-string-error-face ((,class :inherit modus-themes-refine-red)))
- `(deft-filter-string-face ((,class :foreground ,green-intense)))
- `(deft-header-face ((,class :inherit bold :foreground ,fg-special-warm)))
- `(deft-separator-face ((,class :inherit shadow)))
+ `(deft-filter-string-face ((,class :inherit bold :foreground ,blue)))
+ `(deft-header-face ((,class :foreground ,fg-special-warm)))
+ `(deft-separator-face ((,class :foreground "gray50")))
`(deft-summary-face ((,class :inherit (shadow modus-themes-slant))))
- `(deft-time-face ((,class :foreground ,fg-special-cold)))
- `(deft-title-face ((,class :inherit bold :foreground ,fg-main)))
+ `(deft-time-face ((,class :foreground ,cyan)))
+ `(deft-title-face ((,class :inherit bold)))
+;;;;; denote
+ `(denote-faces-date ((,class :foreground ,cyan)))
+ `(denote-faces-keywords ((,class :inherit modus-themes-bold :foreground ,magenta-alt)))
;;;;; devdocs
`(devdocs-code-block ((,class :inherit modus-themes-fixed-pitch :background ,bg-dim :extend t)))
;;;;; dictionary
`(dired-git-branch-else ((,class :inherit bold :foreground ,magenta-alt)))
`(dired-git-branch-master ((,class :inherit bold :foreground ,magenta-alt-other)))
;;;;; dired-git-info
- `(dgi-commit-message-face ((,class :foreground ,fg-special-mild)))
+ `(dgi-commit-message-face ((,class :foreground ,cyan-alt-other)))
;;;;; dired-narrow
`(dired-narrow-blink ((,class :inherit (modus-themes-subtle-cyan bold))))
;;;;; dired-subtree
`(doom-modeline-unread-number ((,class :inherit italic :foreground ,fg-active)))
`(doom-modeline-urgent ((,class :inherit bold :foreground ,red-active)))
`(doom-modeline-warning ((,class :inherit bold :foreground ,yellow-active)))
-;;;;; dynamic-ruler
- `(dynamic-ruler-negative-face ((,class :inherit modus-themes-intense-neutral)))
- `(dynamic-ruler-positive-face ((,class :inherit modus-themes-intense-yellow)))
;;;;; easy-jekyll
- `(easy-jekyll-help-face ((,class :background ,bg-dim :foreground ,cyan-alt-other)))
+ `(easy-jekyll-help-face ((,class :background ,bg-dim :foreground ,blue-alt-other)))
;;;;; ebdb
`(ebdb-address-default ((,class :foreground ,fg-special-calm)))
`(ebdb-defunct ((,class :inherit shadow)))
`(evil-ex-lazy-highlight ((,class :inherit modus-themes-search-success-lazy)))
`(evil-ex-search ((,class :inherit modus-themes-search-success)))
`(evil-ex-substitute-matches ((,class :inherit modus-themes-refine-yellow :underline t)))
- `(evil-ex-substitute-replacement ((,class :inherit (modus-themes-search-success bold))))
+ `(evil-ex-substitute-replacement ((,class :inherit modus-themes-search-success)))
;;;;; evil-goggles
`(evil-goggles-change-face ((,class :inherit modus-themes-refine-yellow)))
`(evil-goggles-commentary-face ((,class :inherit (modus-themes-subtle-neutral modus-themes-slant))))
`(flx-highlight-face ((,class :inherit modus-themes-completion-match-0)))
;;;;; freeze-it
`(freeze-it-show ((,class :background ,bg-dim :foreground ,fg-special-warm)))
-;;;;; frog-menu
- `(frog-menu-action-keybinding-face ((,class :inherit modus-themes-key-binding)))
- `(frog-menu-actions-face ((,class :foreground ,magenta)))
- `(frog-menu-border ((,class :background ,bg-active)))
- `(frog-menu-candidates-face ((,class :foreground ,fg-main)))
- `(frog-menu-posframe-background-face ((,class :background ,bg-dim)))
- `(frog-menu-prompt-face ((,class :foreground ,cyan)))
;;;;; focus
`(focus-unfocused ((,class :foreground ,fg-unfocused)))
;;;;; fold-this
blue-alt blue-alt-faint))))
`(font-lock-warning-face ((,class :inherit modus-themes-bold
,@(modus-themes--syntax-foreground
- yellow-active yellow-alt-faint))))
+ yellow yellow-alt-faint))))
;;;;; forge
`(forge-post-author ((,class :inherit bold :foreground ,fg-main)))
`(forge-post-date ((,class :foreground ,fg-special-cold)))
;;;;; helpful
`(helpful-heading ((,class :inherit modus-themes-heading-1)))
;;;;; highlight region or ad-hoc regexp
- `(hi-aquamarine ((,class :background ,cyan-subtle-bg :foreground ,fg-main)))
- `(hi-black-b ((,class :inherit bold :background ,fg-main :foreground ,bg-main)))
- `(hi-black-hb ((,class :inherit bold :background ,fg-alt :foreground ,bg-main)))
- `(hi-blue ((,class :background ,blue-subtle-bg :foreground ,fg-main)))
+ ;; HACK 2022-06-23: The :inverse-video prevents hl-line-mode from
+ ;; overriding the background. Such an override really defeats the
+ ;; purpose of setting those highlights.
+ `(hi-aquamarine ((,class :background ,bg-main :foreground ,cyan :inverse-video t)))
+ `(hi-black-b ((,class :inverse-video t)))
+ `(hi-black-hb ((,class :background ,bg-main :foreground ,fg-alt :inverse-video t)))
+ `(hi-blue ((,class :background ,bg-main :foreground ,blue-alt :inverse-video t)))
`(hi-blue-b ((,class :inherit (bold hi-blue))))
- `(hi-green ((,class :background ,green-subtle-bg :foreground ,fg-main)))
+ `(hi-green ((,class :background ,bg-main :foreground ,green :inverse-video t)))
`(hi-green-b ((,class :inherit (bold hi-green))))
- `(hi-pink ((,class :background ,magenta-subtle-bg :foreground ,fg-main)))
- `(hi-pink-b ((,class :inherit (bold hi-pink))))
- `(hi-red-b ((,class :inherit bold :background ,red-intense-bg :foreground ,fg-main)))
- `(hi-salmon ((,class :background ,red-subtle-bg :foreground ,fg-main)))
- `(hi-yellow ((,class :background ,yellow-subtle-bg :foreground ,fg-main)))
+ `(hi-pink ((,class :background ,bg-main :foreground ,magenta :inverse-video t)))
+ `(hi-red-b ((,class :inherit bold :background ,bg-main :foreground ,red :inverse-video t)))
+ `(hi-salmon ((,class :background ,bg-main :foreground ,red-alt-faint :inverse-video t)))
+ `(hi-yellow ((,class :background ,bg-main :foreground ,yellow-alt :inverse-video t)))
`(highlight ((,class ,@(if modus-themes-intense-mouseovers
(list :background blue-intense-bg :foreground fg-main)
(list :background cyan-subtle-bg :foreground fg-main)))))
;;;;; highlight-numbers
`(highlight-numbers-number ((,class :foreground ,blue-alt-other)))
;;;;; highlight-thing
- `(highlight-thing ((,class :background ,bg-alt :foreground ,cyan)))
+ `(highlight-thing ((,class :inherit modus-themes-special-calm)))
;;;;; hl-defined
`(hdefd-functions ((,class :foreground ,blue)))
`(hdefd-undefined ((,class :foreground ,red-alt)))
`(info-title-2 ((,class :inherit modus-themes-heading-2)))
`(info-title-3 ((,class :inherit modus-themes-heading-3)))
`(info-title-4 ((,class :inherit modus-themes-heading-4)))
+;;;;; info+ (info-plus)
+ `(info-command-ref-item ((,class :inherit font-lock-function-name-face)))
+ `(info-constant-ref-item ((,class :inherit font-lock-constant-face)))
+ `(info-custom-delimited ((,class :inherit modus-themes-markup-verbatim)))
+ `(info-double-quoted-name ((,class :inherit font-lock-string-face)))
+ `(info-file (( )))
+ `(info-function-ref-item ((,class :inherit font-lock-function-name-face)))
+ `(info-glossary-word ((,class :inherit modus-themes-box-button)))
+ `(info-indented-text (( )))
+ `(info-isolated-backquote (( )))
+ `(info-isolated-quote (( )))
+ `(info-macro-ref-item ((,class :inherit font-lock-keyword-face)))
+ `(info-menu ((,class :inherit bold)))
+ `(info-quoted-name ((,class :inherit modus-themes-markup-verbatim)))
+ `(info-reference-item ((,class :inherit bold)))
+ `(info-special-form-ref-item ((,class :inherit warning)))
+ `(info-string ((,class :inherit font-lock-string-face)))
+ `(info-syntax-class-item ((,class :inherit modus-themes-markup-code)))
+ `(info-user-option-ref-item ((,class :inherit font-lock-variable-name-face)))
+ `(info-variable-ref-item ((,class :inherit font-lock-variable-name-face)))
;;;;; info-colors
`(info-colors-lisp-code-block ((,class :inherit modus-themes-fixed-pitch)))
`(info-colors-ref-item-command ((,class :inherit font-lock-function-name-face)))
`(ioccur-regexp-face ((,class :inherit (modus-themes-intense-magenta bold))))
`(ioccur-title-face ((,class :inherit modus-themes-pseudo-header :foreground ,fg-special-cold)))
;;;;; isearch, occur, and the like
- `(isearch ((,class :inherit (modus-themes-search-success bold))))
+ `(isearch ((,class :inherit modus-themes-search-success)))
`(isearch-fail ((,class :inherit modus-themes-refine-red)))
`(isearch-group-1 ((,class :inherit modus-themes-refine-blue)))
`(isearch-group-2 ((,class :inherit modus-themes-refine-magenta)))
`(lazy-highlight ((,class :inherit modus-themes-search-success-lazy)))
`(match ((,class :inherit modus-themes-special-calm)))
- `(query-replace ((,class :inherit (modus-themes-intense-yellow bold))))
+ `(query-replace ((,class :inherit modus-themes-intense-red)))
;;;;; ivy
`(ivy-action ((,class :inherit modus-themes-key-binding)))
`(ivy-confirm-face ((,class :inherit success)))
`(ledger-font-payee-pending-face ((,class :foreground ,yellow)))
`(ledger-font-payee-uncleared-face ((,class :foreground ,red-alt-other)))
`(ledger-font-xact-highlight-face ((,class :background ,bg-hl-alt)))
+;;;;; leerzeichen
+ `(leerzeichen ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
;;;;; line numbers (display-line-numbers-mode and global variant)
;; Here we cannot inherit `modus-themes-fixed-pitch'. We need to
;; fall back to `default' otherwise line numbers do not scale when
;; using `text-scale-adjust'.
`(line-number
- ((,class :inherit ,(if modus-themes-mixed-fonts 'fixed-pitch 'default)
+ ((,class :inherit ,(if modus-themes-mixed-fonts '(fixed-pitch default) 'default)
,@(modus-themes--line-numbers
fg-alt bg-dim
fg-unfocused))))
`(makefile-makepp-perl ((,class :background ,cyan-nuanced-bg)))
`(makefile-space ((,class :background ,magenta-nuanced-bg)))
;;;;; man
- `(Man-overstrike ((,class :inherit bold :foreground ,fg-special-calm)))
+ `(Man-overstrike ((,class :inherit bold :foreground ,magenta-alt)))
`(Man-reverse ((,class :inherit modus-themes-subtle-magenta)))
+ `(Man-underline ((,class :foreground ,cyan-alt-other :underline t)))
;;;;; marginalia
`(marginalia-archive ((,class :foreground ,cyan-alt-other)))
`(marginalia-char ((,class :foreground ,magenta)))
`(markup-title-4-face ((,class :inherit modus-themes-heading-5)))
`(markup-title-5-face ((,class :inherit modus-themes-heading-6)))
`(markup-verbatim-face ((,class :inherit modus-themes-fixed-pitch :background ,bg-alt)))
-;;;;; mct
- `(mct-highlight-candidate ((,class :inherit modus-themes-completion-selected)))
;;;;; mentor
`(mentor-download-message ((,class :foreground ,fg-special-warm)))
`(mentor-download-name ((,class :foreground ,fg-special-cold)))
`(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))))
- `(org-agenda-date-today ((,class ,@(modus-themes--agenda-date cyan fg-main
- nil nil
- bg-inactive t t))))
- `(org-agenda-date-weekend ((,class ,@(modus-themes--agenda-date cyan-alt-other-faint fg-alt
- cyan fg-main))))
- `(org-agenda-date-weekend-today ((,class ,@(modus-themes--agenda-date cyan-alt-other-faint fg-alt
- cyan fg-main
- bg-inactive t t))))
+ `(org-agenda-date-today
+ ((,class ,@(modus-themes--agenda-date cyan fg-main nil nil bg-special-cold t t))))
+ `(org-agenda-date-weekend
+ ((,class ,@(modus-themes--agenda-date cyan-alt-other-faint fg-alt cyan fg-main))))
+ `(org-agenda-date-weekend-today
+ ((,class ,@(modus-themes--agenda-date cyan-alt-other-faint fg-alt cyan fg-main bg-special-cold t t))))
`(org-agenda-diary ((,class :inherit org-agenda-calendar-sexp)))
`(org-agenda-dimmed-todo-face ((,class :inherit shadow)))
`(org-agenda-done ((,class :inherit modus-themes-grue-nuanced)))
`(org-dispatcher-highlight ((,class :inherit (bold modus-themes-mark-alt))))
`(org-document-info ((,class :foreground ,fg-special-cold)))
`(org-document-info-keyword ((,class :inherit (shadow modus-themes-fixed-pitch))))
- `(org-document-title ((,class :inherit modus-themes-heading-1 :background ,bg-main :overline nil :foreground ,fg-special-cold)))
+ `(org-document-title ((,class :inherit modus-themes-heading-0)))
`(org-done ((,class :inherit modus-themes-grue)))
`(org-drawer ((,class :inherit (shadow modus-themes-fixed-pitch))))
`(org-ellipsis (())) ; inherits from the heading's color
`(org-journal-calendar-scheduled-face ((,class :inherit modus-themes-slant :foreground ,red-alt-other)))
`(org-journal-highlight ((,class :foreground ,magenta-alt)))
;;;;; org-noter
- `(org-noter-no-notes-exist-face ((,class :inherit bold :foreground ,red-active)))
- `(org-noter-notes-exist-face ((,class :inherit bold :foreground ,green-active)))
+ `(org-noter-no-notes-exist-face ((,class :inherit error)))
+ `(org-noter-notes-exist-face ((,class :inherit success)))
;;;;; org-pomodoro
`(org-pomodoro-mode-line ((,class :foreground ,red-active)))
`(org-pomodoro-mode-line-break ((,class :foreground ,cyan-active)))
`(org-table-sticky-header-face ((,class :inherit modus-themes-special-cold)))
;;;;; org-tree-slide
`(org-tree-slide-header-overlay-face ((,class :inherit org-document-title)))
-;;;;; org-treescope
- `(org-treescope-faces--markerinternal-midday ((,class :inherit modus-themes-intense-blue)))
- `(org-treescope-faces--markerinternal-range ((,class :inherit modus-themes-special-mild)))
;;;;; origami
`(origami-fold-header-face ((,class :background ,bg-dim :foreground ,fg-dim :box t)))
`(origami-fold-replacement-face ((,class :background ,bg-alt :foreground ,fg-alt)))
`(outline-minor-0 (()))
;;;;; package (M-x list-packages)
`(package-description ((,class :foreground ,fg-special-cold)))
- `(package-help-section-name ((,class :inherit bold :foreground ,magenta-alt-other)))
+ `(package-help-section-name ((,class :inherit bold :foreground ,cyan)))
`(package-name ((,class :inherit button)))
- `(package-status-avail-obso ((,class :inherit bold :foreground ,red)))
- `(package-status-available ((,class :foreground ,fg-special-mild)))
+ `(package-status-available ((,class :foreground ,cyan-alt-other)))
+ `(package-status-avail-obso ((,class :inherit error)))
`(package-status-built-in ((,class :foreground ,magenta)))
`(package-status-dependency ((,class :foreground ,magenta-alt-other)))
`(package-status-disabled ((,class :inherit modus-themes-subtle-red)))
`(package-status-external ((,class :foreground ,cyan-alt-other)))
`(package-status-held ((,class :foreground ,yellow-alt)))
- `(package-status-incompat ((,class :inherit bold :foreground ,yellow)))
+ `(package-status-incompat ((,class :inherit warning)))
`(package-status-installed ((,class :foreground ,fg-special-warm)))
- `(package-status-new ((,class :inherit bold :foreground ,green)))
- `(package-status-unsigned ((,class :inherit bold :foreground ,red-alt)))
+ `(package-status-new ((,class :inherit success)))
+ `(package-status-unsigned ((,class :inherit error)))
;;;;; page-break-lines
`(page-break-lines ((,class :inherit default :foreground ,fg-window-divider-outer)))
;;;;; pandoc-mode
`(pandoc-directive-braces-face ((,class :foreground ,blue-alt-other)))
`(pandoc-directive-contents-face ((,class :foreground ,cyan-alt-other)))
`(pandoc-directive-type-face ((,class :foreground ,magenta)))
-;;;;; paradox
- `(paradox-archive-face ((,class :foreground ,fg-special-mild)))
- `(paradox-comment-face ((,class :inherit font-lock-comment-face)))
- `(paradox-commit-tag-face ((,class :inherit modus-themes-refine-magenta :box t)))
- `(paradox-description-face ((,class :foreground ,fg-special-cold)))
- `(paradox-description-face-multiline ((,class :foreground ,fg-special-cold)))
- `(paradox-download-face ((,class :inherit modus-themes-bold :foreground ,blue-alt-other)))
- `(paradox-highlight-face ((,class :inherit modus-themes-bold :foreground ,cyan-alt-other)))
- `(paradox-homepage-button-face ((,class :foreground ,magenta-alt-other :underline t)))
- `(paradox-mode-line-face ((,class :inherit bold :foreground ,cyan-active)))
- `(paradox-name-face ((,class :foreground ,blue :underline t)))
- `(paradox-star-face ((,class :foreground ,magenta)))
- `(paradox-starred-face ((,class :foreground ,magenta-alt)))
;;;;; paren-face
`(parenthesis ((,class :foreground ,fg-unfocused)))
;;;;; pass
`(pomidor-work-face ((,class :inherit modus-themes-grue)))
;;;;; popup
`(popup-face ((,class :background ,bg-alt :foreground ,fg-main)))
- `(popup-isearch-match ((,class :inherit (modus-themes-search-success bold))))
+ `(popup-isearch-match ((,class :inherit modus-themes-search-success)))
`(popup-menu-mouse-face ((,class :inherit highlight)))
`(popup-menu-selection-face ((,class :inherit modus-themes-completion-selected-popup)))
`(popup-scroll-bar-background-face ((,class :background ,bg-active)))
`(popup-summary-face ((,class :background ,bg-active :foreground ,fg-inactive)))
`(popup-tip-face ((,class :inherit modus-themes-refine-yellow)))
;;;;; powerline
- `(powerline-active0 ((,class :background ,blue-faint :foreground ,bg-main)))
- `(powerline-active1 ((,class :background ,blue-nuanced-bg :foreground ,blue-nuanced-fg)))
- `(powerline-active2 ((,class :background ,bg-active :foreground ,fg-active)))
- `(powerline-inactive0 ((,class :background ,bg-special-cold :foreground ,fg-special-cold)))
- `(powerline-inactive1 ((,class :background ,bg-dim :foreground ,fg-inactive)))
- `(powerline-inactive2 ((,class :background ,bg-inactive :foreground ,fg-inactive)))
+ `(powerline-active0 ((,class :background ,fg-unfocused :foreground ,bg-main)))
+ `(powerline-active1 ((,class :inherit mode-line-active)))
+ `(powerline-active2 ((,class :inherit mode-line-inactive)))
+ `(powerline-inactive0 ((,class :background ,bg-active :foreground ,fg-alt)))
+ `(powerline-inactive1 ((,class :background ,bg-main :foreground ,fg-alt)))
+ `(powerline-inactive2 ((,class :inherit mode-line-inactive)))
;;;;; powerline-evil
`(powerline-evil-base-face ((,class :background ,fg-main :foreground ,bg-main)))
`(powerline-evil-emacs-face ((,class :inherit modus-themes-active-magenta)))
;;;;; selectrum
`(selectrum-current-candidate ((,class :inherit modus-themes-completion-selected)))
`(selectrum-mouse-highlight ((,class :inherit highlight)))
- `(selectrum-quick-keys-highlight
- ((,class :inherit modus-themes-refine-red)))
- `(selectrum-quick-keys-match
- ((,class :inherit (bold modus-themes-search-success))))
+ `(selectrum-quick-keys-highlight ((,class :inherit bold :background ,bg-char-0)))
+ `(selectrum-quick-keys-match ((,class :inherit bold :background ,bg-char-1)))
;;;;; selectrum-prescient
`(selectrum-prescient-primary-highlight ((,class :inherit modus-themes-completion-match-0)))
`(selectrum-prescient-secondary-highlight ((,class :inherit modus-themes-completion-match-1)))
`(semantic-tag-boundary-face ((,class :overline ,blue-intense)))
`(semantic-unmatched-syntax-face ((,class :underline ,fg-lang-error)))
;;;;; sesman
- `(sesman-browser-button-face ((,class :foreground ,blue-alt-other :underline t)))
- `(sesman-browser-highligh-face ((,class :inherit modus-themes-subtle-blue)))
+ `(sesman-browser-button-face ((,class :inherit button)))
+ `(sesman-browser-highligh-face ((,class :inherit highlight)))
`(sesman-buffer-face ((,class :foreground ,magenta)))
`(sesman-directory-face ((,class :inherit bold :foreground ,blue)))
`(sesman-project-face ((,class :inherit bold :foreground ,magenta-alt-other)))
`(speedbar-button-face ((,class :inherit button)))
`(speedbar-directory-face ((,class :inherit bold :foreground ,blue)))
`(speedbar-file-face ((,class :foreground ,fg-main)))
- `(speedbar-highlight-face ((,class :inherit modus-themes-subtle-blue)))
+ `(speedbar-highlight-face ((,class :inherit highlight)))
`(speedbar-selected-face ((,class :inherit bold :foreground ,cyan)))
`(speedbar-separator-face ((,class :inherit modus-themes-intense-neutral)))
`(speedbar-tag-face ((,class :foreground ,yellow-alt-other)))
`(symbol-overlay-face-8 ((,class :inherit modus-themes-refine-cyan)))
;;;;; syslog-mode
`(syslog-debug ((,class :inherit bold :foreground ,cyan-alt-other)))
- `(syslog-error ((,class :inherit bold :foreground ,red)))
+ `(syslog-error ((,class :inherit error)))
`(syslog-file ((,class :inherit bold :foreground ,fg-special-cold)))
`(syslog-hide ((,class :background ,bg-main :foreground ,fg-main)))
`(syslog-hour ((,class :inherit bold :foreground ,magenta-alt-other)))
- `(syslog-info ((,class :inherit bold :foreground ,blue-alt-other)))
+ `(syslog-info ((,class :inherit success)))
`(syslog-ip ((,class :inherit bold :foreground ,fg-special-mild :underline t)))
`(syslog-su ((,class :inherit bold :foreground ,red-alt)))
- `(syslog-warn ((,class :inherit bold :foreground ,yellow)))
+ `(syslog-warn ((,class :inherit warning)))
;;;;; tab-bar-groups
`(tab-bar-groups-tab-1 ((,class :inherit modus-themes-ui-variable-pitch :foreground ,blue-tab)))
`(tab-bar-groups-tab-2 ((,class :inherit modus-themes-ui-variable-pitch :foreground ,red-tab)))
`(writegood-weasels-face ((,class :inherit modus-themes-lang-error)))
;;;;; woman
`(woman-addition ((,class :foreground ,magenta-alt-other)))
- `(woman-bold ((,class :inherit bold :foreground ,fg-special-calm)))
- `(woman-unknown ((,class :foreground ,cyan)))
+ `(woman-bold ((,class :inherit bold :foreground ,magenta-alt)))
+ `(woman-italic ((,class :inherit italic :foreground ,cyan)))
+ `(woman-unknown ((,class :foreground ,green-alt)))
;;;;; xah-elisp-mode
`(xah-elisp-at-symbol ((,class :inherit font-lock-warning-face)))
`(xah-elisp-cap-variable ((,class :inherit font-lock-preprocessor-face)))
;;;; awesome-tray
`(awesome-tray-mode-line-active-color ,blue)
`(awesome-tray-mode-line-inactive-color ,bg-active)
+;;;; chart
+ `(chart-face-color-list
+ '( ,red-graph-0-bg ,green-graph-0-bg ,yellow-graph-0-bg ,blue-graph-0-bg ,magenta-graph-0-bg ,cyan-graph-0-bg
+ ,red-graph-1-bg ,green-graph-1-bg ,yellow-graph-1-bg ,blue-graph-1-bg ,magenta-graph-1-bg ,cyan-graph-1-bg))
;;;; exwm
`(exwm-floating-border-color ,fg-window-divider-inner)
;;;; flymake fringe indicators
;;;; pdf-tools
`(pdf-view-midnight-colors
'(,fg-main . ,bg-dim))
-;;;; vc-annotate (C-x v g)
- `(vc-annotate-background nil)
- `(vc-annotate-background-mode nil)
- `(vc-annotate-color-map
- '((20 . ,red)
- (40 . ,magenta)
- (60 . ,magenta-alt)
- (80 . ,red-alt)
- (100 . ,yellow)
- (120 . ,yellow-alt)
- (140 . ,fg-special-warm)
- (160 . ,fg-special-mild)
- (180 . ,green)
- (200 . ,green-alt)
- (220 . ,cyan-alt-other)
- (240 . ,cyan-alt)
- (260 . ,cyan)
- (280 . ,fg-special-cold)
- (300 . ,blue)
- (320 . ,blue-alt)
- (340 . ,blue-alt-other)
- (360 . ,magenta-alt-other)))
- `(vc-annotate-very-old-color nil)
;;;; wid-edit
`(widget-link-prefix ,(if (memq 'all-buttons modus-themes-box-buttons)
" "