From: Protesilaos Stavrou Date: Tue, 19 Sep 2023 13:03:11 +0000 (+0300) Subject: Update modus-themes to their version 4.3.0 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=7be5c8f47c9df01a5accdbf954d952b9bbe5b5f0;p=emacs.git Update modus-themes to their version 4.3.0 * doc/misc/modus-themes.org (Option for reloading the theme on custom change) (Option for disabling other themes while loading Modus) (Option for completion framework aesthetics) (Option for org-mode block styles, Get a single color from the palette) (Add padding to mode line, Note on SHR fonts) (Note on goto-address-mode faces): Use correct markup for 'nil'. (Custom Org todo keyword and priority faces): Reword statements and update the value of sample configuration blocks. (Use more spacious margins or padding in Emacs frames): Mention the 'spacious-padding' package on GNU ELPA. (Full support for packages or face groups): Document newly supported packages and remove those that are no longer covered explicitly. (Indirectly covered packages): Note that css-mode is covered indirectly. (Acknowledgements): Expand list of people who have helped with the project. * etc/themes/modus-operandi-deuteranopia-theme.el (unless): Add theme-autoload cookie and relevant metadata. (modus-operandi-deuteranopia): Expand or tweak the palette, where necessary. * etc/themes/modus-operandi-theme.el (unless): Add theme-autoload cookie and relevant metadata. (modus-operandi): Expand or tweak the palette, where necessary. * etc/themes/modus-operandi-tinted-theme.el (unless): Add theme-autoload cookie and relevant metadata. (modus-operandi-tinted): Expand or tweak the palette, where necessary. * etc/themes/modus-operandi-tritanopia-theme.el (unless): Add theme-autoload cookie and relevant metadata. (modus-operandi-tritanopia): Expand or tweak the palette, where necessary. * etc/themes/modus-vivendi-deuteranopia-theme.el (unless): Add theme-autoload cookie and relevant metadata. (modus-vivendi-deuteranopia): Expand or tweak the palette, where necessary. * etc/themes/modus-vivendi-theme.el (unless): Add theme-autoload cookie and relevant metadata. (modus-vivendi): Expand or tweak the palette, where necessary. * etc/themes/modus-vivendi-tinted-theme.el (unless): Add theme-autoload cookie and relevant metadata. (modus-vivendi-tinted): Expand or tweak the palette, where necessary. * etc/themes/modus-vivendi-tritanopia-theme.el (unless): Add theme-autoload cookie and relevant metadata. (modus-vivendi-tritanopia): Expand or tweak the palette, where necessary. * etc/themes/modus-themes.el (modus-themes-preset-overrides-faint) (modus-themes-preset-overrides-intense) (modus-themes-preset-overrides-warmer): Make minor tweaks. (modus-themes--annotate-theme, modus-themes--select-prompt) (modus-themes--toggle-theme-p, modus-themes-toggle) (modus-themes--list-colors-prompt, modus-themes--heading) (modus-themes-faces): Refine internal functions. The detailed release notes are available here: . --- diff --git a/doc/misc/modus-themes.org b/doc/misc/modus-themes.org index ae760624b6f..5a53426dfee 100644 --- a/doc/misc/modus-themes.org +++ b/doc/misc/modus-themes.org @@ -4,9 +4,9 @@ #+language: en #+options: ':t toc:nil author:t email:t num:t #+startup: content -#+macro: stable-version 4.2.0 -#+macro: release-date 2023-05-30 -#+macro: development-version 4.3.0-dev +#+macro: stable-version 4.3.0 +#+macro: release-date 2023-09-19 +#+macro: development-version 4.4.0-dev #+macro: file @@texinfo:@file{@@$1@@texinfo:}@@ #+macro: space @@texinfo:@: @@ #+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@ @@ -581,11 +581,11 @@ Possible values: All theme user options take effect when a theme is loaded. Any subsequent changes require the theme to be reloaded. -When this variable has a non-nil value, any change made via the Custom +When this variable has a non-~nil~ value, any change made via the Custom UI or related functions such as ~customize-set-variable~ and ~setopt~ (Emacs 29), will trigger a reload automatically. -With a nil value, changes to user options have no further consequences: +With a ~nil~ value, changes to user options have no further consequences: the user must manually reload the theme ([[#h:3f3c3728-1b34-437d-9d0c-b110f5b161a9][Enable and load]]). ** Option for disabling other themes while loading Modus @@ -605,20 +605,20 @@ Possible values: 1. ~nil~ 2. ~t~ (default) -When the value is non-nil, the commands ~modus-themes-toggle~ and +When the value is non-~nil~, the commands ~modus-themes-toggle~ and ~modus-themes-select~, as well as the ~modus-themes-load-theme~ function, will disable all other themes while loading the specified Modus theme. This is done to ensure that Emacs does not blend two or more themes: such blends lead to awkward results that undermine the work of the designer. -When the value is nil, the aforementioned commands and function will +When the value is ~nil~, the aforementioned commands and function will only disable other themes within the Modus collection. This option is provided because Emacs themes are not necessarily limited to colors/faces: they can consist of an arbitrary set of customizations. Users who use such customization bundles must set -this variable to a nil value. +this variable to a ~nil~ value. ** Option for more bold constructs :properties: @@ -794,7 +794,7 @@ followed by a description of the particularities: #+end_src The ~matches~ key refers to the highlighted characters that correspond -to the user's input. When its properties are nil or an empty list, +to the user's input. When its properties are ~nil~ or an empty list, matching characters in the user interface will have a bold weight and a colored foreground. The list of properties may include any of the following symbols regardless of the order they may appear in: @@ -810,7 +810,7 @@ following symbols regardless of the order they may appear in: The ~selection~ key applies to the current line or currently matched candidate, depending on the specifics of the user interface. When its -properties are nil or an empty list, it has a subtle gray background, +properties are ~nil~ or an empty list, it has a subtle gray background, a bold weight, and the base foreground value for the text. The list of properties it accepts is as follows (order is not significant): @@ -861,10 +861,10 @@ Possible values: 2. ~gray-background~ 3. ~tinted-background~ -Nil (the default) means that the block has no background of its own: -it uses the one that applies to the rest of the buffer. In this case, -the delimiter lines have a gray color for their text, making them look -exactly like all other Org properties. +Option ~nil~ (the default) means that the block has no background of +its own: it uses the one that applies to the rest of the buffer. +In this case, the delimiter lines have a gray color for their text, +making them look exactly like all other Org properties. Option ~gray-background~ applies a subtle gray background to the block's contents. It also affects the begin and end lines of the @@ -883,9 +883,9 @@ For this to take effect, the Org buffer needs to be restarted with ~org-mode-restart~. Code blocks use their major mode's fontification (syntax highlighting) -only when the variable ~org-src-fontify-natively~ is non-nil. While +only when the variable ~org-src-fontify-natively~ is non-~nil~. While quote/verse blocks require setting -~org-fontify-quote-and-verse-blocks~ to a non-nil value. +~org-fontify-quote-and-verse-blocks~ to a non-~nil~ value. [[#h:f44cc6e3-b0f1-4a5e-8a90-9e48fa557b50][Update Org block delimiter fontification]]. @@ -2730,7 +2730,7 @@ If the value is the name of another color entry in the palette (so a mapping), this function recurs until it finds the underlying color value. -With an optional =OVERRIDES= argument as a non-nil value, it accounts +With an optional =OVERRIDES= argument as a non-~nil~ value, it accounts for palette overrides. Else it reads only the default palette. [[#h:34c7a691-19bb-4037-8d2f-67a07edab150][Option for palette overrides]]. @@ -2884,7 +2884,7 @@ above: #+end_src The reason we no longer provide this option is because it depends on a -non-nil value for ~x-underline-at-descent-line~. That variable +non-~nil~ value for ~x-underline-at-descent-line~. That variable affects ALL underlines, including those of links. The effect is intrusive and looks awkard in prose. @@ -3150,20 +3150,20 @@ have something like this: #+end_src You could then use a variant of the following to inherit from a face -that uses the styles you want and also to preserve the properties -applied by the ~org-todo~ face (in case there is a difference between the -two): +that uses the styles you want and also to preserve the attributes +applied by the ~org-todo~ face (in case there is a difference between +the two): #+begin_src emacs-lisp (setq org-todo-keyword-faces - '(("MEET" . '(bold org-todo)) - ("STUDY" . '(warning org-todo)) - ("WRITE" . '(shadow org-todo)))) + '(("MEET" . (:inherit (bold org-todo))) + ("STUDY" . (:inherit (warning org-todo))) + ("WRITE" . (:inherit (shadow org-todo))))) #+end_src This will refashion the keywords you specify, while letting the other -items in ~org-todo-keywords~ use their original styles (which are defined -in the ~org-todo~ and ~org-done~ faces). +items in ~org-todo-keywords~ use their original styles, which are +defined in the ~org-todo~ and ~org-done~ faces. If you want back the defaults, try specifying just the ~org-todo~ face: @@ -3174,24 +3174,27 @@ If you want back the defaults, try specifying just the ~org-todo~ face: ("WRITE" . org-todo))) #+end_src -When you inherit from multiple faces, you need to quote the list as +Or set ~org-todo-keyword-faces~ to ~nil~. + +When you inherit from multiple faces, you need to do it the way it is shown further above. The order is significant: the first entry is -applied on top of the second, overriding any properties that are -explicitly set for both of them: any property that is not specified is -not overridden, so, for example, if ~org-todo~ has a background and a -foreground, while ~font-lock-type-face~ only has a foreground, the merged -face will include the background of the former and the foreground of the -latter. If you do not want to blend multiple faces, you do not need a -quoted list. A pattern of =keyword . face= will suffice. +applied on top of the second, overriding any attributes that are +explicitly set for both of them: any attribute that is not specified +is not overridden, so, for example, if ~org-todo~ has a background and +a foreground, while ~font-lock-type-face~ only has a foreground, the +merged face will include the background of the former and the +foreground of the latter. If you do not want to blend multiple faces, +you only specify one by name without parentheses or an =:inherit= +keyword. A pattern of =keyword . face= will suffice. Both approaches can be used simultaneously, as illustrated in this configuration of the priority cookies: #+begin_src emacs-lisp (setq org-priority-faces - '((?A . '(bold org-priority)) + '((?A . (:inherit (bold org-priority))) (?B . org-priority) - (?C . '(shadow org-priority)))) + (?C . (:inherit (shadow org-priority))))) #+end_src To find all the faces that are loaded in your current Emacs session, use @@ -3636,6 +3639,10 @@ need to (provided they understand the implications). :CUSTOM_ID: h:43bcb5d0-e25f-470f-828c-662cee9e21f1 :END: +[ UPDATE 2023-06-25: Instead of following these instructions, you can + simply install my ~spacious-padding~ package from GNU ELPA. It + implements the padding and provides relevant user options. ] + By default, Emacs frames try to maximize the number of characters that fit in the current visible portion of the buffer. Users may prefer to have some extra padding instead. This can make Emacs frames look more @@ -3847,6 +3854,7 @@ have lots of extensions, so the "full support" may not be 100% true… + avy + bbdb + binder ++ breadcrumb + bongo + boon + bookmark @@ -3864,11 +3872,11 @@ have lots of extensions, so the "full support" may not be 100% true… + completions + consult + corfu ++ corfu-candidate-overlay + corfu-quick + counsel* + cperl-mode + crontab-mode -+ css-mode + csv-mode + ctrlf + custom (what you get with {{{kbd(M-x customize)}}}) @@ -3905,6 +3913,7 @@ have lots of extensions, so the "full support" may not be 100% true… + epa + erc + ert ++ erts-mode + eshell + eshell-fringe-status + evil* (evil-mode) @@ -3951,6 +3960,7 @@ have lots of extensions, so the "full support" may not be 100% true… + isearch, occur, etc. + ivy* + ivy-posframe ++ japanese-holidays + jira (org-jira) + jit-spell + jinx @@ -3975,6 +3985,10 @@ have lots of extensions, so the "full support" may not be 100% true… + mpdel + mu4e + multiple-cursors ++ nerd-icons ++ nerd-icons-completion ++ nerd-icons-dired ++ nerd-icons-ibuffer + neotree + notmuch + num3-mode @@ -4038,7 +4052,6 @@ have lots of extensions, so the "full support" may not be 100% true… + suggest + switch-window + swiper -+ sx + symbol-overlay + syslog-mode + tab-bar-mode @@ -4099,6 +4112,7 @@ supported by the themes. + bufler + counsel-notmuch + counsel-org-capture-string ++ css-mode + dashboard (emacs-dashboard) + define-word + denote @@ -4722,7 +4736,7 @@ Consult the doc string of ~shr-use-colors~. By default, packages that build on top of the Simple HTML Remember (~shr~) use proportionately spaced fonts. This is controlled by the user option ~shr-use-fonts~, which is set to non-~nil~ by default. To -use the standard font instead, set that variable to nil. +use the standard font instead, set that variable to ~nil~. [[#h:defcf4fc-8fa8-4c29-b12e-7119582cc929][Font configurations for Org and others]]. @@ -4859,7 +4873,7 @@ consider including (or equivalent) this in their setup: goto-address-mail-mouse-face 'highlight) #+end_src -My personal preference is to set ~goto-address-mail-face~ to nil, as +My personal preference is to set ~goto-address-mail-face~ to ~nil~, as it otherwise adds too much visual noise to the buffer (email addresses stand out more, due to the use of the uncommon =@= character but also because they are often enclosed in angled brackets). @@ -5345,8 +5359,9 @@ The Modus themes are a collective effort. Every bit of work matters. Matthew Stevenson, Mauro Aranda, Nacho Barrientos, Nicolas De Jaeghere, Paul David, Philip Kaludercic, Pierre Téchoueyres, Rudolf Adamkovič, Sergey Nichiporchik, Shreyas Ragavan, Stefan Kangas, - Stephen Gildea, Steve Downey, Tomasz Hołubowicz, Utkarsh Singh, - Vincent Murphy, Xinglu Chen, Yuanchen Xie, okamsn. + Stephen Berman, Stephen Gildea, Steve Downey, Tomasz Hołubowicz, + Utkarsh Singh, Vincent Murphy, Xinglu Chen, Yuanchen Xie, fluentpwn, + okamsn. + Ideas and user feedback :: Aaron Jensen, Adam Porter, Adam Spiers, Adrian Manea, Aleksei Pirogov, Alex Griffin, Alex Koen, Alex @@ -5363,25 +5378,25 @@ The Modus themes are a collective effort. Every bit of work matters. Ferguson, Jeremy Friesen, Jerry Zhang, Johannes Grødem, John Haman, Jonas Collberg, Jorge Morais, Joshua O'Connor, Julio C. Villasante, Kenta Usami, Kevin Fleming, Kévin Le Gouguec, Kevin Kainan Li, - Kostadin Ninev, Laith Bahodi, Len Trigg, Lennart C. Karssen, Luis - Miguel Castañeda, Magne Hov, Manuel Giraud, Manuel Uberti, Mark - Bestley, Mark Burton, Mark Simpson, Marko Kocic, Markus Beppler, - Matt Armstrong, Matthias Fuchs, Mattias Engdegård, Mauro Aranda, - Maxime Tréca, Michael Goldenberg, Morgan Smith, Morgan Willcock, - Murilo Pereira, Nicky van Foreest, Nicolas De Jaeghere, Nicolas - Semrau, Oliver Epper, Pablo Stafforini, Paul Poloskov, Pengji Zhang, - Pete Kazmier, Peter Wu, Philip Kaludercic, Pierre Téchoueyres, - Przemysław Kryger, Robert Hepple, Roman Rudakov, Russell Sim, Ryan - Phillips, Rytis Paškauskas, Rudolf Adamkovič, Sam Kleinman, Samuel - Culpepper, Saša Janiška, Shreyas Ragavan, Simon Pugnet, Steve - Downey, Tassilo Horn, Thanos Apollo, Thibaut Verron, Thomas - Heartman, Togan Muftuoglu, Tony Zorman, Trey Merkley, Tomasz - Hołubowicz, Toon Claes, Uri Sharf, Utkarsh Singh, Vincent Foley, - Zoltan Kiraly. As well as users: Ben, CsBigDataHub1, Emacs Contrib, - Eugene, Fourchaux, Fredrik, Moesasji, Nick, Summer Emacs, TheBlob42, - TitusMu, Trey, bepolymathe, bit9tream, bangedorrunt, derek-upham, - doolio, fleimgruber, gitrj95, iSeeU, jixiuf, okamsn, pRot0ta1p, - soaringbird, tumashu, wakamenod. + Kostadin Ninev, Laith Bahodi, Lasse Lindner, Len Trigg, Lennart + C. Karssen, Luis Miguel Castañeda, Magne Hov, Manuel Giraud, Manuel + Uberti, Mark Bestley, Mark Burton, Mark Simpson, Marko Kocic, Markus + Beppler, Matt Armstrong, Matthias Fuchs, Mattias Engdegård, Mauro + Aranda, Maxime Tréca, Michael Goldenberg, Morgan Smith, Morgan + Willcock, Murilo Pereira, Nicky van Foreest, Nicolas De Jaeghere, + Nicolas Semrau, Olaf Meeuwissen, Oliver Epper, Pablo Stafforini, + Paul Poloskov, Pengji Zhang, Pete Kazmier, Peter Wu, Philip + Kaludercic, Pierre Téchoueyres, Przemysław Kryger, Robert Hepple, + Roman Rudakov, Russell Sim, Ryan Phillips, Rytis Paškauskas, Rudolf + Adamkovič, Sam Kleinman, Samuel Culpepper, Saša Janiška, Shreyas + Ragavan, Simon Pugnet, Steve Downey, Tassilo Horn, Thanos Apollo, + Thibaut Verron, Thomas Heartman, Togan Muftuoglu, Tony Zorman, Trey + Merkley, Tomasz Hołubowicz, Toon Claes, Uri Sharf, Utkarsh Singh, + Vincent Foley, Zoltan Kiraly. As well as users: Ben, CsBigDataHub1, + Emacs Contrib, Eugene, Fourchaux, Fredrik, Moesasji, Nick, Summer + Emacs, TheBlob42, TitusMu, Trey, bepolymathe, bit9tream, + bangedorrunt, derek-upham, doolio, fleimgruber, gitrj95, iSeeU, + jixiuf, okamsn, pRot0ta1p, soaringbird, tumashu, wakamenod. + Packaging :: Basil L.{{{space()}}} Contovounesios, Eli Zaretskii, Glenn Morris, Mauro Aranda, Richard Stallman, Stefan Kangas (core diff --git a/etc/themes/modus-operandi-deuteranopia-theme.el b/etc/themes/modus-operandi-deuteranopia-theme.el index 5817d8f674c..6a2105a1c4d 100644 --- a/etc/themes/modus-operandi-deuteranopia-theme.el +++ b/etc/themes/modus-operandi-deuteranopia-theme.el @@ -43,6 +43,7 @@ (require-theme 'modus-themes t)) (require 'modus-themes)) +;;;###theme-autoload (deftheme modus-operandi-deuteranopia "Deuteranopia-optimized theme with a white background. This variant is optimized for users with red-green color @@ -50,14 +51,17 @@ deficiency (deuteranopia). It conforms with the highest legibility standard for color contrast between background and foreground in any given piece of text, which corresponds to a minimum contrast in relative luminance of 7:1 (WCAG AAA -standard).") +standard)." + :background-mode 'light + :kind 'color-scheme + :family 'modus) (defconst modus-operandi-deuteranopia-palette '( ;;; Basic values (bg-main "#ffffff") - (bg-dim "#f0f0f0") + (bg-dim "#f2f2f2") (fg-main "#000000") (fg-dim "#595959") (fg-alt "#193668") @@ -155,7 +159,7 @@ standard).") ;;; Special purpose (bg-completion "#c0deff") - (bg-hover "#97dfed") + (bg-hover "#b2e4dc") (bg-hover-secondary "#f5d0a0") (bg-hl-line "#dae5ec") (bg-region "#bdbdbd") @@ -198,7 +202,7 @@ standard).") (bg-removed "#f4f099") (bg-removed-faint "#f6f6b7") - (bg-removed-refine "#f0e56f") + (bg-removed-refine "#ede06f") (bg-removed-fringe "#c0b200") (fg-removed "#553d00") (fg-removed-intense "#7f6f00") @@ -284,6 +288,7 @@ standard).") (date-deadline yellow-warmer) (date-event fg-alt) (date-holiday yellow-warmer) + (date-holiday-other blue) (date-now blue-faint) (date-range fg-alt) (date-scheduled yellow-cooler) @@ -367,6 +372,48 @@ standard).") (fg-space border) (bg-space-err bg-yellow-intense) +;;;; Terminal mappings + + (bg-term-black "black") + (fg-term-black "black") + (bg-term-black-bright "gray35") + (fg-term-black-bright "gray35") + + (bg-term-red red) + (fg-term-red red) + (bg-term-red-bright red-warmer) + (fg-term-red-bright red-warmer) + + (bg-term-green green) + (fg-term-green green) + (bg-term-green-bright green-cooler) + (fg-term-green-bright green-cooler) + + (bg-term-yellow yellow) + (fg-term-yellow yellow) + (bg-term-yellow-bright yellow-warmer) + (fg-term-yellow-bright yellow-warmer) + + (bg-term-blue blue) + (fg-term-blue blue) + (bg-term-blue-bright blue-warmer) + (fg-term-blue-bright blue-warmer) + + (bg-term-magenta magenta) + (fg-term-magenta magenta) + (bg-term-magenta-bright magenta-cooler) + (fg-term-magenta-bright magenta-cooler) + + (bg-term-cyan cyan) + (fg-term-cyan cyan) + (bg-term-cyan-bright cyan-cooler) + (fg-term-cyan-bright cyan-cooler) + + (bg-term-white "gray65") + (fg-term-white "gray65") + (bg-term-white-bright "white") + (fg-term-white-bright "white") + ;;;; Heading mappings (fg-heading-0 cyan-cooler) @@ -436,7 +483,4 @@ represents." (provide-theme 'modus-operandi-deuteranopia)) -;;;###theme-autoload -(put 'modus-operandi-deuteranopia 'theme-properties '(:background-mode light :kind color-scheme :family modus)) - ;;; modus-operandi-deuteranopia-theme.el ends here diff --git a/etc/themes/modus-operandi-theme.el b/etc/themes/modus-operandi-theme.el index 9a69e3290b7..b9f9ee3834a 100644 --- a/etc/themes/modus-operandi-theme.el +++ b/etc/themes/modus-operandi-theme.el @@ -43,19 +43,23 @@ (require-theme 'modus-themes t)) (require 'modus-themes)) +;;;###theme-autoload (deftheme modus-operandi "Elegant, highly legible theme with a white background. Conforms with the highest legibility standard for color contrast between background and foreground in any given piece of text, which corresponds to a minimum contrast in relative luminance of -7:1 (WCAG AAA standard).") +7:1 (WCAG AAA standard)." + :background-mode 'light + :kind 'color-scheme + :family 'modus) (defconst modus-operandi-palette '( ;;; Basic values (bg-main "#ffffff") - (bg-dim "#f0f0f0") + (bg-dim "#f2f2f2") (fg-main "#000000") (fg-dim "#595959") (fg-alt "#193668") @@ -153,7 +157,7 @@ which corresponds to a minimum contrast in relative luminance of ;;; Special purpose (bg-completion "#c0deff") - (bg-hover "#94d4ff") + (bg-hover "#b2e4dc") (bg-hover-secondary "#f5d0a0") (bg-hl-line "#dae5ec") (bg-region "#bdbdbd") @@ -282,6 +286,7 @@ which corresponds to a minimum contrast in relative luminance of (date-deadline red) (date-event fg-alt) (date-holiday red-cooler) + (date-holiday-other blue) (date-now fg-main) (date-range fg-alt) (date-scheduled yellow-warmer) @@ -365,6 +370,48 @@ which corresponds to a minimum contrast in relative luminance of (fg-space border) (bg-space-err bg-red-intense) +;;;; Terminal mappings + + (bg-term-black "black") + (fg-term-black "black") + (bg-term-black-bright "gray35") + (fg-term-black-bright "gray35") + + (bg-term-red red) + (fg-term-red red) + (bg-term-red-bright red-warmer) + (fg-term-red-bright red-warmer) + + (bg-term-green green) + (fg-term-green green) + (bg-term-green-bright green-cooler) + (fg-term-green-bright green-cooler) + + (bg-term-yellow yellow) + (fg-term-yellow yellow) + (bg-term-yellow-bright yellow-warmer) + (fg-term-yellow-bright yellow-warmer) + + (bg-term-blue blue) + (fg-term-blue blue) + (bg-term-blue-bright blue-warmer) + (fg-term-blue-bright blue-warmer) + + (bg-term-magenta magenta) + (fg-term-magenta magenta) + (bg-term-magenta-bright magenta-cooler) + (fg-term-magenta-bright magenta-cooler) + + (bg-term-cyan cyan) + (fg-term-cyan cyan) + (bg-term-cyan-bright cyan-cooler) + (fg-term-cyan-bright cyan-cooler) + + (bg-term-white "gray65") + (fg-term-white "gray65") + (bg-term-white-bright "white") + (fg-term-white-bright "white") + ;;;; Heading mappings (fg-heading-0 cyan-cooler) @@ -434,7 +481,4 @@ represents." (provide-theme 'modus-operandi)) -;;;###theme-autoload -(put 'modus-operandi 'theme-properties '(:background-mode light :kind color-scheme :family modus)) - ;;; modus-operandi-theme.el ends here diff --git a/etc/themes/modus-operandi-tinted-theme.el b/etc/themes/modus-operandi-tinted-theme.el index 341a7d29e84..e66a030650c 100644 --- a/etc/themes/modus-operandi-tinted-theme.el +++ b/etc/themes/modus-operandi-tinted-theme.el @@ -42,19 +42,23 @@ (require-theme 'modus-themes t)) (require 'modus-themes)) +;;;###theme-autoload (deftheme modus-operandi-tinted "Elegant, highly legible theme with a light ochre background. Conforms with the highest legibility standard for color contrast between background and foreground in any given piece of text, which corresponds to a minimum contrast in relative luminance of -7:1 (WCAG AAA standard).") +7:1 (WCAG AAA standard)." + :background-mode 'light + :kind 'color-scheme + :family 'modus) (defconst modus-operandi-tinted-palette '( ;;; Basic values (bg-main "#fbf7f0") - (bg-dim "#ede7db") + (bg-dim "#efe9dd") (fg-main "#000000") (fg-dim "#595959") (fg-alt "#193668") @@ -152,7 +156,7 @@ which corresponds to a minimum contrast in relative luminance of ;;; Special purpose (bg-completion "#f0c1cf") - (bg-hover "#94d4ff") + (bg-hover "#b2e4dc") (bg-hover-secondary "#f5d0a0") (bg-hl-line "#f1d5d0") (bg-region "#c2bcb5") @@ -281,6 +285,7 @@ which corresponds to a minimum contrast in relative luminance of (date-deadline red) (date-event fg-alt) (date-holiday red-cooler) + (date-holiday-other blue) (date-now fg-main) (date-range fg-alt) (date-scheduled yellow-warmer) @@ -364,6 +369,48 @@ which corresponds to a minimum contrast in relative luminance of (fg-space border) (bg-space-err bg-red-intense) +;;;; Terminal mappings + + (bg-term-black "black") + (fg-term-black "black") + (bg-term-black-bright "gray35") + (fg-term-black-bright "gray35") + + (bg-term-red red) + (fg-term-red red) + (bg-term-red-bright red-warmer) + (fg-term-red-bright red-warmer) + + (bg-term-green green) + (fg-term-green green) + (bg-term-green-bright green-cooler) + (fg-term-green-bright green-cooler) + + (bg-term-yellow yellow) + (fg-term-yellow yellow) + (bg-term-yellow-bright yellow-warmer) + (fg-term-yellow-bright yellow-warmer) + + (bg-term-blue blue) + (fg-term-blue blue) + (bg-term-blue-bright blue-warmer) + (fg-term-blue-bright blue-warmer) + + (bg-term-magenta magenta) + (fg-term-magenta magenta) + (bg-term-magenta-bright magenta-cooler) + (fg-term-magenta-bright magenta-cooler) + + (bg-term-cyan cyan) + (fg-term-cyan cyan) + (bg-term-cyan-bright cyan-cooler) + (fg-term-cyan-bright cyan-cooler) + + (bg-term-white "gray65") + (fg-term-white "gray65") + (bg-term-white-bright "white") + (fg-term-white-bright "white") + ;;;; Heading mappings (fg-heading-0 cyan-cooler) @@ -433,7 +480,4 @@ represents." (provide-theme 'modus-operandi-tinted)) -;;;###theme-autoload -(put 'modus-operandi-tinted 'theme-properties '(:background-mode light :kind color-scheme :family modus)) - ;;; modus-operandi-tinted-theme.el ends here diff --git a/etc/themes/modus-operandi-tritanopia-theme.el b/etc/themes/modus-operandi-tritanopia-theme.el index 5d143fa7514..b7e9aa99748 100644 --- a/etc/themes/modus-operandi-tritanopia-theme.el +++ b/etc/themes/modus-operandi-tritanopia-theme.el @@ -43,6 +43,7 @@ (require-theme 'modus-themes t)) (require 'modus-themes)) +;;;###theme-autoload (deftheme modus-operandi-tritanopia "Tritanopia-optimized theme with a white background. This variant is optimized for users with blue-yellow color @@ -50,14 +51,17 @@ deficiency (tritanopia). It conforms with the highest legibility standard for color contrast between background and foreground in any given piece of text, which corresponds to a minimum contrast in relative luminance of 7:1 (WCAG AAA -standard).") +standard)." + :background-mode 'light + :kind 'color-scheme + :family 'modus) (defconst modus-operandi-tritanopia-palette '( ;;; Basic values (bg-main "#ffffff") - (bg-dim "#f0f0f0") + (bg-dim "#f2f2f2") (fg-main "#000000") (fg-dim "#595959") (fg-alt "#193668") @@ -161,9 +165,9 @@ standard).") (bg-region "#bdbdbd") (fg-region "#000000") - (bg-char-0 "#ff8a5f") - (bg-char-1 "#bf7aff") - (bg-char-2 "#7fe0e0") + (bg-char-0 "#ff908f") + (bg-char-1 "#bfbfff") + (bg-char-2 "#5fcfdf") (bg-mode-line-active "#afe0f2") (fg-mode-line-active "#0f0f0f") @@ -284,6 +288,7 @@ standard).") (date-deadline red) (date-event fg-alt) (date-holiday red) + (date-holiday-other cyan) (date-now fg-main) (date-range fg-alt) (date-scheduled magenta) @@ -367,6 +372,48 @@ standard).") (fg-space border) (bg-space-err bg-red-intense) +;;;; Terminal mappings + + (bg-term-black "black") + (fg-term-black "black") + (bg-term-black-bright "gray35") + (fg-term-black-bright "gray35") + + (bg-term-red red) + (fg-term-red red) + (bg-term-red-bright red-warmer) + (fg-term-red-bright red-warmer) + + (bg-term-green green) + (fg-term-green green) + (bg-term-green-bright green-cooler) + (fg-term-green-bright green-cooler) + + (bg-term-yellow yellow) + (fg-term-yellow yellow) + (bg-term-yellow-bright yellow-warmer) + (fg-term-yellow-bright yellow-warmer) + + (bg-term-blue blue) + (fg-term-blue blue) + (bg-term-blue-bright blue-warmer) + (fg-term-blue-bright blue-warmer) + + (bg-term-magenta magenta) + (fg-term-magenta magenta) + (bg-term-magenta-bright magenta-cooler) + (fg-term-magenta-bright magenta-cooler) + + (bg-term-cyan cyan) + (fg-term-cyan cyan) + (bg-term-cyan-bright cyan-cooler) + (fg-term-cyan-bright cyan-cooler) + + (bg-term-white "gray65") + (fg-term-white "gray65") + (bg-term-white-bright "white") + (fg-term-white-bright "white") + ;;;; Heading mappings (fg-heading-0 cyan-cooler) @@ -436,7 +483,4 @@ represents." (provide-theme 'modus-operandi-tritanopia)) -;;;###theme-autoload -(put 'modus-operandi-tritanopia 'theme-properties '(:background-mode light :kind color-scheme :family modus)) - ;;; modus-operandi-tritanopia-theme.el ends here diff --git a/etc/themes/modus-themes.el b/etc/themes/modus-themes.el index 43c10043bc5..34130a05515 100644 --- a/etc/themes/modus-themes.el +++ b/etc/themes/modus-themes.el @@ -6,7 +6,7 @@ ;; 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: 4.2.0 +;; Version: 4.3.0 ;; Package-Requires: ((emacs "27.1")) ;; Keywords: faces, theme, accessibility @@ -841,8 +841,6 @@ represents." (defvar modus-themes-preset-overrides-faint '((bg-completion bg-inactive) - (bg-hover bg-cyan-subtle) - (bg-hover-secondary bg-magenta-subtle) (bg-hl-line bg-dim) (bg-paren-match bg-cyan-subtle) (bg-region bg-active) @@ -997,9 +995,9 @@ Info node `(modus-themes) Option for palette overrides'.") (prose-block red-faint) (prose-done green-intense) - (prose-metadata cyan-faint) + (prose-metadata magenta-faint) (prose-metadata-value blue-cooler) - (prose-table cyan) + (prose-table blue) (prose-todo red-intense) (fg-heading-0 blue-cooler) @@ -1031,7 +1029,7 @@ Info node `(modus-themes) Option for palette overrides'.") (overline-heading-6 yellow-cooler) (overline-heading-7 red-cooler) (overline-heading-8 magenta)) - "Preset for palette overrides with faint coloration. + "Preset for palette overrides with intense coloration. This changes many parts of the theme to make them look more colorful/intense. Many background colors are accented and @@ -1111,7 +1109,7 @@ Info node `(modus-themes) Option for palette overrides'.") (fnname magenta-cooler) (keyword magenta-warmer) (preprocessor red-cooler) - (string olive) + (string green-warmer) (type cyan-cooler) (variable cyan) (rx-construct blue-cooler) @@ -1322,7 +1320,20 @@ symbol, which is safe when used as a face attribute's value." (defun modus-themes--annotate-theme (theme) "Return completion annotation for THEME." - (format " -- %s" (car (split-string (get (intern theme) 'theme-documentation) "\\.")))) + (when-let ((symbol (intern-soft theme)) + (doc-string (get symbol 'theme-documentation))) + (format " -- %s" (car (split-string doc-string "\\."))))) + +(defun modus-themes--completion-table (category candidates) + "Pass appropriate metadata CATEGORY to completion CANDIDATES." + (lambda (string pred action) + (if (eq action 'metadata) + `(metadata (category . ,category)) + (complete-with-action action candidates string pred)))) + +(defun modus-themes--completion-table-candidates () + "Render `modus-themes--list-known-themes' as completion with theme category." + (modus-themes--completion-table 'theme (modus-themes--list-known-themes))) (defun modus-themes--select-prompt () "Minibuffer prompt to select a Modus theme." @@ -1330,7 +1341,7 @@ symbol, which is safe when used as a face attribute's value." (intern (completing-read "Select Modus theme: " - (modus-themes--list-known-themes) + (modus-themes--completion-table-candidates) nil t nil 'modus-themes--select-theme-history)))) @@ -1344,12 +1355,13 @@ Disable other themes per `modus-themes-disable-other-themes'." (defun modus-themes--toggle-theme-p () "Return non-nil if `modus-themes-to-toggle' are valid." - (mapc (lambda (theme) - (if (or (memq theme modus-themes-items) - (memq theme (modus-themes--list-known-themes))) - theme - (user-error "`%s' is not part of `modus-themes-items'" theme))) - modus-themes-to-toggle)) + (mapc + (lambda (theme) + (if (or (memq theme modus-themes-items) + (memq theme (modus-themes--list-known-themes))) + theme + (user-error "`%s' is not part of `modus-themes-items'" theme))) + modus-themes-to-toggle)) ;;;###autoload (defun modus-themes-toggle () @@ -1364,9 +1376,7 @@ Disable other themes per `modus-themes-disable-other-themes'." (if-let* ((themes (modus-themes--toggle-theme-p)) (one (car themes)) (two (cadr themes))) - (if (eq (car custom-enabled-themes) one) - (modus-themes-load-theme two) - (modus-themes-load-theme one)) + (modus-themes-load-theme (if (eq (car custom-enabled-themes) one) two one)) (modus-themes-load-theme (modus-themes--select-prompt)))) (defun modus-themes--list-colors-render (buffer theme &optional mappings &rest _) @@ -1424,7 +1434,8 @@ Helper function for `modus-themes-list-colors'." (completion-extra-properties `(:annotation-function ,#'modus-themes--annotate-theme))) (completing-read (format "Use palette from theme [%s]: " def) - (modus-themes--list-known-themes) nil t nil + (modus-themes--completion-table-candidates) + nil t nil 'modus-themes--list-colors-prompt-history def))) (defun modus-themes-list-colors (theme &optional mappings) @@ -1552,20 +1563,22 @@ Optional OL is the color of an overline." (style (or key (alist-get t modus-themes-headings))) (style-listp (listp style)) (properties style) - (var (when (memq 'variable-pitch properties) 'variable-pitch)) + (var (when (and style-listp (memq 'variable-pitch properties)) 'variable-pitch)) (weight (when style-listp (modus-themes--weight style)))) - (list :inherit - (cond - ;; `no-bold' is for backward compatibility because we cannot - ;; deprecate a variable's value. - ((or weight (memq 'no-bold properties)) - var) - (var (append (list 'bold) (list var))) - ('bold)) + (list :inherit (cond + ((not style-listp) 'bold) + ;; `no-bold' is for backward compatibility because we cannot + ;; deprecate a variable's value. + ((or weight (memq 'no-bold properties)) + var) + (var (append (list 'bold) (list var))) + (t 'bold)) :background (or bg 'unspecified) :foreground fg :overline (or ol 'unspecified) - :height (modus-themes--property-lookup properties 'height #'floatp 'unspecified) + :height (if style-listp + (modus-themes--property-lookup properties 'height #'floatp 'unspecified) + 'unspecified) :weight (or weight 'unspecified)))) (defun modus-themes--org-block (fg bg) @@ -1747,6 +1760,8 @@ FG and BG are the main colors." `(tool-bar ((,c :background ,bg-dim :foreground ,fg-main))) `(vertical-border ((,c :foreground ,border))) ;;;;; basic and/or ungrouped styles + `(appt-notification ((,c :inherit error))) + `(blink-matching-paren-highlight-offscreen ((,c :background ,bg-paren-match))) `(bold ((,c :weight bold))) `(bold-italic ((,c :inherit (bold italic)))) `(underline ((,c :underline ,fg-dim))) @@ -1824,9 +1839,9 @@ FG and BG are the main colors." `(agda2-highlight-unsolved-meta-face ((,c :inherit modus-themes-lang-warning))) ;;;;; all-the-icons `(all-the-icons-blue ((,c :foreground ,blue-cooler))) - `(all-the-icons-blue-warmer ((,c :foreground ,blue-warmer))) - `(all-the-icons-cyan ((,c :foreground ,cyan-intense))) - `(all-the-icons-cyan-warmer ((,c :foreground ,cyan-warmer))) + `(all-the-icons-blue-alt ((,c :foreground ,blue-warmer))) + `(all-the-icons-cyan ((,c :foreground ,cyan))) + `(all-the-icons-cyan-alt ((,c :foreground ,cyan-warmer))) `(all-the-icons-dblue ((,c :foreground ,blue-faint))) `(all-the-icons-dcyan ((,c :foreground ,cyan-faint))) `(all-the-icons-dgreen ((,c :foreground ,green-faint))) @@ -1834,7 +1849,7 @@ FG and BG are the main colors." `(all-the-icons-dorange ((,c :foreground ,red-faint))) `(all-the-icons-dpink ((,c :foreground ,magenta-faint))) `(all-the-icons-dpurple ((,c :foreground ,magenta-cooler))) - `(all-the-icons-dred ((,c :foreground ,red-faint))) + `(all-the-icons-dred ((,c :foreground ,red))) `(all-the-icons-dsilver ((,c :foreground ,cyan-faint))) `(all-the-icons-dyellow ((,c :foreground ,yellow-faint))) `(all-the-icons-green ((,c :foreground ,green))) @@ -1845,12 +1860,18 @@ FG and BG are the main colors." `(all-the-icons-lorange ((,c :foreground ,red-warmer))) `(all-the-icons-lpink ((,c :foreground ,magenta))) `(all-the-icons-lpurple ((,c :foreground ,magenta-faint))) - `(all-the-icons-lred ((,c :foreground ,red))) + `(all-the-icons-lred ((,c :foreground ,red-faint))) + `(all-the-icons-lsilver ((,c :foreground "gray50"))) `(all-the-icons-lyellow ((,c :foreground ,yellow-warmer))) - `(all-the-icons-maroon ((,c :foreground ,yellow-cooler))) - `(all-the-icons-red ((,c :foreground ,red-intense))) - `(all-the-icons-red-warmer ((,c :foreground ,red-cooler))) - `(all-the-icons-yellow ((,c :foreground ,yellow-intense))) + `(all-the-icons-maroon ((,c :foreground ,magenta))) + `(all-the-icons-orange ((,c :foreground ,yellow-warmer))) + `(all-the-icons-pink ((,c :foreground ,magenta-warmer))) + `(all-the-icons-purple ((,c :foreground ,magenta-cooler))) + `(all-the-icons-purple-alt ((,c :foreground ,blue-warmer))) + `(all-the-icons-red ((,c :foreground ,red))) + `(all-the-icons-red-alt ((,c :foreground ,red-cooler))) + `(all-the-icons-silver ((,c :foreground "gray50"))) + `(all-the-icons-yellow ((,c :foreground ,yellow))) ;;;;; all-the-icons-dired `(all-the-icons-dired-dir-face ((,c :foreground ,cyan-faint))) ;;;;; all-the-icons-ibuffer @@ -1865,23 +1886,23 @@ FG and BG are the main colors." `(annotate-highlight-secondary ((,c :background ,bg-magenta-subtle :underline ,magenta-intense))) ;;;;; ansi-color ;; Those are in Emacs28. - `(ansi-color-black ((,c :background "black" :foreground "black"))) - `(ansi-color-blue ((,c :background ,blue :foreground ,blue))) + `(ansi-color-black ((,c :background ,bg-term-black :foreground ,fg-term-black))) + `(ansi-color-blue ((,c :background ,bg-term-blue :foreground ,fg-term-blue))) `(ansi-color-bold ((,c :inherit bold))) - `(ansi-color-bright-black ((,c :background "gray35" :foreground "gray35"))) - `(ansi-color-bright-blue ((,c :background ,blue-warmer :foreground ,blue-warmer))) - `(ansi-color-bright-cyan ((,c :background ,cyan-cooler :foreground ,cyan-cooler))) - `(ansi-color-bright-green ((,c :background ,green-cooler :foreground ,green-cooler))) - `(ansi-color-bright-magenta ((,c :background ,magenta-cooler :foreground ,magenta-cooler))) - `(ansi-color-bright-red ((,c :background ,red-warmer :foreground ,red-warmer))) - `(ansi-color-bright-white ((,c :background "white" :foreground "white"))) - `(ansi-color-bright-yellow ((,c :background ,yellow-warmer :foreground ,yellow-warmer))) - `(ansi-color-cyan ((,c :background ,cyan :foreground ,cyan))) - `(ansi-color-green ((,c :background ,green :foreground ,green))) - `(ansi-color-magenta ((,c :background ,magenta :foreground ,magenta))) - `(ansi-color-red ((,c :background ,red :foreground ,red))) - `(ansi-color-white ((,c :background "gray65" :foreground "gray65"))) - `(ansi-color-yellow ((,c :background ,yellow :foreground ,yellow))) + `(ansi-color-bright-black ((,c :background ,bg-term-black-bright :foreground ,fg-term-black-bright))) + `(ansi-color-bright-blue ((,c :background ,bg-term-blue-bright :foreground ,fg-term-blue-bright))) + `(ansi-color-bright-cyan ((,c :background ,bg-term-cyan-bright :foreground ,fg-term-cyan-bright))) + `(ansi-color-bright-green ((,c :background ,bg-term-green-bright :foreground ,fg-term-green-bright))) + `(ansi-color-bright-magenta ((,c :background ,bg-term-magenta-bright :foreground ,fg-term-magenta-bright))) + `(ansi-color-bright-red ((,c :background ,bg-term-red-bright :foreground ,fg-term-red-bright))) + `(ansi-color-bright-white ((,c :background ,bg-term-white-bright :foreground ,fg-term-white-bright))) + `(ansi-color-bright-yellow ((,c :background ,bg-term-yellow-bright :foreground ,fg-term-yellow-bright))) + `(ansi-color-cyan ((,c :background ,bg-term-cyan :foreground ,fg-term-cyan))) + `(ansi-color-green ((,c :background ,bg-term-green :foreground ,fg-term-green))) + `(ansi-color-magenta ((,c :background ,bg-term-magenta :foreground ,fg-term-magenta))) + `(ansi-color-red ((,c :background ,bg-term-red :foreground ,fg-term-red))) + `(ansi-color-white ((,c :background ,bg-term-white :foreground ,fg-term-white))) + `(ansi-color-yellow ((,c :background ,bg-term-yellow :foreground ,fg-term-yellow))) ;;;;; anzu `(anzu-match-1 ((,c :inherit modus-themes-subtle-cyan))) `(anzu-match-2 ((,c :inherit modus-themes-search-current))) @@ -1932,6 +1953,10 @@ FG and BG are the main colors." `(binder-sidebar-marked ((,c :inherit modus-themes-mark-sel))) `(binder-sidebar-missing ((,c :inherit modus-themes-mark-del))) `(binder-sidebar-tags ((,c :foreground ,variable))) +;;;;; breadcrumb + `(breadcrumb-face ((,c :foreground ,fg-alt))) + `(breadcrumb-imenu-leaf-face ((,c :inherit bold :foreground ,modeline-info))) ; same as `which-func' + `(breadcrumb-project-leaf-face ((,c :inherit bold))) ;;;;; bongo `(bongo-album-title (( ))) `(bongo-artist ((,c :foreground ,accent-0))) @@ -2009,7 +2034,7 @@ FG and BG are the main colors." `(change-log-name ((,c :foreground ,name))) `(log-edit-header ((,c :inherit bold))) `(log-edit-headers-separator ((,c :height 1 :background ,border :extend t))) - `(log-edit-summary ((,c :inherit bold :foreground ,blue))) + `(log-edit-summary ((,c :inherit success))) `(log-edit-unknown-header ((,c :inherit shadow))) `(log-view-commit-body (( ))) `(log-view-file ((,c :inherit bold))) @@ -2084,6 +2109,8 @@ FG and BG are the main colors." `(corfu-bar ((,c :background ,fg-dim))) `(corfu-border ((,c :background ,bg-active))) `(corfu-default ((,c :background ,bg-dim))) +;;;;; corfu-candidate-overlay + `(corfu-candidate-overlay-face ((t :inherit shadow))) ;;;;; corfu-quick `(corfu-quick1 ((,c :inherit bold :background ,bg-char-0))) `(corfu-quick2 ((,c :inherit bold :background ,bg-char-1))) @@ -2104,9 +2131,6 @@ FG and BG are the main colors." `(crontab-month ((,c :foreground ,constant))) `(crontab-week-day ((,c :foreground ,variable))) `(crontab-predefined ((,c :foreground ,string))) -;;;;; css-mode - `(css-property ((,c :inherit font-lock-type-face))) - `(css-selector ((,c :inherit font-lock-keyword-face))) ;;;;; csv-mode `(csv-separator-face ((,c :foreground ,red-intense))) ;;;;; ctrlf @@ -2413,6 +2437,11 @@ FG and BG are the main colors." ;;;;; ert `(ert-test-result-expected ((,c :inherit modus-themes-prominent-note))) `(ert-test-result-unexpected ((,c :inherit modus-themes-prominent-error))) +;;;;; erts-mode + `(erts-mode-end-test ((,c :inherit error))) + `(erts-mode-specification-name ((,c :inherit bold))) + `(erts-mode-specification-value ((,c :foreground ,string))) + `(erts-mode-start-test ((,c :inherit success))) ;;;;; eshell `(eshell-ls-archive ((,c :foreground ,accent-2))) `(eshell-ls-backup ((,c :inherit shadow))) @@ -2524,7 +2553,7 @@ FG and BG are the main colors." `(git-commit-keyword ((,c :foreground ,keyword))) `(git-commit-nonempty-second-line ((,c :inherit error))) `(git-commit-overlong-summary ((,c :inherit warning))) - `(git-commit-summary ((,c :inherit bold :foreground ,blue))) + `(git-commit-summary ((,c :inherit success))) ;;;;; git-gutter `(git-gutter:added ((,c :background ,bg-added-fringe))) `(git-gutter:deleted ((,c :background ,bg-removed-fringe))) @@ -2799,6 +2828,8 @@ FG and BG are the main colors." ;;;;; ivy-posframe `(ivy-posframe-border ((,c :background ,border))) `(ivy-posframe-cursor ((,c :background ,fg-main :foreground ,bg-main))) +;;;;; japanese-holidays + `(japanese-holiday-saturday ((,c :foreground ,date-holiday-other))) ;;;;; jira (org-jira) `(jiralib-comment-face ((,c :background ,bg-inactive))) `(jiralib-comment-header-face ((,c :inherit bold))) @@ -3127,6 +3158,50 @@ FG and BG are the main colors." `(mc/cursor-bar-face ((,c :height 1 :foreground ,fg-main :background ,bg-main))) `(mc/cursor-face ((,c :inverse-video t))) `(mc/region-face ((,c :inherit region))) +;;;;; nerd-icons + `(nerd-icons-blue ((,c :foreground ,blue-cooler))) + `(nerd-icons-blue-alt ((,c :foreground ,blue-warmer))) + `(nerd-icons-cyan ((,c :foreground ,cyan))) + `(nerd-icons-cyan-alt ((,c :foreground ,cyan-warmer))) + `(nerd-icons-dblue ((,c :foreground ,blue-faint))) + `(nerd-icons-dcyan ((,c :foreground ,cyan-faint))) + `(nerd-icons-dgreen ((,c :foreground ,green-faint))) + `(nerd-icons-dmaroon ((,c :foreground ,magenta-faint))) + `(nerd-icons-dorange ((,c :foreground ,red-faint))) + `(nerd-icons-dpink ((,c :foreground ,magenta-faint))) + `(nerd-icons-dpurple ((,c :foreground ,magenta-cooler))) + `(nerd-icons-dred ((,c :foreground ,red))) + `(nerd-icons-dsilver ((,c :foreground ,cyan-faint))) + `(nerd-icons-dyellow ((,c :foreground ,yellow-faint))) + `(nerd-icons-green ((,c :foreground ,green))) + `(nerd-icons-lblue ((,c :foreground ,blue-cooler))) + `(nerd-icons-lcyan ((,c :foreground ,cyan))) + `(nerd-icons-lgreen ((,c :foreground ,green-warmer))) + `(nerd-icons-lmaroon ((,c :foreground ,magenta-warmer))) + `(nerd-icons-lorange ((,c :foreground ,red-warmer))) + `(nerd-icons-lpink ((,c :foreground ,magenta))) + `(nerd-icons-lpurple ((,c :foreground ,magenta-faint))) + `(nerd-icons-lred ((,c :foreground ,red-faint))) + `(nerd-icons-lsilver ((,c :foreground "gray50"))) + `(nerd-icons-lyellow ((,c :foreground ,yellow-warmer))) + `(nerd-icons-maroon ((,c :foreground ,magenta))) + `(nerd-icons-orange ((,c :foreground ,yellow-warmer))) + `(nerd-icons-pink ((,c :foreground ,magenta-warmer))) + `(nerd-icons-purple ((,c :foreground ,magenta-cooler))) + `(nerd-icons-purple-alt ((,c :foreground ,blue-warmer))) + `(nerd-icons-red ((,c :foreground ,red))) + `(nerd-icons-red-alt ((,c :foreground ,red-cooler))) + `(nerd-icons-silver ((,c :foreground "gray50"))) + `(nerd-icons-yellow ((,c :foreground ,yellow))) +;;;;; nerd-icons-completion + `(nerd-icons-completion-dir-face ((,c :foreground ,cyan-faint))) +;;;;; nerd-icons-dired + `(nerd-icons-dired-dir-face ((,c :foreground ,cyan-faint))) +;;;;; nerd-icons-ibuffer + `(nerd-icons-ibuffer-dir-face ((,c :foreground ,cyan-faint))) + `(nerd-icons-ibuffer-file-face ((,c :foreground ,blue-faint))) + `(nerd-icons-ibuffer-mode-face ((,c :foreground ,cyan))) + `(nerd-icons-ibuffer-size-face ((,c :foreground ,cyan-cooler))) ;;;;; neotree `(neo-banner-face ((,c :foreground ,accent-0))) `(neo-button-face ((,c :inherit button))) @@ -3247,7 +3322,7 @@ FG and BG are the main colors." `(org-date ((,c :inherit modus-themes-fixed-pitch :foreground ,date-common))) `(org-date-selected ((,c :foreground ,date-common :inverse-video t))) `(org-document-info ((,c :foreground ,prose-metadata-value))) - `(org-document-info-keyword ((,c :foreground ,prose-metadata))) + `(org-document-info-keyword ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-metadata))) `(org-document-title ((,c :inherit modus-themes-heading-0))) `(org-done ((,c :foreground ,prose-done))) `(org-drawer ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-metadata))) @@ -3707,16 +3782,19 @@ FG and BG are the main colors." `(terraform--resource-name-face ((,c :foreground ,keyword))) `(terraform--resource-type-face ((,c :foreground ,type))) ;;;;; term + ;; NOTE 2023-08-10: `term-color-black' and `term-color-white' use + ;; the "bright" semantic color mappings to make sure they are + ;; distinct from `term'. `(term ((,c :background ,bg-main :foreground ,fg-main))) `(term-bold ((,c :inherit bold))) - `(term-color-black ((,c :background "gray35" :foreground "gray35"))) - `(term-color-blue ((,c :background ,blue :foreground ,blue))) - `(term-color-cyan ((,c :background ,cyan :foreground ,cyan))) - `(term-color-green ((,c :background ,green :foreground ,green))) - `(term-color-magenta ((,c :background ,magenta :foreground ,magenta))) - `(term-color-red ((,c :background ,red :foreground ,red))) - `(term-color-white ((,c :background "gray65" :foreground "gray65"))) - `(term-color-yellow ((,c :background ,yellow :foreground ,yellow))) + `(term-color-black ((,c :background ,bg-term-black-bright :foreground ,fg-term-black-bright))) + `(term-color-blue ((,c :background ,bg-term-blue :foreground ,fg-term-blue))) + `(term-color-cyan ((,c :background ,bg-term-cyan :foreground ,fg-term-cyan))) + `(term-color-green ((,c :background ,bg-term-green :foreground ,fg-term-green))) + `(term-color-magenta ((,c :background ,bg-term-magenta :foreground ,fg-term-magenta))) + `(term-color-red ((,c :background ,bg-term-red :foreground ,fg-term-red))) + `(term-color-white ((,c :background ,bg-term-white-bright :foreground ,fg-term-white-bright))) + `(term-color-yellow ((,c :background ,bg-term-yellow :foreground ,fg-term-yellow))) `(term-underline ((,c :underline t))) ;;;;; textsec `(textsec-suspicious (( ))) @@ -3847,17 +3925,20 @@ FG and BG are the main colors." `(vr/match-1 ((,c :inherit modus-themes-intense-yellow))) `(vr/match-separator-face ((,c :inherit bold :background ,bg-active))) ;;;;; vterm - `(vterm-color-black ((,c :background "gray35" :foreground "black"))) - `(vterm-color-blue ((,c :background ,blue-warmer :foreground ,blue))) - `(vterm-color-cyan ((,c :background ,cyan-cooler :foreground ,cyan))) + ;; NOTE 2023-08-10: `vterm-color-black' and `vterm-color-white' + ;; use the "bright" semantic color mappings to make sure they are + ;; distinct from `vterm-color-default'. + `(vterm-color-black ((,c :background ,bg-term-black :foreground ,fg-term-black))) + `(vterm-color-blue ((,c :background ,bg-term-blue :foreground ,fg-term-blue))) + `(vterm-color-cyan ((,c :background ,bg-term-cyan :foreground ,fg-term-cyan))) `(vterm-color-default ((,c :background ,bg-main :foreground ,fg-main))) - `(vterm-color-green ((,c :background ,green-cooler :foreground ,green))) + `(vterm-color-green ((,c :background ,bg-term-green :foreground ,fg-term-green))) `(vterm-color-inverse-video ((,c :background ,bg-main :inverse-video t))) - `(vterm-color-magenta ((,c :background ,magenta-cooler :foreground ,magenta))) - `(vterm-color-red ((,c :background ,red-warmer :foreground ,red))) + `(vterm-color-magenta ((,c :background ,bg-term-magenta :foreground ,fg-term-magenta))) + `(vterm-color-red ((,c :background ,bg-term-red :foreground ,fg-term-red))) `(vterm-color-underline ((,c :underline t))) - `(vterm-color-white ((,c :background "white" :foreground "gray65"))) - `(vterm-color-yellow ((,c :background ,yellow-warmer :foreground ,yellow))) + `(vterm-color-white ((,c :background ,bg-term-white :foreground ,fg-term-white))) + `(vterm-color-yellow ((,c :background ,bg-term-yellow :foreground ,fg-term-yellow))) ;;;;; vundo `(vundo-default ((,c :inherit shadow))) `(vundo-highlight ((,c :inherit (bold vundo-node) :foreground ,red))) @@ -3941,7 +4022,7 @@ FG and BG are the main colors." `(wgrep-file-face ((,c :foreground ,fg-alt))) `(wgrep-reject-face ((,c :inherit error))) ;;;;; which-function-mode - `(which-func ((,c :inherit bold :foreground ,modeline-info))) + `(which-func ((,c :inherit bold :foreground ,modeline-info))) ; same as `breadcrumb-imenu-leaf-face' ;;;;; which-key `(which-key-command-description-face ((,c :foreground ,fg-main))) `(which-key-group-description-face ((,c :foreground ,keyword))) diff --git a/etc/themes/modus-vivendi-deuteranopia-theme.el b/etc/themes/modus-vivendi-deuteranopia-theme.el index 60c3c62b38f..6de293ad5bc 100644 --- a/etc/themes/modus-vivendi-deuteranopia-theme.el +++ b/etc/themes/modus-vivendi-deuteranopia-theme.el @@ -42,6 +42,7 @@ (require-theme 'modus-themes t)) (require 'modus-themes)) +;;;###theme-autoload (deftheme modus-vivendi-deuteranopia "Deuteranopia-optimized theme with a black background. This variant is optimized for users with red-green color @@ -49,7 +50,10 @@ deficiency (deuteranopia). It conforms with the highest legibility standard for color contrast between background and foreground in any given piece of text, which corresponds to a minimum contrast in relative luminance of 7:1 (WCAG AAA -standard).") +standard)." + :background-mode 'dark + :kind 'color-scheme + :family 'modus) (defconst modus-vivendi-deuteranopia-palette '( @@ -154,7 +158,7 @@ standard).") ;;; Special purpose (bg-completion "#2f447f") - (bg-hover "#004f70") + (bg-hover "#45605e") (bg-hover-secondary "#654a39") (bg-hl-line "#2f3849") (bg-region "#5a5a5a") @@ -197,7 +201,7 @@ standard).") (bg-removed "#3d3d00") (bg-removed-faint "#281f00") - (bg-removed-refine "#515100") + (bg-removed-refine "#555500") (bg-removed-fringe "#d0c03f") (fg-removed "#d4d48f") (fg-removed-intense "#d0b05f") @@ -283,6 +287,7 @@ standard).") (date-deadline yellow-warmer) (date-event fg-alt) (date-holiday yellow-warmer) + (date-holiday-other blue) (date-now blue-faint) (date-range fg-alt) (date-scheduled yellow-cooler) @@ -366,6 +371,48 @@ standard).") (fg-space border) (bg-space-err bg-yellow-intense) +;;;; Terminal mappings + + (bg-term-black "black") + (fg-term-black "black") + (bg-term-black-bright "gray35") + (fg-term-black-bright "gray35") + + (bg-term-red red) + (fg-term-red red) + (bg-term-red-bright red-warmer) + (fg-term-red-bright red-warmer) + + (bg-term-green green) + (fg-term-green green) + (bg-term-green-bright green-cooler) + (fg-term-green-bright green-cooler) + + (bg-term-yellow yellow) + (fg-term-yellow yellow) + (bg-term-yellow-bright yellow-warmer) + (fg-term-yellow-bright yellow-warmer) + + (bg-term-blue blue) + (fg-term-blue blue) + (bg-term-blue-bright blue-warmer) + (fg-term-blue-bright blue-warmer) + + (bg-term-magenta magenta) + (fg-term-magenta magenta) + (bg-term-magenta-bright magenta-cooler) + (fg-term-magenta-bright magenta-cooler) + + (bg-term-cyan cyan) + (fg-term-cyan cyan) + (bg-term-cyan-bright cyan-cooler) + (fg-term-cyan-bright cyan-cooler) + + (bg-term-white "gray65") + (fg-term-white "gray65") + (bg-term-white-bright "white") + (fg-term-white-bright "white") + ;;;; Heading mappings (fg-heading-0 cyan-cooler) @@ -435,7 +482,4 @@ represents." (provide-theme 'modus-vivendi-deuteranopia)) -;;;###theme-autoload -(put 'modus-vivendi-deuteranopia 'theme-properties '(:background-mode dark :kind color-scheme :family modus)) - ;;; modus-vivendi-deuteranopia-theme.el ends here diff --git a/etc/themes/modus-vivendi-theme.el b/etc/themes/modus-vivendi-theme.el index 70dd0f78675..b193a96524f 100644 --- a/etc/themes/modus-vivendi-theme.el +++ b/etc/themes/modus-vivendi-theme.el @@ -42,12 +42,16 @@ (require-theme 'modus-themes t)) (require 'modus-themes)) +;;;###theme-autoload (deftheme modus-vivendi "Elegant, highly legible theme with a black background. Conforms with the highest legibility standard for color contrast between background and foreground in any given piece of text, which corresponds to a minimum contrast in relative luminance of -7:1 (WCAG AAA standard).") +7:1 (WCAG AAA standard)." + :background-mode 'dark + :kind 'color-scheme + :family 'modus) (defconst modus-vivendi-palette '( @@ -152,7 +156,7 @@ which corresponds to a minimum contrast in relative luminance of ;;; Special purpose (bg-completion "#2f447f") - (bg-hover "#004f70") + (bg-hover "#45605e") (bg-hover-secondary "#654a39") (bg-hl-line "#2f3849") (bg-region "#5a5a5a") @@ -281,6 +285,7 @@ which corresponds to a minimum contrast in relative luminance of (date-deadline red) (date-event fg-alt) (date-holiday red-cooler) + (date-holiday-other blue) (date-now fg-main) (date-range fg-alt) (date-scheduled yellow-warmer) @@ -364,6 +369,48 @@ which corresponds to a minimum contrast in relative luminance of (fg-space border) (bg-space-err bg-red-intense) +;;;; Terminal mappings + + (bg-term-black "black") + (fg-term-black "black") + (bg-term-black-bright "gray35") + (fg-term-black-bright "gray35") + + (bg-term-red red) + (fg-term-red red) + (bg-term-red-bright red-warmer) + (fg-term-red-bright red-warmer) + + (bg-term-green green) + (fg-term-green green) + (bg-term-green-bright green-cooler) + (fg-term-green-bright green-cooler) + + (bg-term-yellow yellow) + (fg-term-yellow yellow) + (bg-term-yellow-bright yellow-warmer) + (fg-term-yellow-bright yellow-warmer) + + (bg-term-blue blue) + (fg-term-blue blue) + (bg-term-blue-bright blue-warmer) + (fg-term-blue-bright blue-warmer) + + (bg-term-magenta magenta) + (fg-term-magenta magenta) + (bg-term-magenta-bright magenta-cooler) + (fg-term-magenta-bright magenta-cooler) + + (bg-term-cyan cyan) + (fg-term-cyan cyan) + (bg-term-cyan-bright cyan-cooler) + (fg-term-cyan-bright cyan-cooler) + + (bg-term-white "gray65") + (fg-term-white "gray65") + (bg-term-white-bright "white") + (fg-term-white-bright "white") + ;;;; Heading mappings (fg-heading-0 cyan-cooler) @@ -434,7 +481,4 @@ represents." (provide-theme 'modus-vivendi)) -;;;###theme-autoload -(put 'modus-vivendi 'theme-properties '(:background-mode dark :kind color-scheme :family modus)) - ;;; modus-vivendi-theme.el ends here diff --git a/etc/themes/modus-vivendi-tinted-theme.el b/etc/themes/modus-vivendi-tinted-theme.el index b6443bdf6cc..bf72f88d8e0 100644 --- a/etc/themes/modus-vivendi-tinted-theme.el +++ b/etc/themes/modus-vivendi-tinted-theme.el @@ -42,12 +42,16 @@ (require-theme 'modus-themes t)) (require 'modus-themes)) +;;;###theme-autoload (deftheme modus-vivendi-tinted "Elegant, highly legible theme with a night sky background. Conforms with the highest legibility standard for color contrast between background and foreground in any given piece of text, which corresponds to a minimum contrast in relative luminance of -7:1 (WCAG AAA standard).") +7:1 (WCAG AAA standard)." + :background-mode 'dark + :kind 'color-scheme + :family 'modus) (defconst modus-vivendi-tinted-palette '( @@ -146,7 +150,7 @@ which corresponds to a minimum contrast in relative luminance of ;;; Special purpose (bg-completion "#483d8a") - (bg-hover "#004f70") + (bg-hover "#45605e") (bg-hover-secondary "#654a39") (bg-hl-line "#303a6f") (bg-region "#555a66") @@ -281,6 +285,7 @@ which corresponds to a minimum contrast in relative luminance of (date-deadline red) (date-event fg-alt) (date-holiday red-cooler) + (date-holiday-other blue) (date-now fg-main) (date-range fg-alt) (date-scheduled yellow-warmer) @@ -364,6 +369,48 @@ which corresponds to a minimum contrast in relative luminance of (bg-space unspecified) (fg-space border) +;;;; Terminal mappings + + (bg-term-black "black") + (fg-term-black "black") + (bg-term-black-bright "gray35") + (fg-term-black-bright "gray35") + + (bg-term-red red) + (fg-term-red red) + (bg-term-red-bright red-warmer) + (fg-term-red-bright red-warmer) + + (bg-term-green green) + (fg-term-green green) + (bg-term-green-bright green-cooler) + (fg-term-green-bright green-cooler) + + (bg-term-yellow yellow) + (fg-term-yellow yellow) + (bg-term-yellow-bright yellow-warmer) + (fg-term-yellow-bright yellow-warmer) + + (bg-term-blue blue) + (fg-term-blue blue) + (bg-term-blue-bright blue-warmer) + (fg-term-blue-bright blue-warmer) + + (bg-term-magenta magenta) + (fg-term-magenta magenta) + (bg-term-magenta-bright magenta-cooler) + (fg-term-magenta-bright magenta-cooler) + + (bg-term-cyan cyan) + (fg-term-cyan cyan) + (bg-term-cyan-bright cyan-cooler) + (fg-term-cyan-bright cyan-cooler) + + (bg-term-white "gray65") + (fg-term-white "gray65") + (bg-term-white-bright "white") + (fg-term-white-bright "white") + ;;;; Heading mappings (fg-heading-0 cyan-cooler) @@ -433,7 +480,4 @@ represents." (provide-theme 'modus-vivendi-tinted)) -;;;###theme-autoload -(put 'modus-vivendi-tinted 'theme-properties '(:background-mode dark :kind color-scheme :family modus)) - ;;; modus-vivendi-tinted-theme.el ends here diff --git a/etc/themes/modus-vivendi-tritanopia-theme.el b/etc/themes/modus-vivendi-tritanopia-theme.el index 0d09989e2a7..d808d0250fc 100644 --- a/etc/themes/modus-vivendi-tritanopia-theme.el +++ b/etc/themes/modus-vivendi-tritanopia-theme.el @@ -6,6 +6,7 @@ ;; 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 +;; Keywords: faces, theme, accessibility ;; This file is part of GNU Emacs. @@ -42,6 +43,7 @@ (require-theme 'modus-themes t)) (require 'modus-themes)) +;;;###theme-autoload (deftheme modus-vivendi-tritanopia "Tritanopia-optimized theme with a black background. This variant is optimized for users with blue-yellow color @@ -49,7 +51,10 @@ deficiency (tritanopia). It conforms with the highest legibility standard for color contrast between background and foreground in any given piece of text, which corresponds to a minimum contrast in relative luminance of 7:1 (WCAG AAA -standard).") +standard)." + :background-mode 'dark + :kind 'color-scheme + :family 'modus) (defconst modus-vivendi-tritanopia-palette '( @@ -161,8 +166,8 @@ standard).") (fg-region "#ffffff") (bg-char-0 "#922a00") - (bg-char-1 "#4f3f7f") - (bg-char-2 "#00709f") + (bg-char-1 "#00709f") + (bg-char-2 "#5f3faf") (bg-mode-line-active "#003c52") (fg-mode-line-active "#f0f0f0") @@ -283,6 +288,7 @@ standard).") (date-deadline red) (date-event fg-alt) (date-holiday red-intense) + (date-holiday-other cyan-warmer) (date-now fg-main) (date-range fg-alt) (date-scheduled magenta) @@ -366,6 +372,48 @@ standard).") (fg-space border) (bg-space-err bg-red-intense) +;;;; Terminal mappings + + (bg-term-black "black") + (fg-term-black "black") + (bg-term-black-bright "gray35") + (fg-term-black-bright "gray35") + + (bg-term-red red) + (fg-term-red red) + (bg-term-red-bright red-warmer) + (fg-term-red-bright red-warmer) + + (bg-term-green green) + (fg-term-green green) + (bg-term-green-bright green-cooler) + (fg-term-green-bright green-cooler) + + (bg-term-yellow yellow) + (fg-term-yellow yellow) + (bg-term-yellow-bright yellow-warmer) + (fg-term-yellow-bright yellow-warmer) + + (bg-term-blue blue) + (fg-term-blue blue) + (bg-term-blue-bright blue-warmer) + (fg-term-blue-bright blue-warmer) + + (bg-term-magenta magenta) + (fg-term-magenta magenta) + (bg-term-magenta-bright magenta-cooler) + (fg-term-magenta-bright magenta-cooler) + + (bg-term-cyan cyan) + (fg-term-cyan cyan) + (bg-term-cyan-bright cyan-cooler) + (fg-term-cyan-bright cyan-cooler) + + (bg-term-white "gray65") + (fg-term-white "gray65") + (bg-term-white-bright "white") + (fg-term-white-bright "white") + ;;;; Heading mappings (fg-heading-0 cyan-cooler) @@ -435,7 +483,4 @@ represents." (provide-theme 'modus-vivendi-tritanopia)) -;;;###theme-autoload -(put 'modus-vivendi-tritanopia 'theme-properties '(:background-mode dark :kind color-scheme :family modus)) - ;;; modus-vivendi-tritanopia-theme.el ends here