mirror of
https://github.com/protesilaos/modus-themes.git
synced 2026-09-10 07:16:30 -04:00
Implement "user" palette extension (common or per-theme)
This commit is contained in:
parent
4c73580111
commit
573db128a0
|
|
@ -116,6 +116,7 @@ Customization options
|
|||
* Heading styles:: Choose among several styles, also per heading level
|
||||
* UI typeface:: Toggle the use of variable-pitch across the User Interface
|
||||
* Palette overrides:: Refashion color values and/or semantic color mappings
|
||||
* Option to extend the palette for use with overrides::
|
||||
|
||||
Use colors from the Modus themes palette
|
||||
|
||||
|
|
@ -777,6 +778,7 @@ active, it must be reloaded for changes to take effect.
|
|||
* Heading styles:: Choose among several styles, also per heading level
|
||||
* UI typeface:: Toggle the use of variable-pitch across the User Interface
|
||||
* Palette overrides:: Refashion color values and/or semantic color mappings
|
||||
* Option to extend the palette for use with overrides::
|
||||
|
||||
|
||||
File: modus-themes.info, Node: Custom reload theme, Next: Disable other themes, Up: Customization options
|
||||
|
|
@ -1228,7 +1230,7 @@ items.
|
|||
for Org and others.
|
||||
|
||||
|
||||
File: modus-themes.info, Node: Palette overrides, Prev: UI typeface, Up: Customization options
|
||||
File: modus-themes.info, Node: Palette overrides, Next: Option to extend the palette for use with overrides, Prev: UI typeface, Up: Customization options
|
||||
|
||||
4.12 Option for palette overrides
|
||||
=================================
|
||||
|
|
@ -1345,6 +1347,65 @@ their name, such as ‘fg-removed’ which complements ‘bg-removed’.
|
|||
watch:
|
||||
<https://protesilaos.com/codelog/2022-12-17-modus-themes-v4-demo/>.
|
||||
|
||||
|
||||
File: modus-themes.info, Node: Option to extend the palette for use with overrides, Prev: Palette overrides, Up: Customization options
|
||||
|
||||
4.13 Option to extend the palette for use with overrides
|
||||
========================================================
|
||||
|
||||
It is possible to extend the built-in palette of each theme. For
|
||||
example, the user may want to define their own ‘cherry’ color with a
|
||||
value of ‘#a0134f’ and then apply it as an override (*note Option for
|
||||
palette overrides: Palette overrides.). This can be done in the form of
|
||||
a common set of definitions or on a per-theme basis.
|
||||
|
||||
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:
|
||||
|
||||
• ‘modus-operandi-palette-user’
|
||||
|
||||
• ‘modus-operandi-tinted-palette-user’
|
||||
|
||||
• ‘modus-operandi-deuteranopia-palette-user’
|
||||
|
||||
• ‘modus-operandi-tritanopia-palette-user’
|
||||
|
||||
• ‘modus-vivendi-palette-user’
|
||||
|
||||
• ‘modus-vivendi-tinted-palette-user’
|
||||
|
||||
• ‘modus-vivendi-deuteranopia-palette-user’
|
||||
|
||||
• ‘modus-vivendi-tritanopia-palette-user’
|
||||
|
||||
Examples demonstrating how to use the aforementioned:
|
||||
|
||||
;;; 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)))
|
||||
|
||||
|
||||
File: modus-themes.info, Node: Preview theme colors, Next: Use colors from the Modus themes palette, Prev: Customization options, Up: Top
|
||||
|
||||
|
|
@ -6178,13 +6239,23 @@ B.2 Variable index
|
|||
|
||||
* modus-operandi-deuteranopia-palette-overrides: Palette overrides.
|
||||
(line 30)
|
||||
* modus-operandi-deuteranopia-palette-user: Option to extend the palette for use with overrides.
|
||||
(line 20)
|
||||
* modus-operandi-palette-overrides: Palette overrides. (line 28)
|
||||
* modus-operandi-palette-user: Option to extend the palette for use with overrides.
|
||||
(line 16)
|
||||
* modus-operandi-tinted-palette-overrides: Palette overrides. (line 32)
|
||||
* modus-operandi-tinted-palette-user: Option to extend the palette for use with overrides.
|
||||
(line 18)
|
||||
* modus-operandi-tritanopia-palette-overrides: Palette overrides.
|
||||
(line 34)
|
||||
* modus-operandi-tritanopia-palette-user: Option to extend the palette for use with overrides.
|
||||
(line 22)
|
||||
* modus-themes-after-load-theme-hook: Enable and load. (line 85)
|
||||
* modus-themes-bold-constructs: Bold constructs. (line 6)
|
||||
* modus-themes-common-palette-overrides: Palette overrides. (line 22)
|
||||
* modus-themes-common-palette-user: Option to extend the palette for use with overrides.
|
||||
(line 12)
|
||||
* modus-themes-completions: Completion UIs. (line 6)
|
||||
* modus-themes-custom-auto-reload: Custom reload theme. (line 6)
|
||||
* modus-themes-disable-other-themes: Disable other themes. (line 6)
|
||||
|
|
@ -6207,10 +6278,18 @@ B.2 Variable index
|
|||
* modus-themes-variable-pitch-ui: UI typeface. (line 6)
|
||||
* modus-vivendi-deuteranopia-palette-overrides: Palette overrides.
|
||||
(line 38)
|
||||
* modus-vivendi-deuteranopia-palette-user: Option to extend the palette for use with overrides.
|
||||
(line 28)
|
||||
* modus-vivendi-palette-overrides: Palette overrides. (line 36)
|
||||
* modus-vivendi-palette-user: Option to extend the palette for use with overrides.
|
||||
(line 24)
|
||||
* modus-vivendi-tinted-palette-overrides: Palette overrides. (line 40)
|
||||
* modus-vivendi-tinted-palette-user: Option to extend the palette for use with overrides.
|
||||
(line 26)
|
||||
* modus-vivendi-tritanopia-palette-overrides: Palette overrides.
|
||||
(line 42)
|
||||
* modus-vivendi-tritanopia-palette-user: Option to extend the palette for use with overrides.
|
||||
(line 30)
|
||||
|
||||
|
||||
File: modus-themes.info, Node: Concept index, Prev: Variable index, Up: Indices
|
||||
|
|
@ -6283,128 +6362,129 @@ B.3 Concept index
|
|||
|
||||
Tag Table:
|
||||
Node: Top872
|
||||
Node: Overview8413
|
||||
Node: How do the themes look like11185
|
||||
Node: Learn about the latest changes11544
|
||||
Node: Installation11932
|
||||
Node: Install manually from source12862
|
||||
Node: Install from the archives13687
|
||||
Node: Install on GNU/Linux14286
|
||||
Node: Debian 11 Bullseye14779
|
||||
Node: GNU Guix15189
|
||||
Node: Dealing with byte compilation errors15472
|
||||
Node: Enable and load16630
|
||||
Node: The require-theme for built-in Emacs themes20574
|
||||
Node: Sample configuration with and without use-package21694
|
||||
Node: Differences between loading and enabling24542
|
||||
Node: Customization options26674
|
||||
Node: Custom reload theme30458
|
||||
Node: Disable other themes31378
|
||||
Node: Bold constructs32620
|
||||
Node: Italic constructs33492
|
||||
Node: Option for which themes to toggle34320
|
||||
Node: Mixed fonts35095
|
||||
Node: Command prompts36149
|
||||
Node: Completion UIs37992
|
||||
Node: Org mode blocks40843
|
||||
Node: Heading styles41486
|
||||
Node: UI typeface45916
|
||||
Node: Palette overrides46889
|
||||
Node: Preview theme colors51253
|
||||
Node: Use colors from the Modus themes palette53066
|
||||
Node: Get a single color from the palette with modus-themes-get-color-value53930
|
||||
Node: Use theme colors in code with modus-themes-with-colors56292
|
||||
Node: Advanced customization58548
|
||||
Node: DIY Palette override presets60207
|
||||
Node: DIY Stylistic variants using palette overrides63062
|
||||
Node: DIY Make the mode line borderless65116
|
||||
Node: DIY Make the active mode line colorful66491
|
||||
Node: DIY Make the tab bar more or less colorful68709
|
||||
Node: DIY Make the fringe invisible or another color70646
|
||||
Node: DIY Make links use subtle or no underlines71847
|
||||
Node: DIY Make prompts more or less colorful72965
|
||||
Node: DIY Make completion matches more or less colorful74288
|
||||
Node: DIY Make comments yellow and strings green77847
|
||||
Node: DIY Make code syntax use the old alt-syntax style79556
|
||||
Node: DIY Make use of alternative styles for code syntax82679
|
||||
Node: DIY Make matching parenthesis more or less intense86141
|
||||
Node: DIY Make box buttons more or less gray87513
|
||||
Node: DIY Make TODO and DONE more or less intense88526
|
||||
Node: DIY Make headings more or less colorful90027
|
||||
Node: DIY Make Org block colors more or less colorful92144
|
||||
Node: DIY Make Org agenda more or less colorful96518
|
||||
Node: DIY Make inline code in prose use alternative styles99693
|
||||
Node: DIY Make mail citations and headers more or less colorful101935
|
||||
Node: DIY Make the region preserve text colors plus other styles104335
|
||||
Node: DIY Make mouse highlights more or less colorful105891
|
||||
Node: DIY Make language underlines less colorful106904
|
||||
Node: DIY Make line numbers use alternative styles108056
|
||||
Node: DIY Make diffs use only a foreground109699
|
||||
Node: DIY Make deuteranopia diffs red and blue instead of yellow and blue112590
|
||||
Node: DIY More accurate colors in terminal emulators115070
|
||||
Node: DIY Range of color with terminal emulators116382
|
||||
Node: DIY Per-theme customization settings119175
|
||||
Node: DIY Do not extend the region background120608
|
||||
Node: DIY Add padding to the mode line121412
|
||||
Node: DIY Remap face with local value124345
|
||||
Node: DIY Font configurations for Org and others126893
|
||||
Ref: DIY Font configurations for Org and others-Footnote-1129876
|
||||
Node: DIY Configure bold and italic faces130063
|
||||
Node: DIY Custom Org todo keyword and priority faces134685
|
||||
Node: DIY Custom Org emphasis faces138428
|
||||
Node: DIY Use colored Org source blocks per language143309
|
||||
Node: DIY Measure color contrast147949
|
||||
Node: DIY Load theme depending on time of day150669
|
||||
Node: DIY Backdrop for pdf-tools151699
|
||||
Node: DIY Toggle themes without reloading them154868
|
||||
Node: DIY Use more spacious margins or padding in Emacs frames156177
|
||||
Node: DIY Custom hl-todo colors160434
|
||||
Node: DIY Add support for solaire-mode162251
|
||||
Node: DIY Use a hook at the post-load-theme phase165377
|
||||
Node: DIY A theme-agnostic hook for theme loading167501
|
||||
Node: Face coverage170132
|
||||
Node: Supported packages170584
|
||||
Node: Indirectly covered packages176315
|
||||
Node: Notes on individual packages177684
|
||||
Node: Note on calendarel weekday and weekend colors178784
|
||||
Node: Note on git-gutter in Doom Emacs179932
|
||||
Node: Note on php-mode multiline comments182432
|
||||
Node: Note on underlines in compilation buffers183192
|
||||
Node: Note on inline Latex in Org buffers184064
|
||||
Node: Note on dimmerel184674
|
||||
Node: Note on display-fill-column-indicator-mode186159
|
||||
Node: Note on highlight-parenthesesel187612
|
||||
Node: Note on mmm-modeel background colors193695
|
||||
Node: Note for prism196049
|
||||
Node: Note on company-mode overlay pop-up199271
|
||||
Ref: Note on company-mode overlay pop-up-Footnote-1200001
|
||||
Ref: Note on company-mode overlay pop-up-Footnote-2200068
|
||||
Node: Note on ERC escaped color sequences200123
|
||||
Ref: Note on ERC escaped color sequences-Footnote-1201551
|
||||
Node: Note on powerline or spaceline201661
|
||||
Node: Note on SHR colors202075
|
||||
Node: Note on SHR fonts202499
|
||||
Node: Note on Ement colors and fonts203186
|
||||
Node: Note on pdf-tools link hints204696
|
||||
Node: Note on the Notmuch logo207156
|
||||
Node: Note on goto-address-mode faces207694
|
||||
Node: Frequently Asked Questions208812
|
||||
Node: Is the contrast ratio about adjacent colors?209445
|
||||
Node: What does it mean to avoid exaggerations?210954
|
||||
Node: Why are colors mostly variants of blue magenta cyan?212806
|
||||
Node: What is the best setup for legibility?217140
|
||||
Node: Are these color schemes?219787
|
||||
Node: Port the Modus themes to other platforms?223471
|
||||
Node: Contributing226317
|
||||
Node: Sources of the themes226716
|
||||
Node: Issues you can help with227612
|
||||
Node: Patches require copyright assignment to the FSF229005
|
||||
Node: Acknowledgements231227
|
||||
Node: GNU Free Documentation License235465
|
||||
Node: Indices260829
|
||||
Node: Function index261008
|
||||
Node: Variable index262306
|
||||
Node: Concept index265000
|
||||
Node: Overview8469
|
||||
Node: How do the themes look like11241
|
||||
Node: Learn about the latest changes11600
|
||||
Node: Installation11988
|
||||
Node: Install manually from source12918
|
||||
Node: Install from the archives13743
|
||||
Node: Install on GNU/Linux14342
|
||||
Node: Debian 11 Bullseye14835
|
||||
Node: GNU Guix15245
|
||||
Node: Dealing with byte compilation errors15528
|
||||
Node: Enable and load16686
|
||||
Node: The require-theme for built-in Emacs themes20630
|
||||
Node: Sample configuration with and without use-package21750
|
||||
Node: Differences between loading and enabling24598
|
||||
Node: Customization options26730
|
||||
Node: Custom reload theme30570
|
||||
Node: Disable other themes31490
|
||||
Node: Bold constructs32732
|
||||
Node: Italic constructs33604
|
||||
Node: Option for which themes to toggle34432
|
||||
Node: Mixed fonts35207
|
||||
Node: Command prompts36261
|
||||
Node: Completion UIs38104
|
||||
Node: Org mode blocks40955
|
||||
Node: Heading styles41598
|
||||
Node: UI typeface46028
|
||||
Node: Palette overrides47001
|
||||
Node: Option to extend the palette for use with overrides51425
|
||||
Node: Preview theme colors53389
|
||||
Node: Use colors from the Modus themes palette55202
|
||||
Node: Get a single color from the palette with modus-themes-get-color-value56066
|
||||
Node: Use theme colors in code with modus-themes-with-colors58428
|
||||
Node: Advanced customization60684
|
||||
Node: DIY Palette override presets62343
|
||||
Node: DIY Stylistic variants using palette overrides65198
|
||||
Node: DIY Make the mode line borderless67252
|
||||
Node: DIY Make the active mode line colorful68627
|
||||
Node: DIY Make the tab bar more or less colorful70845
|
||||
Node: DIY Make the fringe invisible or another color72782
|
||||
Node: DIY Make links use subtle or no underlines73983
|
||||
Node: DIY Make prompts more or less colorful75101
|
||||
Node: DIY Make completion matches more or less colorful76424
|
||||
Node: DIY Make comments yellow and strings green79983
|
||||
Node: DIY Make code syntax use the old alt-syntax style81692
|
||||
Node: DIY Make use of alternative styles for code syntax84815
|
||||
Node: DIY Make matching parenthesis more or less intense88277
|
||||
Node: DIY Make box buttons more or less gray89649
|
||||
Node: DIY Make TODO and DONE more or less intense90662
|
||||
Node: DIY Make headings more or less colorful92163
|
||||
Node: DIY Make Org block colors more or less colorful94280
|
||||
Node: DIY Make Org agenda more or less colorful98654
|
||||
Node: DIY Make inline code in prose use alternative styles101829
|
||||
Node: DIY Make mail citations and headers more or less colorful104071
|
||||
Node: DIY Make the region preserve text colors plus other styles106471
|
||||
Node: DIY Make mouse highlights more or less colorful108027
|
||||
Node: DIY Make language underlines less colorful109040
|
||||
Node: DIY Make line numbers use alternative styles110192
|
||||
Node: DIY Make diffs use only a foreground111835
|
||||
Node: DIY Make deuteranopia diffs red and blue instead of yellow and blue114726
|
||||
Node: DIY More accurate colors in terminal emulators117206
|
||||
Node: DIY Range of color with terminal emulators118518
|
||||
Node: DIY Per-theme customization settings121311
|
||||
Node: DIY Do not extend the region background122744
|
||||
Node: DIY Add padding to the mode line123548
|
||||
Node: DIY Remap face with local value126481
|
||||
Node: DIY Font configurations for Org and others129029
|
||||
Ref: DIY Font configurations for Org and others-Footnote-1132012
|
||||
Node: DIY Configure bold and italic faces132199
|
||||
Node: DIY Custom Org todo keyword and priority faces136821
|
||||
Node: DIY Custom Org emphasis faces140564
|
||||
Node: DIY Use colored Org source blocks per language145445
|
||||
Node: DIY Measure color contrast150085
|
||||
Node: DIY Load theme depending on time of day152805
|
||||
Node: DIY Backdrop for pdf-tools153835
|
||||
Node: DIY Toggle themes without reloading them157004
|
||||
Node: DIY Use more spacious margins or padding in Emacs frames158313
|
||||
Node: DIY Custom hl-todo colors162570
|
||||
Node: DIY Add support for solaire-mode164387
|
||||
Node: DIY Use a hook at the post-load-theme phase167513
|
||||
Node: DIY A theme-agnostic hook for theme loading169637
|
||||
Node: Face coverage172268
|
||||
Node: Supported packages172720
|
||||
Node: Indirectly covered packages178451
|
||||
Node: Notes on individual packages179820
|
||||
Node: Note on calendarel weekday and weekend colors180920
|
||||
Node: Note on git-gutter in Doom Emacs182068
|
||||
Node: Note on php-mode multiline comments184568
|
||||
Node: Note on underlines in compilation buffers185328
|
||||
Node: Note on inline Latex in Org buffers186200
|
||||
Node: Note on dimmerel186810
|
||||
Node: Note on display-fill-column-indicator-mode188295
|
||||
Node: Note on highlight-parenthesesel189748
|
||||
Node: Note on mmm-modeel background colors195831
|
||||
Node: Note for prism198185
|
||||
Node: Note on company-mode overlay pop-up201407
|
||||
Ref: Note on company-mode overlay pop-up-Footnote-1202137
|
||||
Ref: Note on company-mode overlay pop-up-Footnote-2202204
|
||||
Node: Note on ERC escaped color sequences202259
|
||||
Ref: Note on ERC escaped color sequences-Footnote-1203687
|
||||
Node: Note on powerline or spaceline203797
|
||||
Node: Note on SHR colors204211
|
||||
Node: Note on SHR fonts204635
|
||||
Node: Note on Ement colors and fonts205322
|
||||
Node: Note on pdf-tools link hints206832
|
||||
Node: Note on the Notmuch logo209292
|
||||
Node: Note on goto-address-mode faces209830
|
||||
Node: Frequently Asked Questions210948
|
||||
Node: Is the contrast ratio about adjacent colors?211581
|
||||
Node: What does it mean to avoid exaggerations?213090
|
||||
Node: Why are colors mostly variants of blue magenta cyan?214942
|
||||
Node: What is the best setup for legibility?219276
|
||||
Node: Are these color schemes?221923
|
||||
Node: Port the Modus themes to other platforms?225607
|
||||
Node: Contributing228453
|
||||
Node: Sources of the themes228852
|
||||
Node: Issues you can help with229748
|
||||
Node: Patches require copyright assignment to the FSF231141
|
||||
Node: Acknowledgements233363
|
||||
Node: GNU Free Documentation License237601
|
||||
Node: Indices262965
|
||||
Node: Function index263144
|
||||
Node: Variable index264442
|
||||
Node: Concept index268645
|
||||
|
||||
End Tag Table
|
||||
|
||||
|
|
|
|||
|
|
@ -1190,6 +1190,74 @@ 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 for use with overrides
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: h:287fb971-a866-4d88-9993-56e902dd63c4
|
||||
:END:
|
||||
|
||||
It is possible to extend the built-in palette of each theme. For
|
||||
example, the user may want to 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]]).
|
||||
This can be done in the form of a common set of definitions 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)))
|
||||
#+end_src
|
||||
|
||||
* Preview theme colors
|
||||
:properties:
|
||||
:custom_id: h:f4d4b71b-2ca5-4c3d-b0b4-9bfd7aa7fb4d
|
||||
|
|
|
|||
|
|
@ -491,6 +491,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'.
|
||||
|
||||
|
|
|
|||
|
|
@ -489,6 +489,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'.
|
||||
|
||||
|
|
|
|||
|
|
@ -489,6 +489,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'.
|
||||
|
||||
|
|
|
|||
|
|
@ -491,6 +491,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'.
|
||||
|
||||
|
|
|
|||
|
|
@ -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 modus-themes-common-palette-user user-palette 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)))
|
||||
|
|
|
|||
|
|
@ -491,6 +491,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'.
|
||||
|
||||
|
|
|
|||
|
|
@ -489,6 +489,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'.
|
||||
|
||||
|
|
|
|||
|
|
@ -489,6 +489,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'.
|
||||
|
||||
|
|
|
|||
|
|
@ -491,6 +491,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