Update to modus-themes version 4.5.0
* doc/misc/modus-themes.org (COPYING): Update the version headers. (Option to extend the palette): Document new user options. (Full support for packages or face groups): Document more packages that are explicitly supported by the themes. (Acknowledgements): Update the list of people who have contributed to the project in one way or another. * etc/themes/modus-operandi-deuteranopia-theme.el: * etc/themes/modus-operandi-deuteranopia-theme.el: * etc/themes/modus-operandi-tinted-theme.el: * etc/themes/modus-operandi-tritanopia-theme.el: * etc/themes/modus-vivendi-deuteranopia-theme.el: * etc/themes/modus-vivendi-theme.el: * etc/themes/modus-vivendi-tinted-theme.el: * etc/themes/modus-vivendi-tritanopia-theme.el: Update the palette of each theme and include the new user option to extend its palette. * etc/themes/modus-themes.el: Cover more faces and include user option for common extension to all theme palettes. Detailed release notes: <https://protesilaos.com/codelog/2024-08-21-modus-themes-4-5-0/>.
This commit is contained in:
parent
53ea5f1df4
commit
3efb89ddb9
10 changed files with 523 additions and 160 deletions
|
@ -4,9 +4,9 @@
|
|||
#+language: en
|
||||
#+options: ':t toc:nil author:t email:t num:t
|
||||
#+startup: content
|
||||
#+macro: stable-version 4.4.0
|
||||
#+macro: release-date 2024-03-17
|
||||
#+macro: development-version 4.5.0-dev
|
||||
#+macro: stable-version 4.5.0
|
||||
#+macro: release-date 2024-08-21
|
||||
#+macro: development-version 4.6.0-dev
|
||||
#+macro: file @@texinfo:@file{@@$1@@texinfo:}@@
|
||||
#+macro: space @@texinfo:@: @@
|
||||
#+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@
|
||||
|
@ -50,7 +50,7 @@ Current development target is {{{development-version}}}.
|
|||
:custom_id: h:b14c3fcb-13dd-4144-9d92-2c58b3ed16d3
|
||||
:end:
|
||||
|
||||
Copyright (C) 2020-2024 Free Software Foundation, Inc.
|
||||
Copyright (C) 2020-2023 Free Software Foundation, Inc.
|
||||
|
||||
#+begin_quote
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
|
@ -88,7 +88,7 @@ The Modus themes consist of eight themes, divided into four subgroups.
|
|||
are variants of the two main themes. They slightly tone down the
|
||||
intensity of the background and provide a bit more color variety.
|
||||
~modus-operandi-tinted~ has a set of base tones that are shades of
|
||||
light ocher (earthly colors), while ~modus-vivendi-tinted~ gives a
|
||||
light ochre (earthly colors), while ~modus-vivendi-tinted~ gives a
|
||||
night sky impression.
|
||||
|
||||
- Deuteranopia themes :: ~modus-operandi-deuteranopia~ and its
|
||||
|
@ -144,7 +144,7 @@ and covers everything that goes into every tagged release of the themes.
|
|||
:end:
|
||||
|
||||
The Modus themes are distributed with Emacs starting with version 28.1.
|
||||
On older versions of Emacs, they can be installed using Emacs's package
|
||||
On older versions of Emacs, they can be installed using Emacs' package
|
||||
manager or manually from their code repository. There also exist
|
||||
packages for distributions of GNU/Linux.
|
||||
|
||||
|
@ -486,7 +486,7 @@ The reason we recommend ~load-theme~ instead of the other option of
|
|||
~enable-theme~ is that the former does a kind of "reset" on the face
|
||||
specs. It quite literally loads (or reloads) the theme. Whereas the
|
||||
~enable-theme~ function simply puts an already loaded theme to the top
|
||||
of the list of enabled items, reusing whatever state was last loaded.
|
||||
of the list of enabled items, re-using whatever state was last loaded.
|
||||
|
||||
As such, ~load-theme~ reads all customizations that may happen during
|
||||
any given Emacs session: even after the initial setup of a theme.
|
||||
|
@ -1190,6 +1190,92 @@ Named colors can be previewed, such as with the command
|
|||
For a video tutorial that users of all skill levels can approach,
|
||||
watch: https://protesilaos.com/codelog/2022-12-17-modus-themes-v4-demo/.
|
||||
|
||||
** Option to extend the palette
|
||||
:PROPERTIES:
|
||||
:ALT_TITLE: Palette extension
|
||||
:DESCRIPTION: Define new colors and use them like the original ones
|
||||
:CUSTOM_ID: h:287fb971-a866-4d88-9993-56e902dd63c4
|
||||
:END:
|
||||
|
||||
It is possible to extend the palette of each theme. For example, the
|
||||
user may define their own =cherry= color with a value of =#a0134f= and
|
||||
then apply it as an override ([[#h:34c7a691-19bb-4037-8d2f-67a07edab150][Option for palette overrides]]). Those
|
||||
colors may also be used in custom code that leverages either the
|
||||
~modus-themes-with-colors~ macro or the function
|
||||
~modus-themes-get-color-value~.
|
||||
|
||||
The palette extension can be done in the form of a common set of
|
||||
definitions that are shared among the themes or on a per-theme basis.
|
||||
|
||||
#+vindex: modus-themes-common-palette-user
|
||||
The common values are stored in the user option ~modus-themes-common-palette-user~.
|
||||
As for per-theme variables, we have the following user options:
|
||||
|
||||
#+vindex: modus-operandi-palette-user
|
||||
- ~modus-operandi-palette-user~
|
||||
|
||||
#+vindex: modus-operandi-tinted-palette-user
|
||||
- ~modus-operandi-tinted-palette-user~
|
||||
|
||||
#+vindex: modus-operandi-deuteranopia-palette-user
|
||||
- ~modus-operandi-deuteranopia-palette-user~
|
||||
|
||||
#+vindex: modus-operandi-tritanopia-palette-user
|
||||
- ~modus-operandi-tritanopia-palette-user~
|
||||
|
||||
#+vindex: modus-vivendi-palette-user
|
||||
- ~modus-vivendi-palette-user~
|
||||
|
||||
#+vindex: modus-vivendi-tinted-palette-user
|
||||
- ~modus-vivendi-tinted-palette-user~
|
||||
|
||||
#+vindex: modus-vivendi-deuteranopia-palette-user
|
||||
- ~modus-vivendi-deuteranopia-palette-user~
|
||||
|
||||
#+vindex: modus-vivendi-tritanopia-palette-user
|
||||
- ~modus-vivendi-tritanopia-palette-user~
|
||||
|
||||
Examples demonstrating how to use the aforementioned:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
;;; Common customizations
|
||||
|
||||
;; Define two new colors in the common "user" palette of all the Modus themes.
|
||||
(setq modus-themes-common-palette-user
|
||||
'((cherry "#a0134f")
|
||||
(plum "#6f459a")))
|
||||
|
||||
;; Use them in the overrides.
|
||||
(setq modus-themes-common-palette-overrides
|
||||
'((cursor cherry)
|
||||
(string plum)))
|
||||
|
||||
;;; Per-theme customizations
|
||||
|
||||
;; Define two new colors in the "user" palette of `modus-operandi'.
|
||||
;; Other themes will not use these.
|
||||
(setq modus-operandi-palette-user
|
||||
'((cherry "#a0134f")
|
||||
(plum "#6f459a")))
|
||||
|
||||
;; Use them in the overrides.
|
||||
(setq modus-operandi-palette-overrides
|
||||
'((cursor cherry)
|
||||
(string plum)))
|
||||
|
||||
|
||||
;; Tweaks on a per-theme basis give the user maximum flexibility. For
|
||||
;; example, they can have the above for `modus-operandi' while they use
|
||||
;; these for `modus-vivendi':
|
||||
(setq modus-vivendi-palette-user
|
||||
'((apricot "#dfb350")
|
||||
(kiwi "#80d458")))
|
||||
|
||||
(setq modus-vivendi-palette-overrides
|
||||
'((cursor apricot)
|
||||
(string kiwi)))
|
||||
#+end_src
|
||||
|
||||
* Preview theme colors
|
||||
:properties:
|
||||
:custom_id: h:f4d4b71b-2ca5-4c3d-b0b4-9bfd7aa7fb4d
|
||||
|
@ -1237,7 +1323,7 @@ and ==*modus-operandi-list-mappings*= for the semantic color mappings.
|
|||
:END:
|
||||
|
||||
The Modus themes provide the means to access the palette of (i) the
|
||||
active theme or (ii) any theme in the Modus collection. These are
|
||||
active theme or (ii) any theme in the Modus collection. These are
|
||||
useful for Do-It-Yourself customizations ([[#h:f4651d55-8c07-46aa-b52b-bed1e53463bb][Advanced customization]]),
|
||||
though it can also be helpful in other cases, such as to reuse a color
|
||||
value in some other application.
|
||||
|
@ -1251,9 +1337,9 @@ value in some other application.
|
|||
:END:
|
||||
|
||||
#+findex: modus-themes-get-color-value
|
||||
The function ~modus-themes-get-color-value~ can be called from Lisp to
|
||||
return the value of a color from the active Modus theme palette. It
|
||||
takea a =COLOR= argument and an optional =OVERRIDES=. It also accepts
|
||||
The fuction ~modus-themes-get-color-value~ can be called from Lisp to
|
||||
return the value of a color from the active Modus theme palette. It
|
||||
takea a =COLOR= argument and an optional =OVERRIDES=. It also accepts
|
||||
a third =THEME= argument, to get the color from the given theme.
|
||||
|
||||
=COLOR= is a symbol that represents a named color entry in the
|
||||
|
@ -1264,7 +1350,7 @@ mapping), this function recurs until it finds the underlying color
|
|||
value.
|
||||
|
||||
With an optional =OVERRIDES= argument as a non-~nil~ value, it
|
||||
accounts for palette overrides. Else it reads only the default palette
|
||||
accounts for palette overrides. Else it reads only the default palette
|
||||
([[#h:34c7a691-19bb-4037-8d2f-67a07edab150][Option for palette overrides]])
|
||||
|
||||
With an optional =THEME= as a symbol among the ~modus-themes-items~
|
||||
|
@ -1309,12 +1395,12 @@ with/without overrides and when recursive mappings are introduced.
|
|||
|
||||
#+findex: modus-themes-with-colors
|
||||
Advanced users may want to apply many colors from the palette of the
|
||||
active Modus theme in their custom code. In such a case, retrieving
|
||||
active Modus theme in their custom code. In such a case, retrieving
|
||||
each value with the function ~modus-themes-get-color-value~ is
|
||||
inefficient ([[#h:1cc552c1-5f5f-4a56-ae78-7b69e8512c4e][Get a single color from the palette]]). The Lisp macro
|
||||
~modus-themes-with-colors~ provides the requisite functionality. It
|
||||
inefficient ([[#h:1cc552c1-5f5f-4a56-ae78-7b69e8512c4e][Get a single color from the palette]]). The Lisp macro
|
||||
~modus-themes-with-colors~ provides the requisite functionality. It
|
||||
supplies the current theme's palette to the code called from inside of
|
||||
it. For example:
|
||||
it. For example:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(modus-themes-with-colors
|
||||
|
@ -1323,9 +1409,9 @@ it. For example:
|
|||
#+end_src
|
||||
|
||||
The above return value is for ~modus-operandi~ when that is the active
|
||||
theme. Switching to another theme and evaluating this code anew will
|
||||
theme. Switching to another theme and evaluating this code anew will
|
||||
return the relevant results for that theme (remember that since
|
||||
version 4, the Modus themes consist of many items ([[#h:f0f3dbcb-602d-40cf-b918-8f929c441baf][Overview]])). The
|
||||
version 4, the Modus themes consist of many items ([[#h:f0f3dbcb-602d-40cf-b918-8f929c441baf][Overview]])). The
|
||||
same with ~modus-vivendi~ as the active theme:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
@ -1340,7 +1426,7 @@ like =blue-warmer= and (ii) semantic color mappings like =warning=.
|
|||
We provide commands to inspect those ([[#h:f4d4b71b-2ca5-4c3d-b0b4-9bfd7aa7fb4d][Preview theme colors]]).
|
||||
|
||||
Others sections in this manual show how to use the aforementioned
|
||||
macro ([[#h:f4651d55-8c07-46aa-b52b-bed1e53463bb][Advanced customization]]). In practice, the use of a hook will
|
||||
macro ([[#h:f4651d55-8c07-46aa-b52b-bed1e53463bb][Advanced customization]]). In practice, the use of a hook will
|
||||
also be needed ([[#h:d87673fe-2ce1-4c80-a4b8-be36ca9f2d24][DIY Use a hook at the post-load-theme phase]]).
|
||||
|
||||
* Advanced customization
|
||||
|
@ -1355,7 +1441,7 @@ mechanism to control things with precision ([[#h:bf1c82f2-46c7-4eb2-ad00-dd11fdd
|
|||
|
||||
This section is of interest only to users who are prepared to maintain
|
||||
their own local tweaks and who are willing to deal with any possible
|
||||
incompatibilities between versioned releases of the themes. As such,
|
||||
incompatibilities between versioned releases of the themes. As such,
|
||||
they are labeled as "do-it-yourself" or "DIY".
|
||||
|
||||
** DIY Palette override presets
|
||||
|
@ -2076,14 +2162,14 @@ Reload the theme for changes to take effect.
|
|||
:end:
|
||||
|
||||
This is one of our practical examples to override the semantic colors
|
||||
of the Modus themes ([[#h:df1199d8-eaba-47db-805d-6b568a577bf3][Stylistic variants using palette overrides]]). Here
|
||||
of the Modus themes ([[#h:df1199d8-eaba-47db-805d-6b568a577bf3][Stylistic variants using palette overrides]]). Here
|
||||
we show how to change the presentation of Org blocks (and other such
|
||||
blocks like Markdown fenced code sections, though the exact
|
||||
presentation depends on each major mode).
|
||||
|
||||
The default style of Org blocks is a subtle gray background for the
|
||||
contents and for the delimiter lines (the =#+begin_= and =#+end_=
|
||||
parts). The text of the delimiter lines is a subtle gray foreground
|
||||
parts). The text of the delimiter lines is a subtle gray foreground
|
||||
color.
|
||||
|
||||
[[#h:bb5b396f-5532-4d52-ab13-149ca24854f1][Make inline code in prose use alternative styles]].
|
||||
|
@ -2123,8 +2209,8 @@ color.
|
|||
#+end_src
|
||||
|
||||
The previous examples differentiate the delimiter lines from the
|
||||
block's contents. Though we can mimic the default aesthetic of a
|
||||
uniform background, while changing the applicable colors. Here are
|
||||
block's contents. Though we can mimic the default aesthetic of a
|
||||
uniform background, while changing the applicable colors. Here are
|
||||
some nice combinations:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
@ -2152,7 +2238,7 @@ some nice combinations:
|
|||
|
||||
Finally, the following makes code blocks have no distinct background.
|
||||
The minimal styles are applied to the delimiter lines, which only use
|
||||
a subtle gray foreground. This was the default for the Modus themes up
|
||||
a subtle gray foreground. This was the default for the Modus themes up
|
||||
until version 4.3.0.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
@ -2162,7 +2248,7 @@ until version 4.3.0.
|
|||
;; was the default in versions of the Modus themes before 4.4.0
|
||||
(setq modus-themes-common-palette-overrides
|
||||
'((bg-prose-block-contents unspecified)
|
||||
(bg-prose-block-delimiter unspecified)
|
||||
(bg-prose-block-delimiter unspeficied)
|
||||
(fg-prose-block-delimiter fg-dim)))
|
||||
#+end_src
|
||||
|
||||
|
@ -2806,7 +2892,7 @@ above:
|
|||
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
|
||||
affects ALL underlines, including those of links. The effect is
|
||||
intrusive and looks awkward in prose.
|
||||
intrusive and looks awkard in prose.
|
||||
|
||||
As such, the Modus themes no longer provide that option but instead
|
||||
offer this piece of documentation to make the user fully aware of the
|
||||
|
@ -2821,7 +2907,7 @@ Reload the theme for changes to take effect.
|
|||
#+cindex: Remapping faces
|
||||
|
||||
There are cases where we need to change the buffer-local attributes of a
|
||||
face. This might be because we have our own minor mode that reuses a
|
||||
face. This might be because we have our own minor mode that re-uses a
|
||||
face for a particular purpose, such as a line selection tool that
|
||||
activates ~hl-line-mode~, but we wish to keep it distinct from other
|
||||
buffers. This is where ~face-remap-add-relative~ can be applied and may
|
||||
|
@ -3160,7 +3246,7 @@ specification of that variable looks like this:
|
|||
|
||||
With the exception of ~org-verbatim~ and ~org-code~ faces, everything else
|
||||
uses the corresponding type of emphasis: a bold typographic weight, or
|
||||
italicized, underlined, and struck through text.
|
||||
italicised, underlined, and struck through text.
|
||||
|
||||
The best way for users to add some extra attributes, such as a
|
||||
foreground color, is to define their own faces and assign them to the
|
||||
|
@ -3280,11 +3366,11 @@ invoke {{{kbd(M-x org-mode-restart)}}}.
|
|||
|
||||
In versions of the Modus themes before =4.4.0= there was an option to
|
||||
change the coloration of Org source blocks so that certain languages
|
||||
would have a distinctly colored background. This was not flexible
|
||||
would have a distinctly colored background. This was not flexible
|
||||
enough, because (i) we cannot cover all languages effectively and (ii)
|
||||
the user had no choice over the =language --> color= mapping.
|
||||
|
||||
As such, the old user option is no more. Users can use the following
|
||||
As such, the old user option is no more. Users can use the following
|
||||
to achieve what they want:
|
||||
|
||||
[ All this is done by setting the Org user option ~org-src-block-faces~,
|
||||
|
@ -3323,9 +3409,9 @@ to achieve what they want:
|
|||
[[#h:d87673fe-2ce1-4c80-a4b8-be36ca9f2d24][DIY Use a hook at the post-load-theme phase]].
|
||||
|
||||
Note that the ~org-src-block-faces~ accepts a named face, as shown
|
||||
above, as well as a list of face attributes. The latter approach is
|
||||
above, as well as a list of face attributes. The latter approach is
|
||||
not good enough because it hardcodes values in such a way that an
|
||||
~org-mode-restart~ is necessary. Whereas the indirection of the named
|
||||
~org-mode-restart~ is necessary. Whereas the indirection of the named
|
||||
face lets the theme change the values while Org buffers continue to
|
||||
show the right colors.
|
||||
|
||||
|
@ -3638,7 +3724,7 @@ Add this to the `modus-themes-post-load-hook'."
|
|||
The above will work only for themes that belong to the Modus family.
|
||||
For users of Emacs version 29 or higher, there exists a theme-agnostic
|
||||
hook that takes a function with one argument---that of the theme---and
|
||||
calls in the "post enable" phase of theme loading. Here is the
|
||||
calls in the the "post enable" phase of theme loading. Here is the
|
||||
above snippet, with the necessary tweaks:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
@ -3768,7 +3854,7 @@ Reload the theme for changes to take effect.
|
|||
:END:
|
||||
|
||||
Many of the Do-It-Yourself (DIY) snippets provided herein make use of
|
||||
a hook to apply the desired changes. In most examples, this hook is
|
||||
a hook to apply the desired changes. In most examples, this hook is
|
||||
the ~modus-themes-after-load-theme-hook~ (alias ~modus-themes-post-load-hook~).
|
||||
This hook is provided by the Modus themes and is called at the end of
|
||||
one the following:
|
||||
|
@ -3786,7 +3872,7 @@ one the following:
|
|||
|
||||
Users who switch between themes that are not limited to the Modus
|
||||
collection cannot benefit from the aforementioned hook: it only works
|
||||
with the Modus themes. A theme-agnostic hook is needed in such a case.
|
||||
with the Modus themes. A theme-agnostic hook is needed in such a case.
|
||||
Before Emacs 29, this had to be set up manually ([[#h:86f6906b-f090-46cc-9816-1fe8aeb38776][DIY A theme-agnostic hook for theme loading]]).
|
||||
Starting with Emacs 29, the special hook ~enable-theme-functions~
|
||||
works with anything that uses the basic ~enable-theme~ function.
|
||||
|
@ -3799,7 +3885,7 @@ the way it is done with every hook:
|
|||
#+end_src
|
||||
|
||||
Functions added to ~enable-theme-functions~ accept a single =THEME=
|
||||
argument. The examples shown in this manual use the pattern =(&rest
|
||||
argument. The examples shown in this manual use the pattern =(&rest
|
||||
_)=, which is how a function accepts one or more arguments but
|
||||
declares it will not use them (in plain terms, the code works with or
|
||||
without ~enable-theme-functions~).
|
||||
|
@ -3809,7 +3895,7 @@ without ~enable-theme-functions~).
|
|||
:custom_id: h:86f6906b-f090-46cc-9816-1fe8aeb38776
|
||||
:end:
|
||||
|
||||
[ NOTE: The following is for versions of Emacs before 29. For Emacs 29
|
||||
[ NOTE: The following is for versions of Emacs before 29. For Emacs 29
|
||||
or higher, users can rely on the built-in ~enable-theme-functions~
|
||||
([[#h:d87673fe-2ce1-4c80-a4b8-be36ca9f2d24][Using a hook at the post-load-theme phase]]). ]
|
||||
|
||||
|
@ -4002,6 +4088,7 @@ have lots of extensions, so the "full support" may not be 100% true…
|
|||
+ isearch, occur, etc.
|
||||
+ ivy*
|
||||
+ ivy-posframe
|
||||
+ jabber
|
||||
+ japanese-holidays
|
||||
+ jira (org-jira)
|
||||
+ jit-spell
|
||||
|
@ -4011,6 +4098,7 @@ have lots of extensions, so the "full support" may not be 100% true…
|
|||
+ julia
|
||||
+ kaocha-runner
|
||||
+ keycast
|
||||
+ kmacro-menu
|
||||
+ ledger-mode
|
||||
+ leerzeichen
|
||||
+ line numbers (~display-line-numbers-mode~ and global variant)
|
||||
|
@ -4020,6 +4108,7 @@ have lots of extensions, so the "full support" may not be 100% true…
|
|||
+ marginalia
|
||||
+ markdown-mode
|
||||
+ markup-faces (~adoc-mode~)
|
||||
+ mb-depth
|
||||
+ mct
|
||||
+ messages
|
||||
+ minimap
|
||||
|
@ -4115,8 +4204,10 @@ have lots of extensions, so the "full support" may not be 100% true…
|
|||
+ vertico
|
||||
+ vertico-quick
|
||||
+ vimish-fold
|
||||
+ viper
|
||||
+ visible-mark
|
||||
+ visual-regexp
|
||||
+ vtable
|
||||
+ vterm
|
||||
+ vundo
|
||||
+ wcheck-mode
|
||||
|
@ -4126,6 +4217,7 @@ have lots of extensions, so the "full support" may not be 100% true…
|
|||
+ which-key
|
||||
+ whitespace-mode
|
||||
+ window-divider-mode
|
||||
+ window-tool-bar
|
||||
+ writegood-mode
|
||||
+ woman
|
||||
+ xah-elisp-mode
|
||||
|
@ -4442,7 +4534,7 @@ advanced customization options of the themes.
|
|||
[[#h:f4651d55-8c07-46aa-b52b-bed1e53463bb][Advanced customization]].
|
||||
|
||||
In the following example, we are assuming that the user wants to (i)
|
||||
reuse color variables provided by the themes, (ii) be able to retain
|
||||
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.
|
||||
|
@ -4462,7 +4554,7 @@ Then we can update our preference with this:
|
|||
(setq my-highlight-parentheses-use-background nil)
|
||||
#+end_src
|
||||
|
||||
To reuse colors from the themes, we must wrap our code in the
|
||||
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~.
|
||||
|
@ -4769,7 +4861,7 @@ and/or mode line setup.
|
|||
:custom_id: h:4cc767dc-ffef-4c5c-9f10-82eb7b8921bf
|
||||
:end:
|
||||
|
||||
Emacs's HTML rendering library ({{{file(shr.el)}}}) may need explicit
|
||||
Emacs' HTML rendering library ({{{file(shr.el)}}}) may need explicit
|
||||
configuration to respect the theme's colors instead of whatever
|
||||
specifications the webpage provides.
|
||||
|
||||
|
@ -5074,7 +5166,7 @@ more effective than trying to do the same with either red or blue (the
|
|||
latter is the least effective in that regard).
|
||||
|
||||
When we need to work with several colors, it is always better to have
|
||||
sufficient maneuvering space, especially since we cannot pick arbitrary
|
||||
sufficient manoeuvring space, especially since we cannot pick arbitrary
|
||||
colors but only those that satisfy the accessibility objectives of the
|
||||
themes.
|
||||
|
||||
|
@ -5128,7 +5220,7 @@ each of the three channels of light (red, green, blue). For example:
|
|||
: xrandr --output LVDS1 --brightness 1.0 --gamma 0.76:0.75:0.68
|
||||
|
||||
Typography is another variable. Some font families are blurry at small
|
||||
point sizes. Others may have a regular weight that is lighter (thinner)
|
||||
point sizes. Others may have a regular weight that is lighter (thiner)
|
||||
than that of their peers which may, under certain circumstances, cause a
|
||||
halo effect around each glyph.
|
||||
|
||||
|
@ -5180,7 +5272,7 @@ it is already understood that one must follow the indicator or headline
|
|||
to view its contents and (ii) underlining everything would make the
|
||||
interface virtually unusable.
|
||||
|
||||
Again, one must exercise judgment in order to avoid discrimination,
|
||||
Again, one must exercise judgement in order to avoid discrimination,
|
||||
where "discrimination" refers to:
|
||||
|
||||
+ The treatment of substantially different magnitudes as if they were of
|
||||
|
@ -5254,7 +5346,7 @@ the themes, which is partially fleshed out in this manual.
|
|||
|
||||
With regard to the artistic aspect (where "art" qua skill may amount to
|
||||
an imprecise science), there is no hard-and-fast rule in effect as it
|
||||
requires one to exercise discretion and make decisions based on
|
||||
requires one to exercize discretion and make decisions based on
|
||||
context-dependent information or constraints. As is true with most
|
||||
things in life, when in doubt, do not cling on to the letter of the law
|
||||
but try to understand its spirit.
|
||||
|
@ -5402,14 +5494,15 @@ The Modus themes are a collective effort. Every bit of work matters.
|
|||
Griffin, Anders Johansson, Antonio Ruiz, Basil L.{{{space()}}}
|
||||
Contovounesios, Björn Lindström, Carlo Zancanaro, Christian Tietze,
|
||||
Daniel Mendler, David Edmondson, Eli Zaretskii, Fritz Grabo, Gautier
|
||||
Ponsinet, Illia Ostapyshyn, Kévin Le Gouguec, Koen van Greevenbroek,
|
||||
Kostadin Ninev, Madhavan Krishnan, Manuel Giraud, Markus Beppler,
|
||||
Matthew Stevenson, Mauro Aranda, Nacho Barrientos, Niall Dooley,
|
||||
Nicolas De Jaeghere, Paul David, Philip Kaludercic, Pierre
|
||||
Téchoueyres, Rudolf Adamkovič, Sergey Nichiporchik, Shreyas Ragavan,
|
||||
Stefan Kangas, Stephen Berman, Stephen Gildea, Steve Downey, Tomasz
|
||||
Hołubowicz, Utkarsh Singh, Vincent Murphy, Xinglu Chen, Yuanchen
|
||||
Xie, fluentpwn, okamsn.
|
||||
Ponsinet, Illia Ostapyshyn, Jared Finder, Kévin Le Gouguec, Koen van
|
||||
Greevenbroek, Kostadin Ninev, Madhavan Krishnan, Manuel Giraud,
|
||||
Markus Beppler, Matthew Stevenson, Mauro Aranda, Nacho Barrientos,
|
||||
Niall Dooley, Nicolas De Jaeghere, Paul David, Pavel Novichkov,
|
||||
Philip Kaludercic, Pierre Téchoueyres, Rudolf Adamkovič, Sergey
|
||||
Nichiporchik, Shreyas Ragavan, Stefan Kangas, Stephen Berman,
|
||||
Stephen Gildea, Steve Downey, Thanos Apollo, 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
|
||||
|
@ -5420,32 +5513,32 @@ The Modus themes are a collective effort. Every bit of work matters.
|
|||
Christopher Dimech, Christopher League, 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,
|
||||
Gonçalo Marrafa, Guilherme Semente, Gustavo Barros, Hörmetjan
|
||||
Yiltiz, Ilja Kocken, Imran Khan, Iris Garcia, Ivan Popovych, James
|
||||
Ferguson, Jeremy Friesen, Jerry Zhang, Johannes Grødem, John Haman,
|
||||
John Wick, 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, Lasse Lindner, Len Trigg,
|
||||
Lennart C.{{{space()}}} 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, ltmsyvag, okamsn, pRot0ta1p, soaringbird, tumashu,
|
||||
wakamenod.
|
||||
Euker, Feng Shu, Filippo Argiolas, Gautier Ponsinet, Gerry Agbobada,
|
||||
Gianluca Recchia, Gonçalo Marrafa, Guilherme Semente, Gustavo
|
||||
Barros, Hörmetjan Yiltiz, Ilja Kocken, Imran Khan, Iris Garcia, Ivan
|
||||
Popovych, James Ferguson, Jeremy Friesen, Jerry Zhang, Johannes
|
||||
Grødem, John Haman, John Wick, 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, Lasse
|
||||
Lindner, Len Trigg, Lennart C.{{{space()}}} 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, ZharMeny, bepolymathe, bit9tream, bangedorrunt,
|
||||
derek-upham, doolio, fleimgruber, gitrj95, iSeeU, jixiuf, ltmsyvag,
|
||||
okamsn, pRot0ta1p, shipmints, soaringbird, tumashu, wakamenod.
|
||||
|
||||
+ Packaging :: Basil L.{{{space()}}} Contovounesios, Eli Zaretskii,
|
||||
Glenn Morris, Mauro Aranda, Richard Stallman, Stefan Kangas (core
|
||||
|
|
|
@ -134,22 +134,30 @@ standard)."
|
|||
(bg-magenta-nuanced "#f8e6f5")
|
||||
(bg-cyan-nuanced "#e0f2fa")
|
||||
|
||||
;;; Uncommon accent backgrounds
|
||||
;;; Uncommon accent background and foreground pairs
|
||||
|
||||
(bg-clay "#f1c8b5")
|
||||
(fg-clay "#63192a")
|
||||
|
||||
(bg-ochre "#f0e3c0")
|
||||
(fg-ochre "#573a30")
|
||||
|
||||
(bg-lavender "#dfcdfa")
|
||||
(fg-lavender "#443379")
|
||||
|
||||
(bg-ochre "#f0e0cc")
|
||||
(bg-lavender "#dfdbfa")
|
||||
(bg-sage "#c0e7d4")
|
||||
(fg-sage "#124b41")
|
||||
|
||||
;;; Graphs
|
||||
|
||||
(bg-graph-red-0 "#d0b029")
|
||||
(bg-graph-red-1 "#e0cab4")
|
||||
(bg-graph-green-0 "#8ad080")
|
||||
(bg-graph-green-0 "#8ac050")
|
||||
(bg-graph-green-1 "#afdfa5")
|
||||
(bg-graph-yellow-0 "#ffcf00")
|
||||
(bg-graph-yellow-1 "#f9ff00")
|
||||
(bg-graph-blue-0 "#7f9fff")
|
||||
(bg-graph-blue-1 "#9fc6ff")
|
||||
(bg-graph-blue-1 "#afd0ff")
|
||||
(bg-graph-magenta-0 "#b0b0d0")
|
||||
(bg-graph-magenta-1 "#d0dfdf")
|
||||
(bg-graph-cyan-0 "#6faad9")
|
||||
|
@ -248,19 +256,24 @@ standard)."
|
|||
|
||||
;;;; Code mappings
|
||||
|
||||
(bracket fg-main)
|
||||
(builtin magenta-warmer)
|
||||
(comment yellow-cooler)
|
||||
(constant blue-cooler)
|
||||
(docstring green-faint)
|
||||
(delimiter fg-main)
|
||||
(docmarkup magenta-faint)
|
||||
(docstring green-faint)
|
||||
(fnname magenta)
|
||||
(keyword magenta-cooler)
|
||||
(number fg-main)
|
||||
(operator fg-main)
|
||||
(preprocessor red-cooler)
|
||||
(punctuation fg-main)
|
||||
(rx-backslash blue-cooler)
|
||||
(rx-construct yellow-cooler)
|
||||
(string blue-warmer)
|
||||
(type cyan-cooler)
|
||||
(variable cyan)
|
||||
(rx-construct yellow-cooler)
|
||||
(rx-backslash blue-cooler)
|
||||
|
||||
;;;; Accent mappings
|
||||
|
||||
|
@ -483,6 +496,19 @@ Semantic color mappings have the form (MAPPING-NAME COLOR-NAME)
|
|||
with both as symbols. The latter is a named color that already
|
||||
exists in the palette and is associated with a HEX-VALUE.")
|
||||
|
||||
(defcustom modus-operandi-deuteranopia-palette-user nil
|
||||
"Like the `modus-operandi-deuteranopia-palette' for user-defined entries.
|
||||
This is meant to extend the palette with custom named colors and/or
|
||||
semantic palette mappings. Those may then be used in combination with
|
||||
palette overrides (also see `modus-themes-common-palette-overrides' and
|
||||
`modus-operandi-deuteranopia-palette-overrides')."
|
||||
:group 'modus-themes
|
||||
:package-version '(modus-themes . "4.5.0")
|
||||
:type '(repeat (list symbol (choice symbol string)))
|
||||
:set #'modus-themes--set-option
|
||||
:initialize #'custom-initialize-default
|
||||
:link '(info-link "(modus-themes) Option to extend the palette for use with overrides"))
|
||||
|
||||
(defcustom modus-operandi-deuteranopia-palette-overrides nil
|
||||
"Overrides for `modus-operandi-deuteranopia-palette'.
|
||||
|
||||
|
|
|
@ -132,22 +132,30 @@ which corresponds to a minimum contrast in relative luminance of
|
|||
(bg-magenta-nuanced "#f8e6f5")
|
||||
(bg-cyan-nuanced "#e0f2fa")
|
||||
|
||||
;;; Uncommon accent backgrounds
|
||||
;;; Uncommon accent background and foreground pairs
|
||||
|
||||
(bg-clay "#f1c8b5")
|
||||
(fg-clay "#63192a")
|
||||
|
||||
(bg-ochre "#f0e3c0")
|
||||
(fg-ochre "#573a30")
|
||||
|
||||
(bg-lavender "#dfcdfa")
|
||||
(fg-lavender "#443379")
|
||||
|
||||
(bg-ochre "#f0e0cc")
|
||||
(bg-lavender "#dfdbfa")
|
||||
(bg-sage "#c0e7d4")
|
||||
(fg-sage "#124b41")
|
||||
|
||||
;;; Graphs
|
||||
|
||||
(bg-graph-red-0 "#ef7969")
|
||||
(bg-graph-red-1 "#ffaab4")
|
||||
(bg-graph-green-0 "#2fe029")
|
||||
(bg-graph-green-0 "#45c050")
|
||||
(bg-graph-green-1 "#75ef30")
|
||||
(bg-graph-yellow-0 "#ffcf00")
|
||||
(bg-graph-yellow-1 "#f9ff00")
|
||||
(bg-graph-blue-0 "#7f90ff")
|
||||
(bg-graph-blue-1 "#9fc6ff")
|
||||
(bg-graph-blue-1 "#a6c0ff")
|
||||
(bg-graph-magenta-0 "#e07fff")
|
||||
(bg-graph-magenta-1 "#fad0ff")
|
||||
(bg-graph-cyan-0 "#70d3f0")
|
||||
|
@ -246,19 +254,24 @@ which corresponds to a minimum contrast in relative luminance of
|
|||
|
||||
;;;; Code mappings
|
||||
|
||||
(bracket fg-main)
|
||||
(builtin magenta-warmer)
|
||||
(comment fg-dim)
|
||||
(constant blue-cooler)
|
||||
(docstring green-faint)
|
||||
(delimiter fg-main)
|
||||
(docmarkup magenta-faint)
|
||||
(docstring green-faint)
|
||||
(fnname magenta)
|
||||
(keyword magenta-cooler)
|
||||
(number fg-main)
|
||||
(operator fg-main)
|
||||
(preprocessor red-cooler)
|
||||
(punctuation fg-main)
|
||||
(rx-backslash magenta)
|
||||
(rx-construct green-cooler)
|
||||
(string blue-warmer)
|
||||
(type cyan-cooler)
|
||||
(variable cyan)
|
||||
(rx-construct green-cooler)
|
||||
(rx-backslash magenta)
|
||||
|
||||
;;;; Accent mappings
|
||||
|
||||
|
@ -481,6 +494,19 @@ Semantic color mappings have the form (MAPPING-NAME COLOR-NAME)
|
|||
with both as symbols. The latter is a named color that already
|
||||
exists in the palette and is associated with a HEX-VALUE.")
|
||||
|
||||
(defcustom modus-operandi-palette-user nil
|
||||
"Like the `modus-operandi-palette' for user-defined entries.
|
||||
This is meant to extend the palette with custom named colors and/or
|
||||
semantic palette mappings. Those may then be used in combination with
|
||||
palette overrides (also see `modus-themes-common-palette-overrides' and
|
||||
`modus-operandi-palette-overrides')."
|
||||
:group 'modus-themes
|
||||
:package-version '(modus-themes . "4.5.0")
|
||||
:type '(repeat (list symbol (choice symbol string)))
|
||||
:set #'modus-themes--set-option
|
||||
:initialize #'custom-initialize-default
|
||||
:link '(info-link "(modus-themes) Option to extend the palette for use with overrides"))
|
||||
|
||||
(defcustom modus-operandi-palette-overrides nil
|
||||
"Overrides for `modus-operandi-palette'.
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
;;; modus-operandi-tinted-theme.el --- Elegant, highly legible theme with a light ocher background -*- lexical-binding:t -*-
|
||||
;;; modus-operandi-tinted-theme.el --- Elegant, highly legible theme with a light ochre background -*- lexical-binding:t -*-
|
||||
|
||||
;; Copyright (C) 2019-2024 Free Software Foundation, Inc.
|
||||
|
||||
|
@ -44,7 +44,7 @@
|
|||
|
||||
;;;###theme-autoload
|
||||
(deftheme modus-operandi-tinted
|
||||
"Elegant, highly legible theme with a light ocher background.
|
||||
"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
|
||||
|
@ -132,22 +132,30 @@ which corresponds to a minimum contrast in relative luminance of
|
|||
(bg-magenta-nuanced "#f8e6f5")
|
||||
(bg-cyan-nuanced "#e0f2fa")
|
||||
|
||||
;;; Uncommon accent backgrounds
|
||||
;;; Uncommon accent background and foreground pairs
|
||||
|
||||
(bg-clay "#f1c8b5")
|
||||
(fg-clay "#63192a")
|
||||
|
||||
(bg-ochre "#f0e3c0")
|
||||
(fg-ochre "#573a30")
|
||||
|
||||
(bg-lavender "#dfcdfa")
|
||||
(fg-lavender "#443379")
|
||||
|
||||
(bg-ochre "#f0e0cc")
|
||||
(bg-lavender "#dfdbfa")
|
||||
(bg-sage "#c0e7d4")
|
||||
(fg-sage "#124b41")
|
||||
|
||||
;;; Graphs
|
||||
|
||||
(bg-graph-red-0 "#ef7969")
|
||||
(bg-graph-red-1 "#ffaab4")
|
||||
(bg-graph-green-0 "#2fe029")
|
||||
(bg-graph-green-0 "#45c050")
|
||||
(bg-graph-green-1 "#75ef30")
|
||||
(bg-graph-yellow-0 "#ffcf00")
|
||||
(bg-graph-yellow-1 "#f9ff00")
|
||||
(bg-graph-blue-0 "#7f90ff")
|
||||
(bg-graph-blue-1 "#9fc6ff")
|
||||
(bg-graph-blue-1 "#a6c0ff")
|
||||
(bg-graph-magenta-0 "#e07fff")
|
||||
(bg-graph-magenta-1 "#fad0ff")
|
||||
(bg-graph-cyan-0 "#70d3f0")
|
||||
|
@ -246,19 +254,24 @@ which corresponds to a minimum contrast in relative luminance of
|
|||
|
||||
;;;; Code mappings
|
||||
|
||||
(bracket fg-main)
|
||||
(builtin magenta-warmer)
|
||||
(comment red-faint)
|
||||
(constant blue-cooler)
|
||||
(docstring green-faint)
|
||||
(delimiter fg-main)
|
||||
(docmarkup magenta-faint)
|
||||
(docstring green-faint)
|
||||
(fnname magenta)
|
||||
(keyword magenta-cooler)
|
||||
(number fg-main)
|
||||
(operator fg-main)
|
||||
(preprocessor red-cooler)
|
||||
(punctuation fg-main)
|
||||
(rx-backslash magenta)
|
||||
(rx-construct green-cooler)
|
||||
(string blue-warmer)
|
||||
(type cyan-cooler)
|
||||
(variable cyan)
|
||||
(rx-construct green-cooler)
|
||||
(rx-backslash magenta)
|
||||
|
||||
;;;; Accent mappings
|
||||
|
||||
|
@ -481,6 +494,19 @@ Semantic color mappings have the form (MAPPING-NAME COLOR-NAME)
|
|||
with both as symbols. The latter is a named color that already
|
||||
exists in the palette and is associated with a HEX-VALUE.")
|
||||
|
||||
(defcustom modus-operandi-tinted-palette-user nil
|
||||
"Like the `modus-operandi-tinted-palette' for user-defined entries.
|
||||
This is meant to extend the palette with custom named colors and/or
|
||||
semantic palette mappings. Those may then be used in combination with
|
||||
palette overrides (also see `modus-themes-common-palette-overrides' and
|
||||
`modus-operandi-tinted-palette-overrides')."
|
||||
:group 'modus-themes
|
||||
:package-version '(modus-themes . "4.5.0")
|
||||
:type '(repeat (list symbol (choice symbol string)))
|
||||
:set #'modus-themes--set-option
|
||||
:initialize #'custom-initialize-default
|
||||
:link '(info-link "(modus-themes) Option to extend the palette for use with overrides"))
|
||||
|
||||
(defcustom modus-operandi-tinted-palette-overrides nil
|
||||
"Overrides for `modus-operandi-tinted-palette'.
|
||||
|
||||
|
|
|
@ -134,22 +134,30 @@ standard)."
|
|||
(bg-magenta-nuanced "#f8e6f5")
|
||||
(bg-cyan-nuanced "#e0f2fa")
|
||||
|
||||
;;; Uncommon accent backgrounds
|
||||
;;; Uncommon accent background and foreground pairs
|
||||
|
||||
(bg-clay "#f1c8b5")
|
||||
(fg-clay "#63192a")
|
||||
|
||||
(bg-ochre "#f0e3c0")
|
||||
(fg-ochre "#573a30")
|
||||
|
||||
(bg-lavender "#dfcdfa")
|
||||
(fg-lavender "#443379")
|
||||
|
||||
(bg-ochre "#f0e0cc")
|
||||
(bg-lavender "#dfdbfa")
|
||||
(bg-sage "#c0e7d4")
|
||||
(fg-sage "#124b41")
|
||||
|
||||
;;; Graphs
|
||||
|
||||
(bg-graph-red-0 "#ef7969")
|
||||
(bg-graph-red-1 "#ffaab4")
|
||||
(bg-graph-green-0 "#70c3b0")
|
||||
(bg-graph-green-1 "#a3dfe5")
|
||||
(bg-graph-green-0 "#68c0a0")
|
||||
(bg-graph-green-1 "#a5dfd0")
|
||||
(bg-graph-yellow-0 "#d99f9f")
|
||||
(bg-graph-yellow-1 "#ffb58f")
|
||||
(bg-graph-blue-0 "#80a0df")
|
||||
(bg-graph-blue-1 "#9fcaff")
|
||||
(bg-graph-blue-1 "#a8cfff")
|
||||
(bg-graph-magenta-0 "#efafcf")
|
||||
(bg-graph-magenta-1 "#ffdaef")
|
||||
(bg-graph-cyan-0 "#7fd3ed")
|
||||
|
@ -248,19 +256,24 @@ standard)."
|
|||
|
||||
;;;; Code mappings
|
||||
|
||||
(bracket fg-main)
|
||||
(builtin magenta)
|
||||
(comment red-faint)
|
||||
(constant green-cooler)
|
||||
(docstring fg-alt)
|
||||
(delimiter fg-main)
|
||||
(docmarkup magenta-faint)
|
||||
(docstring fg-alt)
|
||||
(fnname cyan-warmer)
|
||||
(keyword red-cooler)
|
||||
(number fg-main)
|
||||
(operator fg-main)
|
||||
(preprocessor red-warmer)
|
||||
(punctuation fg-main)
|
||||
(rx-backslash magenta)
|
||||
(rx-construct red)
|
||||
(string cyan)
|
||||
(type blue-warmer)
|
||||
(variable cyan-cooler)
|
||||
(rx-construct red)
|
||||
(rx-backslash magenta)
|
||||
|
||||
;;;; Accent mappings
|
||||
|
||||
|
@ -483,6 +496,19 @@ Semantic color mappings have the form (MAPPING-NAME COLOR-NAME)
|
|||
with both as symbols. The latter is a named color that already
|
||||
exists in the palette and is associated with a HEX-VALUE.")
|
||||
|
||||
(defcustom modus-operandi-tritanopia-palette-user nil
|
||||
"Like the `modus-operandi-tritanopia-palette' for user-defined entries.
|
||||
This is meant to extend the palette with custom named colors and/or
|
||||
semantic palette mappings. Those may then be used in combination with
|
||||
palette overrides (also see `modus-themes-common-palette-overrides' and
|
||||
`modus-operandi-tritanopia-palette-overrides')."
|
||||
:group 'modus-themes
|
||||
:package-version '(modus-themes . "4.5.0")
|
||||
:type '(repeat (list symbol (choice symbol string)))
|
||||
:set #'modus-themes--set-option
|
||||
:initialize #'custom-initialize-default
|
||||
:link '(info-link "(modus-themes) Option to extend the palette for use with overrides"))
|
||||
|
||||
(defcustom modus-operandi-tritanopia-palette-overrides nil
|
||||
"Overrides for `modus-operandi-tritanopia-palette'.
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
;; Author: Protesilaos Stavrou <info@protesilaos.com>
|
||||
;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
|
||||
;; URL: https://github.com/protesilaos/modus-themes
|
||||
;; Version: 4.4.0
|
||||
;; Version: 4.5.0
|
||||
;; Package-Requires: ((emacs "27.1"))
|
||||
;; Keywords: faces, theme, accessibility
|
||||
|
||||
|
@ -641,6 +641,20 @@ In user configuration files the form may look like this:
|
|||
:initialize #'custom-initialize-default
|
||||
:link '(info-link "(modus-themes) Command prompts"))
|
||||
|
||||
|
||||
(defcustom modus-themes-common-palette-user nil
|
||||
"Common user-defined colors to extend all the themes' palettes.
|
||||
This is meant to extend the palette of the active Modus theme with
|
||||
custom named colors and/or semantic palette mappings. Those may then be
|
||||
used in combination with palette overrides (see
|
||||
`modus-themes-common-palette-overrides')."
|
||||
:group 'modus-themes
|
||||
:package-version '(modus-themes . "4.5.0")
|
||||
:type '(repeat (list symbol (choice symbol string)))
|
||||
:set #'modus-themes--set-option
|
||||
:initialize #'custom-initialize-default
|
||||
:link '(info-link "(modus-themes) Extend the palette for use with overrides"))
|
||||
|
||||
(defcustom modus-themes-common-palette-overrides nil
|
||||
"Set palette overrides for all the Modus themes.
|
||||
|
||||
|
@ -1068,22 +1082,22 @@ C1 and C2 are color values written in hexadecimal RGB."
|
|||
(car (or (modus-themes--list-enabled-themes)
|
||||
(modus-themes--list-known-themes))))
|
||||
|
||||
(defun modus-themes--palette-symbol (theme &optional overrides)
|
||||
"Return THEME palette as a symbol.
|
||||
With optional OVERRIDES, return THEME palette overrides as a
|
||||
symbol."
|
||||
(when-let ((suffix (cond
|
||||
((and theme overrides)
|
||||
"palette-overrides")
|
||||
(theme
|
||||
"palette"))))
|
||||
(intern (format "%s-%s" theme suffix))))
|
||||
(defun modus-themes--palette-symbol (theme &optional suffix)
|
||||
"Return THEME palette as a symbol of the form THEME-palette.
|
||||
With optional SUFFIX, return THEME-palette-SUFFIX as a symbol."
|
||||
(when theme
|
||||
(intern
|
||||
(if suffix
|
||||
(format "%s-palette-%s" theme suffix)
|
||||
(format "%s-palette" theme)))))
|
||||
|
||||
(defun modus-themes--palette-value (theme &optional overrides)
|
||||
"Return palette value of THEME with optional OVERRIDES."
|
||||
(let ((base-value (symbol-value (modus-themes--palette-symbol theme))))
|
||||
(let* ((core-palette (symbol-value (modus-themes--palette-symbol theme)))
|
||||
(user-palette (symbol-value (modus-themes--palette-symbol theme "user")))
|
||||
(base-value (append user-palette modus-themes-common-palette-user core-palette)))
|
||||
(if overrides
|
||||
(append (symbol-value (modus-themes--palette-symbol theme :overrides))
|
||||
(append (symbol-value (modus-themes--palette-symbol theme "overrides"))
|
||||
modus-themes-common-palette-overrides
|
||||
base-value)
|
||||
base-value)))
|
||||
|
@ -1389,7 +1403,7 @@ color that is combined with FG-FOR-BG."
|
|||
:foreground fg
|
||||
:weight
|
||||
;; If we have `bold' specifically, we inherit the face of
|
||||
;; the same name. This allows the user to customize that
|
||||
;; the same name. This allows the user to customise that
|
||||
;; face, such as to change its font family.
|
||||
(if (and weight (not (eq weight 'bold)))
|
||||
weight
|
||||
|
@ -1621,7 +1635,7 @@ FG and BG are the main colors."
|
|||
`(comint-highlight-prompt ((,c :inherit modus-themes-prompt)))
|
||||
`(confusingly-reordered ((,c :inherit modus-themes-lang-error)))
|
||||
`(edmacro-label ((,c :inherit bold :foreground ,accent-0)))
|
||||
`(elisp-shorthand-font-lock-face ((,c :inherit font-lock-variable-name-face)))
|
||||
`(elisp-shorthand-font-lock-face ((,c :inherit (italic font-lock-preprocessor-face))))
|
||||
`(error ((,c :inherit bold :foreground ,err)))
|
||||
`(escape-glyph ((,c :foreground ,err)))
|
||||
`(file-name-shadow ((,c :inherit shadow)))
|
||||
|
@ -1650,6 +1664,10 @@ FG and BG are the main colors."
|
|||
`(shadow ((,c :foreground ,fg-dim)))
|
||||
`(success ((,c :inherit bold :foreground ,info)))
|
||||
`(trailing-whitespace ((,c :background ,bg-space-err)))
|
||||
;; NOTE 2024-06-22: I use `list' here to suppress a bogus warning
|
||||
;; from the compiler: it says I should depend on Emacs 29 to use
|
||||
;; vtable.
|
||||
(list 'vtable `((,c :inherit modus-themes-fixed-pitch)))
|
||||
`(warning ((,c :inherit bold :foreground ,warning)))
|
||||
;;;;; buttons, links, widgets
|
||||
`(button ((,c :background ,bg-link :foreground ,fg-link :underline ,underline-link)))
|
||||
|
@ -1768,7 +1786,7 @@ FG and BG are the main colors."
|
|||
`(font-latex-italic-face ((,c :inherit italic)))
|
||||
`(font-latex-math-face ((,c :inherit font-lock-constant-face)))
|
||||
`(font-latex-script-char-face ((,c :inherit font-lock-builtin-face)))
|
||||
`(font-latex-sectioning-5-face ((,c :inherit (bold modus-themes-variable-pitch) :foreground ,fg-alt)))
|
||||
`(font-latex-sectioning-5-face ((,c :inherit bold :foreground ,fg-alt)))
|
||||
`(font-latex-sedate-face ((,c :inherit font-lock-keyword-face)))
|
||||
`(font-latex-slide-title-face ((,c :inherit modus-themes-heading-1)))
|
||||
`(font-latex-string-face ((,c :inherit font-lock-string-face)))
|
||||
|
@ -2175,7 +2193,7 @@ FG and BG are the main colors."
|
|||
`(doom-modeline-evil-visual-state ((,c :inherit warning)))
|
||||
`(doom-modeline-info ((,c :inherit success)))
|
||||
`(doom-modeline-input-method (( )))
|
||||
`(doom-modeline-lsp-error ((,c :inherit bold-italic)))
|
||||
`(doom-modeline-lsp-error ((,c :inherit bold)))
|
||||
`(doom-modeline-lsp-running (( )))
|
||||
`(doom-modeline-lsp-success ((,c :inherit success)))
|
||||
`(doom-modeline-lsp-warning ((,c :inherit warning)))
|
||||
|
@ -2186,7 +2204,7 @@ FG and BG are the main colors."
|
|||
`(doom-modeline-repl-success ((,c :inherit success)))
|
||||
`(doom-modeline-repl-warning ((,c :inherit warning)))
|
||||
`(doom-modeline-time (( )))
|
||||
`(doom-modeline-urgent ((,c :inherit bold-italic :foreground ,modeline-err)))
|
||||
`(doom-modeline-urgent ((,c :inherit bold :foreground ,modeline-err)))
|
||||
`(doom-modeline-warning ((,c :inherit warning)))
|
||||
;;;;; ediff
|
||||
`(ediff-current-diff-A ((,c :background ,bg-removed :foreground ,fg-removed)))
|
||||
|
@ -2400,16 +2418,21 @@ FG and BG are the main colors."
|
|||
;;;;; fold-this
|
||||
`(fold-this-overlay ((,c :background ,bg-inactive)))
|
||||
;;;;; font-lock
|
||||
`(font-lock-bracket-face ((,c :foreground ,bracket)))
|
||||
`(font-lock-builtin-face ((,c :inherit modus-themes-bold :foreground ,builtin)))
|
||||
`(font-lock-comment-delimiter-face ((,c :inherit font-lock-comment-face)))
|
||||
`(font-lock-comment-face ((,c :inherit modus-themes-slant :foreground ,comment)))
|
||||
`(font-lock-constant-face ((,c :foreground ,constant)))
|
||||
`(font-lock-delimiter-face ((,c :foreground ,delimiter)))
|
||||
`(font-lock-doc-face ((,c :inherit modus-themes-slant :foreground ,docstring)))
|
||||
`(font-lock-doc-markup-face ((,c :inherit modus-themes-slant :foreground ,docmarkup)))
|
||||
`(font-lock-function-name-face ((,c :foreground ,fnname)))
|
||||
`(font-lock-keyword-face ((,c :inherit modus-themes-bold :foreground ,keyword)))
|
||||
`(font-lock-negation-char-face ((,c :inherit error)))
|
||||
`(font-lock-number-face ((,c :foreground ,number)))
|
||||
`(font-lock-operator-face ((,c :foreground ,operator)))
|
||||
`(font-lock-preprocessor-face ((,c :foreground ,preprocessor)))
|
||||
`(font-lock-punctuation-face ((,c :foreground ,punctuation)))
|
||||
`(font-lock-regexp-grouping-backslash ((,c :inherit modus-themes-bold :foreground ,rx-backslash)))
|
||||
`(font-lock-regexp-grouping-construct ((,c :inherit modus-themes-bold :foreground ,rx-construct)))
|
||||
`(font-lock-string-face ((,c :foreground ,string)))
|
||||
|
@ -2712,6 +2735,24 @@ 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)))
|
||||
;;;;; jabber
|
||||
`(jabber-activity-face ((,c :foreground ,modeline-info)))
|
||||
`(jabber-roster-user-away ((,c :foreground ,red-faint)))
|
||||
`(jabber-roster-user-xa ((,c :foreground ,magenta :italic t)))
|
||||
`(jabber-roster-user-dnd ((,c :foreground ,red :bold t)))
|
||||
`(jabber-roster-user-chatty ((,c :foreground ,cyan-intense)))
|
||||
`(jabber-roster-user-error ((,c :inherit error)))
|
||||
`(jabber-roster-user-offline ((,c :foreground ,fg-dim :italic t)))
|
||||
`(jabber-roster-user-online ((,c :foreground ,cyan :weight bold)))
|
||||
`(jabber-chat-prompt-foreign ((,c :foreground ,red :weight bold)))
|
||||
`(jabber-chat-prompt-system ((,c :foreground ,green)))
|
||||
`(jabber-chat-prompt-local ((,c :foreground ,cyan)))
|
||||
`(jabber-chat-error ((,c :inherit error)))
|
||||
`(jabber-activity-personal-face ((,c :foreground ,blue-intense)))
|
||||
`(jabber-rare-time-face ((,c :foreground ,green-faint :underline t)))
|
||||
`(jabber-title-small ((,c :weight bold :height 1.0 :foreground ,fg-heading-3)))
|
||||
`(jabber-title-medium ((,c :weight bold :width expanded :height 2.0 :foreground ,fg-heading-2)))
|
||||
`(jabber-title-large ((,c :weight bold :width ultra-expanded :height 3.0 :foreground ,fg-heading-1)))
|
||||
;;;;; japanese-holidays
|
||||
`(japanese-holiday-saturday ((,c :foreground ,date-holiday-other)))
|
||||
;;;;; jira (org-jira)
|
||||
|
@ -2761,6 +2802,10 @@ FG and BG are the main colors."
|
|||
;;;;; keycast
|
||||
`(keycast-command ((,c :inherit bold)))
|
||||
`(keycast-key ((,c :inherit modus-themes-bold :background ,keybind :foreground ,bg-main)))
|
||||
;;;;; kmacro-menu
|
||||
`(kmacro-menu-mark ((,c :inherit bold)))
|
||||
`(kmacro-menu-marked ((,c :inherit modus-themes-mark-sel)))
|
||||
`(kmacro-menu-flagged ((,c :inherit modus-themes-mark-del)))
|
||||
;;;;; ledger-mode
|
||||
`(ledger-font-auto-xact-face ((,c :inherit font-lock-builtin-face)))
|
||||
`(ledger-font-account-name-face ((,c :foreground ,name)))
|
||||
|
@ -2958,6 +3003,8 @@ FG and BG are the main colors."
|
|||
`(markup-title-4-face ((,c :inherit modus-themes-heading-5)))
|
||||
`(markup-title-5-face ((,c :inherit modus-themes-heading-6)))
|
||||
`(markup-verbatim-face ((,c :inherit modus-themes-prose-verbatim)))
|
||||
;;;;; mbdepth
|
||||
`(minibuffer-depth-indicator ((,c :inherit modus-themes-mark-alt)))
|
||||
;;;;; mct
|
||||
`(mct-highlight-candidate ((,c :inherit modus-themes-completion-selected)))
|
||||
;;;;; messages
|
||||
|
@ -3132,7 +3179,8 @@ FG and BG are the main colors."
|
|||
`(notmuch-tag-unread ((,c :foreground ,accent-1)))
|
||||
`(notmuch-tree-match-author-face ((,c :inherit notmuch-search-matching-authors)))
|
||||
`(notmuch-tree-match-date-face ((,c :inherit notmuch-search-date)))
|
||||
`(notmuch-tree-match-face ((,c :foreground ,fg-main)))
|
||||
`(notmuch-tree-match-face ((,c :foreground ,fg-dim)))
|
||||
`(notmuch-tree-match-subject-face ((,c :foreground ,fg-main)))
|
||||
`(notmuch-tree-match-tag-face ((,c :inherit notmuch-tag-face)))
|
||||
`(notmuch-tree-no-match-face ((,c :inherit shadow)))
|
||||
`(notmuch-tree-no-match-date-face ((,c :inherit shadow)))
|
||||
|
@ -3668,9 +3716,9 @@ FG and BG are the main colors."
|
|||
`(telega-username ((,c :foreground ,cyan-cooler)))
|
||||
`(telega-webpage-chat-link ((,c :background ,bg-inactive)))
|
||||
`(telega-webpage-fixed ((,c :inherit modus-themes-fixed-pitch :height 0.85)))
|
||||
`(telega-webpage-header ((,c :inherit modus-themes-variable-pitch :height 1.3)))
|
||||
`(telega-webpage-header ((,c :height 1.3)))
|
||||
`(telega-webpage-preformatted ((,c :inherit modus-themes-fixed-pitch :background ,bg-inactive)))
|
||||
`(telega-webpage-subheader ((,c :inherit modus-themes-variable-pitch :height 1.15)))
|
||||
`(telega-webpage-subheader ((,c :height 1.15)))
|
||||
;;;;; terraform-mode
|
||||
`(terraform--resource-name-face ((,c :foreground ,keyword)))
|
||||
`(terraform--resource-type-face ((,c :foreground ,type)))
|
||||
|
@ -3815,6 +3863,12 @@ FG and BG are the main colors."
|
|||
`(vimish-fold-fringe ((,c :foreground ,cyan)))
|
||||
`(vimish-fold-mouse-face ((,c :inherit modus-themes-intense-blue)))
|
||||
`(vimish-fold-overlay ((,c :background ,bg-inactive)))
|
||||
;;;;; viper
|
||||
`(viper-search ((,c :inherit modus-themes-search-current)))
|
||||
`(viper-replace-overlay ((,c :inherit modus-themes-search-replace)))
|
||||
`(viper-minibuffer-emacs (( )))
|
||||
`(viper-minibuffer-insert (( )))
|
||||
`(viper-minibuffer-vi (( )))
|
||||
;;;;; visible-mark
|
||||
`(visible-mark-active ((,c :background ,bg-blue-intense)))
|
||||
`(visible-mark-face1 ((,c :background ,bg-cyan-intense)))
|
||||
|
@ -3877,7 +3931,7 @@ FG and BG are the main colors."
|
|||
`(web-mode-css-string-face ((,c :inherit web-mode-string-face)))
|
||||
`(web-mode-css-variable-face ((,c :inherit font-lock-variable-name-face)))
|
||||
`(web-mode-current-column-highlight-face ((,c :background ,bg-inactive)))
|
||||
`(web-mode-current-element-highlight-face ((,c :inherit modus-themes-cyan-subtle)))
|
||||
`(web-mode-current-element-highlight-face ((,c :inherit modus-themes-subtle-cyan)))
|
||||
`(web-mode-doctype-face ((,c :inherit font-lock-doc-face)))
|
||||
`(web-mode-error-face ((,c :inherit error)))
|
||||
`(web-mode-filter-face ((,c :inherit font-lock-function-name-face)))
|
||||
|
@ -3952,6 +4006,10 @@ FG and BG are the main colors."
|
|||
`(window-divider ((,c :foreground ,border)))
|
||||
`(window-divider-first-pixel ((,c :foreground ,bg-inactive)))
|
||||
`(window-divider-last-pixel ((,c :foreground ,bg-inactive)))
|
||||
;;;;; window-tool-bar-mode
|
||||
`(window-tool-bar-button ((,c :inherit modus-themes-button)))
|
||||
`(window-tool-bar-button-hover ((,c :inherit (highlight modus-themes-button))))
|
||||
`(window-tool-bar-button-disabled ((,c :inherit modus-themes-button :background ,bg-button-inactive :foreground ,fg-button-inactive)))
|
||||
;;;;; widget
|
||||
`(widget-button ((,c :inherit bold :foreground ,fg-link)))
|
||||
`(widget-button-pressed ((,c :inherit widget-button :foreground ,fg-link-visited)))
|
||||
|
@ -4079,6 +4137,10 @@ FG and BG are the main colors."
|
|||
,fg-term-magenta
|
||||
,fg-term-cyan
|
||||
,fg-term-white])
|
||||
;;;; viper
|
||||
`(viper-replace-overlay-cursor-color ,err)
|
||||
`(viper-insert-state-cursor-color ,info)
|
||||
`(viper-emacs-state-cursor-color ,fg-main)
|
||||
;;;; xterm-color
|
||||
`(xterm-color-names
|
||||
[,fg-term-black
|
||||
|
|
|
@ -134,11 +134,19 @@ standard)."
|
|||
(bg-magenta-nuanced "#2f0c3f")
|
||||
(bg-cyan-nuanced "#042837")
|
||||
|
||||
;;; Uncommon accent backgrounds
|
||||
;;; Uncommon accent background and foreground pairs
|
||||
|
||||
(bg-clay "#49191a")
|
||||
(fg-clay "#f1b090")
|
||||
|
||||
(bg-ochre "#462f20")
|
||||
(fg-ochre "#e0d09c")
|
||||
|
||||
(bg-ochre "#442c2f")
|
||||
(bg-lavender "#38325c")
|
||||
(bg-sage "#0f3d30")
|
||||
(fg-lavender "#dfc0f0")
|
||||
|
||||
(bg-sage "#143e32")
|
||||
(fg-sage "#c3e7d4")
|
||||
|
||||
;;; Graphs
|
||||
|
||||
|
@ -248,19 +256,24 @@ standard)."
|
|||
|
||||
;;;; Code mappings
|
||||
|
||||
(bracket fg-main)
|
||||
(builtin magenta-warmer)
|
||||
(comment yellow-cooler)
|
||||
(constant blue-cooler)
|
||||
(docstring cyan-faint)
|
||||
(delimiter fg-main)
|
||||
(docmarkup magenta-faint)
|
||||
(docstring cyan-faint)
|
||||
(fnname magenta)
|
||||
(keyword magenta-cooler)
|
||||
(number fg-main)
|
||||
(operator fg-main)
|
||||
(preprocessor red-cooler)
|
||||
(punctuation fg-main)
|
||||
(rx-backslash blue-cooler)
|
||||
(rx-construct yellow-cooler)
|
||||
(string blue-warmer)
|
||||
(type cyan-cooler)
|
||||
(variable cyan)
|
||||
(rx-construct yellow-cooler)
|
||||
(rx-backslash blue-cooler)
|
||||
|
||||
;;;; Accent mappings
|
||||
|
||||
|
@ -483,6 +496,19 @@ Semantic color mappings have the form (MAPPING-NAME COLOR-NAME)
|
|||
with both as symbols. The latter is a named color that already
|
||||
exists in the palette and is associated with a HEX-VALUE.")
|
||||
|
||||
(defcustom modus-vivendi-deuteranopia-palette-user nil
|
||||
"Like the `modus-vivendi-deuteranopia-palette' for user-defined entries.
|
||||
This is meant to extend the palette with custom named colors and/or
|
||||
semantic palette mappings. Those may then be used in combination with
|
||||
palette overrides (also see `modus-themes-common-palette-overrides' and
|
||||
`modus-vivendi-deuteranopia-palette-overrides')."
|
||||
:group 'modus-themes
|
||||
:package-version '(modus-themes . "4.5.0")
|
||||
:type '(repeat (list symbol (choice symbol string)))
|
||||
:set #'modus-themes--set-option
|
||||
:initialize #'custom-initialize-default
|
||||
:link '(info-link "(modus-themes) Option to extend the palette for use with overrides"))
|
||||
|
||||
(defcustom modus-vivendi-deuteranopia-palette-overrides nil
|
||||
"Overrides for `modus-vivendi-deuteranopia-palette'.
|
||||
|
||||
|
|
|
@ -132,11 +132,19 @@ which corresponds to a minimum contrast in relative luminance of
|
|||
(bg-magenta-nuanced "#2f0c3f")
|
||||
(bg-cyan-nuanced "#042837")
|
||||
|
||||
;;; Uncommon accent backgrounds
|
||||
;;; Uncommon accent background and foreground pairs
|
||||
|
||||
(bg-clay "#49191a")
|
||||
(fg-clay "#f1b090")
|
||||
|
||||
(bg-ochre "#462f20")
|
||||
(fg-ochre "#e0d09c")
|
||||
|
||||
(bg-ochre "#442c2f")
|
||||
(bg-lavender "#38325c")
|
||||
(bg-sage "#0f3d30")
|
||||
(fg-lavender "#dfc0f0")
|
||||
|
||||
(bg-sage "#143e32")
|
||||
(fg-sage "#c3e7d4")
|
||||
|
||||
;;; Graphs
|
||||
|
||||
|
@ -246,19 +254,24 @@ which corresponds to a minimum contrast in relative luminance of
|
|||
|
||||
;;;; Code mappings
|
||||
|
||||
(bracket fg-main)
|
||||
(builtin magenta-warmer)
|
||||
(comment fg-dim)
|
||||
(constant blue-cooler)
|
||||
(docstring cyan-faint)
|
||||
(delimiter fg-main)
|
||||
(docmarkup magenta-faint)
|
||||
(docstring cyan-faint)
|
||||
(fnname magenta)
|
||||
(keyword magenta-cooler)
|
||||
(number fg-main)
|
||||
(operator fg-main)
|
||||
(preprocessor red-cooler)
|
||||
(punctuation fg-main)
|
||||
(rx-backslash magenta)
|
||||
(rx-construct green-cooler)
|
||||
(string blue-warmer)
|
||||
(type cyan-cooler)
|
||||
(variable cyan)
|
||||
(rx-construct green-cooler)
|
||||
(rx-backslash magenta)
|
||||
|
||||
;;;; Accent mappings
|
||||
|
||||
|
@ -481,6 +494,19 @@ Semantic color mappings have the form (MAPPING-NAME COLOR-NAME)
|
|||
with both as symbols. The latter is a named color that already
|
||||
exists in the palette and is associated with a HEX-VALUE.")
|
||||
|
||||
(defcustom modus-vivendi-palette-user nil
|
||||
"Like the `modus-vivendi--palette' for user-defined entries.
|
||||
This is meant to extend the palette with custom named colors and/or
|
||||
semantic palette mappings. Those may then be used in combination with
|
||||
palette overrides (also see `modus-themes-common-palette-overrides' and
|
||||
`modus-vivendi--palette-overrides')."
|
||||
:group 'modus-themes
|
||||
:package-version '(modus-themes . "4.5.0")
|
||||
:type '(repeat (list symbol (choice symbol string)))
|
||||
:set #'modus-themes--set-option
|
||||
:initialize #'custom-initialize-default
|
||||
:link '(info-link "(modus-themes) Option to extend the palette for use with overrides"))
|
||||
|
||||
(defcustom modus-vivendi-palette-overrides nil
|
||||
"Overrides for `modus-vivendi-palette'.
|
||||
|
||||
|
|
|
@ -132,11 +132,19 @@ which corresponds to a minimum contrast in relative luminance of
|
|||
(bg-magenta-nuanced "#2f0c3f")
|
||||
(bg-cyan-nuanced "#042837")
|
||||
|
||||
;;; Uncommon accent backgrounds
|
||||
;;; Uncommon accent background and foreground pairs
|
||||
|
||||
(bg-clay "#49191a")
|
||||
(fg-clay "#f1b090")
|
||||
|
||||
(bg-ochre "#462f20")
|
||||
(fg-ochre "#e0d09c")
|
||||
|
||||
(bg-ochre "#442c2f")
|
||||
(bg-lavender "#38325c")
|
||||
(bg-sage "#0f3d30")
|
||||
(fg-lavender "#dfc0f0")
|
||||
|
||||
(bg-sage "#143e32")
|
||||
(fg-sage "#c3e7d4")
|
||||
|
||||
;;; Graphs
|
||||
|
||||
|
@ -246,19 +254,24 @@ which corresponds to a minimum contrast in relative luminance of
|
|||
|
||||
;;;; Code mappings
|
||||
|
||||
(bracket fg-main)
|
||||
(builtin magenta-warmer)
|
||||
(comment red-faint)
|
||||
(constant blue-cooler)
|
||||
(docstring cyan-faint)
|
||||
(delimiter fg-main)
|
||||
(docmarkup magenta-faint)
|
||||
(docstring cyan-faint)
|
||||
(fnname magenta)
|
||||
(keyword magenta-cooler)
|
||||
(number fg-main)
|
||||
(operator fg-main)
|
||||
(preprocessor red-cooler)
|
||||
(punctuation fg-main)
|
||||
(rx-backslash magenta)
|
||||
(rx-construct green-cooler)
|
||||
(string blue-warmer)
|
||||
(type cyan-cooler)
|
||||
(variable cyan)
|
||||
(rx-construct green-cooler)
|
||||
(rx-backslash magenta)
|
||||
|
||||
;;;; Accent mappings
|
||||
|
||||
|
@ -481,6 +494,19 @@ Semantic color mappings have the form (MAPPING-NAME COLOR-NAME)
|
|||
with both as symbols. The latter is a named color that already
|
||||
exists in the palette and is associated with a HEX-VALUE.")
|
||||
|
||||
(defcustom modus-vivendi-tinted-palette-user nil
|
||||
"Like the `modus-vivendi-tinted-palette' for user-defined entries.
|
||||
This is meant to extend the palette with custom named colors and/or
|
||||
semantic palette mappings. Those may then be used in combination with
|
||||
palette overrides (also see `modus-themes-common-palette-overrides' and
|
||||
`modus-vivendi-tinted-palette-overrides')."
|
||||
:group 'modus-themes
|
||||
:package-version '(modus-themes . "4.5.0")
|
||||
:type '(repeat (list symbol (choice symbol string)))
|
||||
:set #'modus-themes--set-option
|
||||
:initialize #'custom-initialize-default
|
||||
:link '(info-link "(modus-themes) Option to extend the palette for use with overrides"))
|
||||
|
||||
(defcustom modus-vivendi-tinted-palette-overrides nil
|
||||
"Overrides for `modus-vivendi-tinted-palette'.
|
||||
|
||||
|
|
|
@ -134,11 +134,19 @@ standard)."
|
|||
(bg-magenta-nuanced "#2f0c3f")
|
||||
(bg-cyan-nuanced "#042837")
|
||||
|
||||
;;; Uncommon accent backgrounds
|
||||
;;; Uncommon accent background and foreground pairs
|
||||
|
||||
(bg-clay "#49191a")
|
||||
(fg-clay "#f1b090")
|
||||
|
||||
(bg-ochre "#462f20")
|
||||
(fg-ochre "#e0d09c")
|
||||
|
||||
(bg-ochre "#442c2f")
|
||||
(bg-lavender "#38325c")
|
||||
(bg-sage "#0f3d30")
|
||||
(fg-lavender "#dfc0f0")
|
||||
|
||||
(bg-sage "#143e32")
|
||||
(fg-sage "#c3e7d4")
|
||||
|
||||
;;; Graphs
|
||||
|
||||
|
@ -248,19 +256,24 @@ standard)."
|
|||
|
||||
;;;; Code mappings
|
||||
|
||||
(bracket fg-main)
|
||||
(builtin magenta)
|
||||
(comment red-faint)
|
||||
(constant green-faint)
|
||||
(docstring fg-alt)
|
||||
(delimiter fg-main)
|
||||
(docmarkup magenta-faint)
|
||||
(docstring fg-alt)
|
||||
(fnname cyan-warmer)
|
||||
(keyword red-cooler)
|
||||
(number fg-main)
|
||||
(operator fg-main)
|
||||
(preprocessor red-warmer)
|
||||
(punctuation fg-main)
|
||||
(rx-backslash magenta)
|
||||
(rx-construct red)
|
||||
(string cyan)
|
||||
(type blue-warmer)
|
||||
(variable cyan-cooler)
|
||||
(rx-construct red)
|
||||
(rx-backslash magenta)
|
||||
|
||||
;;;; Accent mappings
|
||||
|
||||
|
@ -483,6 +496,19 @@ Semantic color mappings have the form (MAPPING-NAME COLOR-NAME)
|
|||
with both as symbols. The latter is a named color that already
|
||||
exists in the palette and is associated with a HEX-VALUE.")
|
||||
|
||||
(defcustom modus-vivendi-tritanopia-palette-user nil
|
||||
"Like the `modus-vivendi-tritanopia-palette' for user-defined entries.
|
||||
This is meant to extend the palette with custom named colors and/or
|
||||
semantic palette mappings. Those may then be used in combination with
|
||||
palette overrides (also see `modus-themes-common-palette-overrides' and
|
||||
`modus-vivendi-tritanopia-palette-overrides')."
|
||||
:group 'modus-themes
|
||||
:package-version '(modus-themes . "4.5.0")
|
||||
:type '(repeat (list symbol (choice symbol string)))
|
||||
:set #'modus-themes--set-option
|
||||
:initialize #'custom-initialize-default
|
||||
:link '(info-link "(modus-themes) Option to extend the palette for use with overrides"))
|
||||
|
||||
(defcustom modus-vivendi-tritanopia-palette-overrides nil
|
||||
"Overrides for `modus-vivendi-tritanopia-palette'.
|
||||
|
||||
|
|
Loading…
Reference in a new issue