From 0a0ba32b12fa9dc06db950f8075cd4ede499eeb4 Mon Sep 17 00:00:00 2001 Message-Id: <0a0ba32b12fa9dc06db950f8075cd4ede499eeb4.1632904852.git.info@protesilaos.com> From: Protesilaos Stavrou Date: Wed, 29 Sep 2021 11:40:32 +0300 Subject: [PATCH] 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: . --- doc/misc/modus-themes.org | 303 ++++++++++++++--- etc/themes/modus-operandi-theme.el | 2 +- etc/themes/modus-themes.el | 502 ++++++++++++++++++++--------- etc/themes/modus-vivendi-theme.el | 2 +- 4 files changed, 603 insertions(+), 206 deletions(-) diff --git a/doc/misc/modus-themes.org b/doc/misc/modus-themes.org index 6c3692b826..675144d517 100644 --- a/doc/misc/modus-themes.org +++ b/doc/misc/modus-themes.org @@ -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 @@ * Customization Options 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 @@ * Customization Options ;; 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 @@ * Customization Options 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 @@ ** Option for inhibiting theme 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 @@ ** Option for mode line presentation - ~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 @@ ** Option for mode line presentation 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 @@ ** Option for mode line presentation 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 @@ ** Option for mode line presentation 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 @@ ** Option for Org agenda constructs (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 @@ ** Option for Org agenda constructs - ~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 @@ ** Option for Org agenda constructs (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 @@ ** Option for Org agenda constructs #+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 @@ ** Option for Org agenda constructs (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 @@ *** Control the scale of headings 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 @@ *** Control the scale of headings 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 @@ ** Override color saturation (DIY) 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 @@ ** Custom Org user faces (DIY) #+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 @@ ** Custom Org user faces (DIY) #+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 @@ ** Full support for packages or face groups + alert + all-the-icons + annotate ++ ansi-color + anzu + apropos + apt-sources-list @@ -2943,6 +3013,7 @@ ** Full support for packages or face groups + 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 @@ ** Full support for packages or face groups + eldoc-box + elfeed + elfeed-score ++ elpher + embark + emms + enh-ruby-mode (enhanced-ruby-mode) @@ -3033,6 +3105,7 @@ ** Full support for packages or face groups + 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 @@ ** Indirectly covered packages 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 @@ ** Indirectly covered packages + 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 @@ ** Note on display-fill-column-indicator-mode [[#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 @@ ** Note on prism.el :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 @@ ** Note on prism.el :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 @@ ** What is the best setup for legibility? ~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 @@ ** Sources of the themes :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 @@ * Acknowledgements + 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. - -+ 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. + 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 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 @@ * Meta + [[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: diff --git a/etc/themes/modus-operandi-theme.el b/etc/themes/modus-operandi-theme.el index a946d747e8..350524779d 100644 --- a/etc/themes/modus-operandi-theme.el +++ b/etc/themes/modus-operandi-theme.el @@ -4,7 +4,7 @@ ;;; modus-operandi-theme.el --- Accessible light theme (WCAG AAA) -*- lexical-bi ;; Author: Protesilaos Stavrou ;; URL: https://gitlab.com/protesilaos/modus-themes -;; Version: 1.5.0 +;; Version: 1.6.0 ;; Package-Requires: ((emacs "26.1")) ;; Keywords: faces, theme, accessibility diff --git a/etc/themes/modus-themes.el b/etc/themes/modus-themes.el index b9fe4a3272..7ab985c077 100644 --- a/etc/themes/modus-themes.el +++ b/etc/themes/modus-themes.el @@ -4,9 +4,9 @@ ;;; modus-themes.el --- Highly accessible themes (WCAG AAA) -*- lexical-binding: ;; Author: Protesilaos Stavrou ;; 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 @@ ;;; Commentary: ;; ;; 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-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-org-agenda (alist) -;; modus-themes-org-blocks (choice) -;; modus-themes-prompts (choice) +;; modus-themes-links (choice) +;; modus-themes-mail-citations (choice) ;; modus-themes-mode-line (choice) -;; modus-themes-diffs (choice) -;; modus-themes-syntax (choice) -;; modus-themes-hl-line (choice) +;; modus-themes-org-blocks (choice) ;; modus-themes-paren-match (choice) +;; modus-themes-prompts (choice) ;; modus-themes-region (choice) -;; modus-themes-links (choice) -;; modus-themes-completions (choice) -;; modus-themes-mail-citations (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 @@ ;;; Commentary: ;; 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 @@ ;;; Commentary: ;; alert ;; all-the-icons ;; annotate +;; ansi-color ;; anzu ;; apropos ;; apt-sources-list @@ -125,6 +131,7 @@ ;;; Commentary: ;; css-mode ;; csv-mode ;; ctrlf +;; cursor-flash ;; custom (M-x customize) ;; dap-mode ;; dashboard (emacs-dashboard) @@ -160,6 +167,7 @@ ;;; Commentary: ;; eldoc-box ;; elfeed ;; elfeed-score +;; elpher ;; embark ;; emms ;; enh-ruby-mode (enhanced-ruby-mode) @@ -615,8 +623,10 @@ (defconst modus-themes-operandi-colors (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 @@ (defconst modus-themes-vivendi-colors (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 @@ (let* ((names (mapcar (lambda (pair) (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 @@ (defcustom modus-themes-org-agenda nil (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 @@ (defcustom modus-themes-org-agenda nil - `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 @@ (defcustom modus-themes-org-agenda nil (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 @@ (defcustom modus-themes-org-agenda nil (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 @@ (defcustom modus-themes-org-agenda nil (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 @@ (defcustom modus-themes-scale-headings nil "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 @@ -2163,12 +2201,14 @@ (defcustom modus-themes-scale-4 1.2 :initialize #'custom-initialize-default :link '(info-link "(modus-themes) Scaled heading sizes")) -(defcustom modus-themes-scale-5 1.3 +(define-obsolete-variable-alias 'modus-themes-scale-5 'modus-themes-scale-title "1.5.0") + +(defcustom modus-themes-scale-title 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 Org agenda structure headers (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 @@ -2181,21 +2221,19 @@ (defcustom modus-themes-scale-5 1.3 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") + :package-version '(modus-themes . "1.5.0") :version "28.1" :type 'number :set #'modus-themes--set-option :initialize #'custom-initialize-default :link '(info-link "(modus-themes) Scaled heading sizes")) -(define-obsolete-variable-alias 'modus-themes-scale-5 'modus-themes-scale-title "1.5.0") +(defcustom modus-themes-scale-small 0.9 + "Font size smaller than the default value. -(defcustom modus-themes-scale-title 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 (see `modus-themes-org-agenda'). +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 @@ -2208,7 +2246,7 @@ (defcustom modus-themes-scale-title 1.3 accordance with it in cases where it changes, such as while using `text-scale-adjust'." :group 'modus-themes - :package-version '(modus-themes . "1.5.0") + :package-version '(modus-themes . "1.6.0") :version "28.1" :type 'number :set #'modus-themes--set-option @@ -2404,6 +2442,14 @@ (defcustom modus-themes-mode-line nil 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 @@ (defcustom modus-themes-mode-line nil 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 @@ (defcustom modus-themes-mode-line nil (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 @@ (defcustom modus-themes-mail-citations nil :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 @@ (defun modus-themes--agenda-structure (fg) :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 @@ (defun modus-themes--org-block-delim (bgaccent fgaccent bg fg) (_ (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 @@ (defun modus-themes--mode-line-attrs 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 @@ (defun modus-themes--mode-line-attrs ((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 @@ (defun modus-themes--mode-line-attrs :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 @@ (defun modus-themes--mail-cite (mainfg subtlefg) ('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 @@ ;;;;; other custom faces 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 @@ ;;;;; annotate `(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 @@ ;;;;; apropos `(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 @@ ;;;;; auctex and Tex `(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 @@ ;;;;; boon `(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 @@ ;;;;; centaur-tabs `(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 @@ ;;;;; ctrlf `(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 @@ ;;;;; diredfl `(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 @@ ;;;;; dired+ `(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 @@ ;;;;; ebdb `(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 @@ ;;;;; elfeed-score `(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 @@ ;;;;; icomplete ,@(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 @@ ;;;;; man `(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 @@ ;;;;; markdown-mode :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 @@ ;;;;; markup-faces (`adoc-mode') `(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 @@ ;;;;; mode-line 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 @@ ;;;;; mu4e `(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 @@ ;;;;; notmuch `(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 @@ ;;;;; orderless 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 @@ ;;;;; org `(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 @@ ;;;;; proced `(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 @@ ;;;;; spray `(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 @@ ;;;;; tab-bar-groups `(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 @@ ;;;;; transient `(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 @@ ;;;;; web-mode `(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 @@ (when load-file-name (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 diff --git a/etc/themes/modus-vivendi-theme.el b/etc/themes/modus-vivendi-theme.el index 6ff359d341..919009278b 100644 --- a/etc/themes/modus-vivendi-theme.el +++ b/etc/themes/modus-vivendi-theme.el @@ -4,7 +4,7 @@ ;;; modus-vivendi-theme.el --- Accessible dark theme (WCAG AAA) -*- lexical-bind ;; Author: Protesilaos Stavrou ;; URL: https://gitlab.com/protesilaos/modus-themes -;; Version: 1.5.0 +;; Version: 1.6.0 ;; Package-Requires: ((emacs "26.1")) ;; Keywords: faces, theme, accessibility -- 2.33.0