diff options
| author | Protesilaos Stavrou | 2022-06-01 14:05:49 +0300 |
|---|---|---|
| committer | Protesilaos Stavrou | 2022-06-01 14:09:23 +0300 |
| commit | e3ec91232fcdd4d7fe2c48fcdb78b4ac7c6356d5 (patch) | |
| tree | 27f06c9b4dd9f63bd41160d14df00155722ccde7 | |
| parent | a6322e7f134fa3fc4627bb36dcbbe0b78bb00091 (diff) | |
| download | emacs-e3ec91232fcdd4d7fe2c48fcdb78b4ac7c6356d5.tar.gz emacs-e3ec91232fcdd4d7fe2c48fcdb78b4ac7c6356d5.zip | |
Update modus-themes to their latest version
* admin/MAINTAINERS: Update link to the Git repository of the
modus-themes; point to the new mailing list; include command for
sending a bug report.
* doc/misc/modus-themes.org (Install from the archives): Minor
rewording.
(Dealing with byte compilation errors): Clarify that occasional bugs
are not always a fault of the themes.
(Custom hl-todo colors): Add note about package.:(Full support for
packages or face groups, Indirectly covered packages): Update lists of
supported packages.
(Note on avy hints): Remove obsolete node.
(Note on git-gutter in Doom Emacs): Note problem with custom bitmaps,
which is not the fault of the themes.
(Note on display-fill-column-indicator-mode): Show how to use a
thicker indicator.:(Why are colors mostly variants of blue, magenta,
cyan?): Minor rewording.
(Sources of the themes): Update official theme sources.
(Issues you can help with)
(Patches require copyright assignment to the FSF): Update the
information on potential contributions.
(Acknowledgements): Update list of contributors in the form of code or
ideas/feedback.
(Meta, Other notes about the project): Rename section and include more
links to development-related blog posts.
* etc/themes/modus-themes.el (seq): Stop requiring 'seq'.
(modus-themes--version): Use internal variable for the themes'
version.
(modus-themes-operandi-colors, modus-themes-vivendi-colors): Make
minor tweaks to the color palettes.
(modus-themes-variable-pitch): Remove obsolete symbol from doc string.
(modus-themes--alist-or-seq): Update function to not rely on 'seq'.
(modus-themes--current-theme): Make stylistic tweaks.
(modus-themes--markup): Use correct order of inheritance for faces.
(modus-themes--paren, modus-themes--heading)
(modus-themes--agenda-structure, modus-themes--agenda-date)
(modus-themes--agenda-habit, modus-themes--mode-line-attrs)
(modus-themes--mode-line-padded-box, modus-themes--button): Update to
use 'modus-themes--property-lookup' instead of the previous function
that depended on 'seq'.
(modus-themes--diff): Make it combine as expected with the user option
'modus-themes-deuteranopia'.
(modus-themes-faces): Update list of faces.
(modus-themes-custom-variables): Expand support for face rotation in
'highlight-changes'.
* etc/themes/modus-operandi-theme.el:
* etc/themes/modus-vivendi-theme.el: Bump version number to 2.4.1.
Release notes: <https://protesilaos.com/codelog/2022-06-01-modus-themes-2-4-0/>.
| -rw-r--r-- | admin/MAINTAINERS | 4 | ||||
| -rw-r--r-- | doc/misc/modus-themes.org | 294 | ||||
| -rw-r--r-- | etc/themes/modus-operandi-theme.el | 4 | ||||
| -rw-r--r-- | etc/themes/modus-themes.el | 579 | ||||
| -rw-r--r-- | etc/themes/modus-vivendi-theme.el | 4 |
5 files changed, 417 insertions, 468 deletions
diff --git a/admin/MAINTAINERS b/admin/MAINTAINERS index 2760a9a42b5..f0239db0089 100644 --- a/admin/MAINTAINERS +++ b/admin/MAINTAINERS | |||
| @@ -305,7 +305,9 @@ Tramp | |||
| 305 | 305 | ||
| 306 | Modus themes | 306 | Modus themes |
| 307 | Maintainer: Protesilaos Stavrou | 307 | Maintainer: Protesilaos Stavrou |
| 308 | Repository and issue tracker: https://gitlab.com/protesilaos/modus-themes | 308 | Repository: https://git.sr.ht/~protesilaos |
| 309 | Mailing list: https://lists.sr.ht/~protesilaos/modus-themes | ||
| 310 | Bug Reports: M-x modus-themes-report-bug | ||
| 309 | 311 | ||
| 310 | doc/misc/modus-themes.org | 312 | doc/misc/modus-themes.org |
| 311 | etc/themes/modus*.el | 313 | etc/themes/modus*.el |
diff --git a/doc/misc/modus-themes.org b/doc/misc/modus-themes.org index 42ad3ee35fe..7b566f51c26 100644 --- a/doc/misc/modus-themes.org +++ b/doc/misc/modus-themes.org | |||
| @@ -5,9 +5,9 @@ | |||
| 5 | #+options: ':t toc:nil author:t email:t num:t | 5 | #+options: ':t toc:nil author:t email:t num:t |
| 6 | #+startup: content | 6 | #+startup: content |
| 7 | 7 | ||
| 8 | #+macro: stable-version 2.3.0 | 8 | #+macro: stable-version 2.4.0 |
| 9 | #+macro: release-date 2022-04-01 | 9 | #+macro: release-date 2022-06-01 |
| 10 | #+macro: development-version 2.4.0-dev | 10 | #+macro: development-version 2.5.0-dev |
| 11 | #+macro: file @@texinfo:@file{@@$1@@texinfo:}@@ | 11 | #+macro: file @@texinfo:@file{@@$1@@texinfo:}@@ |
| 12 | #+macro: space @@texinfo:@: @@ | 12 | #+macro: space @@texinfo:@: @@ |
| 13 | #+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@ | 13 | #+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@ |
| @@ -34,6 +34,10 @@ explicitly marked as such. | |||
| 34 | 34 | ||
| 35 | Current development target is {{{development-version}}}. | 35 | Current development target is {{{development-version}}}. |
| 36 | 36 | ||
| 37 | + Homepage: https://protesilaos.com/emacs/modus-themes. | ||
| 38 | + Git repository: https://git.sr.ht/~protesilaos/modus-themes. | ||
| 39 | + Mailing list: https://lists.sr.ht/~protesilaos/modus-themes. | ||
| 40 | |||
| 37 | #+toc: headlines 8 insert TOC here, with eight headline levels | 41 | #+toc: headlines 8 insert TOC here, with eight headline levels |
| 38 | 42 | ||
| 39 | * COPYING | 43 | * COPYING |
| @@ -165,14 +169,10 @@ The themes are now ready to be used: [[#h:3f3c3728-1b34-437d-9d0c-b110f5b161a9][ | |||
| 165 | The ~modus-themes~ package is available from the GNU ELPA archive, which | 169 | The ~modus-themes~ package is available from the GNU ELPA archive, which |
| 166 | is configured by default. | 170 | is configured by default. |
| 167 | 171 | ||
| 168 | Prior to querying any package archive, make sure to have updated the | 172 | Prior to querying any package archive, make sure to update the index, |
| 169 | index, with {{{kbd(M-x package-refresh-contents)}}}. Then all you need to do | 173 | with {{{kbd(M-x package-refresh-contents)}}}. Then all you need to do |
| 170 | is type {{{kbd(M-x package-install)}}} and specify the ~modus-themes~. | 174 | is type {{{kbd(M-x package-install)}}} and specify the ~modus-themes~. |
| 171 | 175 | ||
| 172 | Note that older versions of the themes used to be distributed as | ||
| 173 | standalone packages. This practice has been discontinued starting with | ||
| 174 | version 1.0.0 of this project. | ||
| 175 | |||
| 176 | Once installed, the themes are ready to be used: [[#h:3f3c3728-1b34-437d-9d0c-b110f5b161a9][Enable and load]]. | 176 | Once installed, the themes are ready to be used: [[#h:3f3c3728-1b34-437d-9d0c-b110f5b161a9][Enable and load]]. |
| 177 | 177 | ||
| 178 | ** Install on GNU/Linux | 178 | ** Install on GNU/Linux |
| @@ -211,6 +211,34 @@ guix package -i emacs-modus-themes | |||
| 211 | 211 | ||
| 212 | They are now ready to be used: [[#h:3f3c3728-1b34-437d-9d0c-b110f5b161a9][Enable and load]]. | 212 | They are now ready to be used: [[#h:3f3c3728-1b34-437d-9d0c-b110f5b161a9][Enable and load]]. |
| 213 | 213 | ||
| 214 | ** Dealing with byte compilation errors | ||
| 215 | :properties: | ||
| 216 | :custom_id: h:e6268471-e847-4c9d-998f-49a83257b7f1 | ||
| 217 | :end: | ||
| 218 | |||
| 219 | From time to time, we receive bug reports pertaining to errors with byte | ||
| 220 | compilation. These seldom have to do with faulty code in the themes: it | ||
| 221 | might be a shortcoming of =package.el=, some regression in the current | ||
| 222 | development target of Emacs, a misconfiguration in an otherwise exotic | ||
| 223 | setup, and the like. | ||
| 224 | |||
| 225 | The common solution with a stable version of Emacs is to: | ||
| 226 | |||
| 227 | 1. Delete the =modus-themes= package. | ||
| 228 | 2. Close the current Emacs session. | ||
| 229 | 3. Install the =modus-themes= again. | ||
| 230 | |||
| 231 | For those building Emacs directly from source, the solution may involve | ||
| 232 | reverting to an earlier commit in emacs.git. | ||
| 233 | |||
| 234 | At any rate, if you encounter such an issue please report it: we will | ||
| 235 | either fix the bug on our end if it is truly ours, or help forward it to | ||
| 236 | the relevant upstream maintainer. Whatever you do, please understand | ||
| 237 | that a build failure does not mean we are necessarily doing something | ||
| 238 | wrong. | ||
| 239 | |||
| 240 | [[#h:6536c8d5-3f98-43ab-a787-b94120e735e8][Issues you can help with]]. | ||
| 241 | |||
| 214 | * Enable and load | 242 | * Enable and load |
| 215 | :properties: | 243 | :properties: |
| 216 | :custom_id: h:3f3c3728-1b34-437d-9d0c-b110f5b161a9 | 244 | :custom_id: h:3f3c3728-1b34-437d-9d0c-b110f5b161a9 |
| @@ -4053,6 +4081,44 @@ comments are gray. Regexp constructs are adapted accordingly. | |||
| 4053 | (set-face-attribute 'font-lock-warning-face nil :inherit 'modus-themes-bold :foreground red-nuanced-fg))) | 4081 | (set-face-attribute 'font-lock-warning-face nil :inherit 'modus-themes-bold :foreground red-nuanced-fg))) |
| 4054 | #+end_src | 4082 | #+end_src |
| 4055 | 4083 | ||
| 4084 | ** Custom hl-todo colors | ||
| 4085 | :PROPERTIES: | ||
| 4086 | :CUSTOM_ID: h:2ef83a21-2f0a-441e-9634-473feb940743 | ||
| 4087 | :END: | ||
| 4088 | |||
| 4089 | The =hl-todo= package provides the user option ~hl-todo-keyword-faces~: | ||
| 4090 | it specifies a pair of keyword and corresponding color value. The Modus | ||
| 4091 | themes configure that option in the interest of legibility. While this | ||
| 4092 | works for our purposes, users may still prefer to apply their custom | ||
| 4093 | values, in which case the following approach is necessary: | ||
| 4094 | |||
| 4095 | #+begin_src emacs-lisp | ||
| 4096 | (defun my-modus-themes-hl-todo-faces () | ||
| 4097 | (setq hl-todo-keyword-faces '(("TODO" . "#ff0000") | ||
| 4098 | ("HACK" . "#ffff00") | ||
| 4099 | ("XXX" . "#00ffff") | ||
| 4100 | ("NOTE" . "#ff00ff")))) | ||
| 4101 | |||
| 4102 | (add-hook 'modus-themes-after-load-theme-hook #'my-modus-themes-hl-todo-faces) | ||
| 4103 | #+end_src | ||
| 4104 | |||
| 4105 | Or include a ~let~ form, if needed: | ||
| 4106 | |||
| 4107 | #+begin_src emacs-lisp | ||
| 4108 | (defun my-modus-themes-hl-todo-faces () | ||
| 4109 | (let ((red "#ff0000") | ||
| 4110 | (blue "#0000ff")) | ||
| 4111 | (setq hl-todo-keyword-faces `(("TODO" . ,blue) | ||
| 4112 | ("HACK" . ,red) | ||
| 4113 | ("XXX" . ,red) | ||
| 4114 | ("NOTE" . ,blue))))) | ||
| 4115 | |||
| 4116 | (add-hook 'modus-themes-after-load-theme-hook #'my-modus-themes-hl-todo-faces) | ||
| 4117 | #+end_src | ||
| 4118 | |||
| 4119 | Normally, we do not touch user options, though this is an exception: | ||
| 4120 | otherwise the defaults are not always legible. | ||
| 4121 | |||
| 4056 | * Face coverage | 4122 | * Face coverage |
| 4057 | :properties: | 4123 | :properties: |
| 4058 | :custom_id: h:a9c8f29d-7f72-4b54-b74b-ddefe15d6a19 | 4124 | :custom_id: h:a9c8f29d-7f72-4b54-b74b-ddefe15d6a19 |
| @@ -4098,6 +4164,7 @@ have lots of extensions, so the "full support" may not be 100% true… | |||
| 4098 | + breakpoint (provided by the built-in {{{file(gdb-mi.el)}}} library) | 4164 | + breakpoint (provided by the built-in {{{file(gdb-mi.el)}}} library) |
| 4099 | + calendar and diary | 4165 | + calendar and diary |
| 4100 | + calfw | 4166 | + calfw |
| 4167 | + calibredb | ||
| 4101 | + centaur-tabs | 4168 | + centaur-tabs |
| 4102 | + cfrs | 4169 | + cfrs |
| 4103 | + change-log and log-view (such as ~vc-print-log~, ~vc-print-root-log~) | 4170 | + change-log and log-view (such as ~vc-print-log~, ~vc-print-root-log~) |
| @@ -4112,6 +4179,7 @@ have lots of extensions, so the "full support" may not be 100% true… | |||
| 4112 | + completions | 4179 | + completions |
| 4113 | + consult | 4180 | + consult |
| 4114 | + corfu | 4181 | + corfu |
| 4182 | + corfu-quick | ||
| 4115 | + counsel* | 4183 | + counsel* |
| 4116 | + counsel-css | 4184 | + counsel-css |
| 4117 | + cov | 4185 | + cov |
| @@ -4146,6 +4214,7 @@ have lots of extensions, so the "full support" may not be 100% true… | |||
| 4146 | + easy-jekyll | 4214 | + easy-jekyll |
| 4147 | + ebdb | 4215 | + ebdb |
| 4148 | + ediff | 4216 | + ediff |
| 4217 | + ein (Emacs IPython Notebook) | ||
| 4149 | + eglot | 4218 | + eglot |
| 4150 | + el-search | 4219 | + el-search |
| 4151 | + eldoc-box | 4220 | + eldoc-box |
| @@ -4344,6 +4413,7 @@ have lots of extensions, so the "full support" may not be 100% true… | |||
| 4344 | + tomatinho | 4413 | + tomatinho |
| 4345 | + transient (pop-up windows such as Magit's) | 4414 | + transient (pop-up windows such as Magit's) |
| 4346 | + trashed | 4415 | + trashed |
| 4416 | + tree-sitter | ||
| 4347 | + treemacs | 4417 | + treemacs |
| 4348 | + tty-menu | 4418 | + tty-menu |
| 4349 | + tuareg | 4419 | + tuareg |
| @@ -4357,6 +4427,7 @@ have lots of extensions, so the "full support" may not be 100% true… | |||
| 4357 | + visible-mark | 4427 | + visible-mark |
| 4358 | + visual-regexp | 4428 | + visual-regexp |
| 4359 | + vterm | 4429 | + vterm |
| 4430 | + vundo | ||
| 4360 | + wcheck-mode | 4431 | + wcheck-mode |
| 4361 | + web-mode | 4432 | + web-mode |
| 4362 | + wgrep | 4433 | + wgrep |
| @@ -4398,6 +4469,7 @@ supported by the themes. | |||
| 4398 | + dtache | 4469 | + dtache |
| 4399 | + easy-kill | 4470 | + easy-kill |
| 4400 | + edit-indirect | 4471 | + edit-indirect |
| 4472 | + egerrit | ||
| 4401 | + elfeed-summary | 4473 | + elfeed-summary |
| 4402 | + evil-owl | 4474 | + evil-owl |
| 4403 | + flyspell-correct | 4475 | + flyspell-correct |
| @@ -4432,40 +4504,6 @@ supported by the themes. | |||
| 4432 | This section covers information that may be of interest to users of | 4504 | This section covers information that may be of interest to users of |
| 4433 | individual packages. | 4505 | individual packages. |
| 4434 | 4506 | ||
| 4435 | ** Note on avy hints | ||
| 4436 | :properties: | ||
| 4437 | :custom_id: h:2fdce705-6de7-44e6-ab7f-18f59af99e01 | ||
| 4438 | :end: | ||
| 4439 | |||
| 4440 | Hints can appear everywhere, in wildly varying contexts, hence, their | ||
| 4441 | appearance, by necessity, is a compromise. However, there are various | ||
| 4442 | options for making them stand out. First is dimming the surroundings: | ||
| 4443 | |||
| 4444 | #+begin_src emacs-lisp | ||
| 4445 | (setq avy-background t) | ||
| 4446 | #+end_src | ||
| 4447 | |||
| 4448 | Dimming works well when you find it difficult to spot hints, any hint. | ||
| 4449 | Second is limiting the number of faces used by hints: | ||
| 4450 | |||
| 4451 | #+begin_src emacs-lisp | ||
| 4452 | (setq avy-lead-faces | ||
| 4453 | '(avy-lead-face | ||
| 4454 | avy-lead-face-1 | ||
| 4455 | avy-lead-face-1 | ||
| 4456 | avy-lead-face-1 | ||
| 4457 | avy-lead-face-1)) | ||
| 4458 | #+end_src | ||
| 4459 | |||
| 4460 | Limiting the number of faces works well with longer hints when you find | ||
| 4461 | it difficult to identify individual hints, especially with hints | ||
| 4462 | touching each other. The first character of the hint will have an | ||
| 4463 | intense color, the remaining ones the same neutral color. | ||
| 4464 | |||
| 4465 | Third is preferring commands that produce fewer candidates. Fewer hints | ||
| 4466 | is less noise: ~avy-goto-char-timer~ is an excellent alternative to | ||
| 4467 | ~avy-goto-char~. | ||
| 4468 | |||
| 4469 | ** Note on calendar.el weekday and weekend colors | 4507 | ** Note on calendar.el weekday and weekend colors |
| 4470 | :properties: | 4508 | :properties: |
| 4471 | :custom_id: h:b2db46fb-32f4-44fd-8e11-d2b261cf51ae | 4509 | :custom_id: h:b2db46fb-32f4-44fd-8e11-d2b261cf51ae |
| @@ -4495,6 +4533,72 @@ weekends uniformly. | |||
| 4495 | For changes to take effect, the Calendar buffer needs to be generated | 4533 | For changes to take effect, the Calendar buffer needs to be generated |
| 4496 | anew. | 4534 | anew. |
| 4497 | 4535 | ||
| 4536 | ** Note on git-gutter in Doom Emacs | ||
| 4537 | :PROPERTIES: | ||
| 4538 | :CUSTOM_ID: h:a195e37c-e58c-4148-b254-8ba1ed8a731a | ||
| 4539 | :END: | ||
| 4540 | |||
| 4541 | The =git-gutter= and =git-gutter-fr= packages default to drawing bitmaps | ||
| 4542 | for the indicators they display (e.g. bitmap of a plus sign for added | ||
| 4543 | lines). In Doom Emacs, these bitmaps are replaced with contiguous lines | ||
| 4544 | which may look nicer, but require a change to the foreground of the | ||
| 4545 | relevant faces to yield the desired colour combinations. | ||
| 4546 | |||
| 4547 | Since this is Doom-specific, we urge users to apply changes in their | ||
| 4548 | local setup. Below is some sample code, based on what we cover at | ||
| 4549 | length elsewhere in this manual: | ||
| 4550 | |||
| 4551 | [[#h:f4651d55-8c07-46aa-b52b-bed1e53463bb][Advanced customization]]. | ||
| 4552 | |||
| 4553 | [[#h:51ba3547-b8c8-40d6-ba5a-4586477fd4ae][Face specs at scale using the themes' palette]]. | ||
| 4554 | |||
| 4555 | #+begin_src emacs-lisp | ||
| 4556 | (defun my-modus-themes-custom-faces () | ||
| 4557 | (modus-themes-with-colors | ||
| 4558 | (custom-set-faces | ||
| 4559 | ;; Replace green with blue if you use `modus-themes-deuteranopia'. | ||
| 4560 | `(git-gutter-fr:added ((,class :foreground ,green-fringe-bg))) | ||
| 4561 | `(git-gutter-fr:deleted ((,class :foreground ,red-fringe-bg))) | ||
| 4562 | `(git-gutter-fr:modified ((,class :foreground ,yellow-fringe-bg)))))) | ||
| 4563 | |||
| 4564 | (add-hook 'modus-themes-after-load-theme-hook #'my-modus-themes-custom-faces) | ||
| 4565 | #+end_src | ||
| 4566 | |||
| 4567 | If the above does not work, try this instead: | ||
| 4568 | |||
| 4569 | #+begin_src emacs-lisp | ||
| 4570 | (after! modus-themes | ||
| 4571 | (modus-themes-with-colors | ||
| 4572 | (custom-set-faces | ||
| 4573 | ;; Replace green with blue if you use `modus-themes-deuteranopia'. | ||
| 4574 | `(git-gutter-fr:added ((,class :foreground ,green-fringe-bg))) | ||
| 4575 | `(git-gutter-fr:deleted ((,class :foreground ,red-fringe-bg))) | ||
| 4576 | `(git-gutter-fr:modified ((,class :foreground ,yellow-fringe-bg)))))) | ||
| 4577 | #+end_src | ||
| 4578 | |||
| 4579 | Replace ~green-fringe-bg~ with ~blue-fringe-bg~ if you want to optimize | ||
| 4580 | for red-green color deficiency. | ||
| 4581 | |||
| 4582 | [[#h:3ed03a48-20d8-4ce7-b214-0eb7e4c79abe][Option for red-green color deficiency or deuteranopia]]. | ||
| 4583 | |||
| 4584 | ** Note on php-mode multiline comments | ||
| 4585 | :PROPERTIES: | ||
| 4586 | :CUSTOM_ID: h:d0a3157b-9c04-46e8-8742-5fb2a7ae8798 | ||
| 4587 | :END: | ||
| 4588 | |||
| 4589 | Depending on your build of Emacs and/or the environment it runs in, | ||
| 4590 | multiline comments in PHP with the =php-mode= package use the | ||
| 4591 | ~font-lock-doc-face~ instead of ~font-lock-comment-face~. | ||
| 4592 | |||
| 4593 | This seems to make all comments use the appropriate face: | ||
| 4594 | |||
| 4595 | #+begin_src emacs-lisp | ||
| 4596 | (defun my-multine-comments () | ||
| 4597 | (setq-local c-doc-face-name 'font-lock-comment-face)) | ||
| 4598 | |||
| 4599 | (add-hook 'php-mode-hook #'my-multine-comments) | ||
| 4600 | #+end_src | ||
| 4601 | |||
| 4498 | ** Note on underlines in compilation buffers | 4602 | ** Note on underlines in compilation buffers |
| 4499 | :properties: | 4603 | :properties: |
| 4500 | :custom_id: h:420f5a33-c7a9-4112-9b04-eaf2cbad96bd | 4604 | :custom_id: h:420f5a33-c7a9-4112-9b04-eaf2cbad96bd |
| @@ -4594,6 +4698,17 @@ elsewhere in this document. For example: | |||
| 4594 | 4698 | ||
| 4595 | [[#h:51ba3547-b8c8-40d6-ba5a-4586477fd4ae][Face specs at scale using the themes' palette]]. | 4699 | [[#h:51ba3547-b8c8-40d6-ba5a-4586477fd4ae][Face specs at scale using the themes' palette]]. |
| 4596 | 4700 | ||
| 4701 | To make the line thicker, set the height to be equal to the base font | ||
| 4702 | size instead of the one pixel we use. This is done by specifying a rate | ||
| 4703 | instead of an absolute number, as in =:height 1.0= versus =:height 1=. | ||
| 4704 | For example: | ||
| 4705 | |||
| 4706 | #+begin_src emacs-lisp | ||
| 4707 | (modus-themes-with-colors | ||
| 4708 | (custom-set-faces | ||
| 4709 | `(fill-column-indicator ((,class :height 1.0 :background ,bg-inactive :foreground ,bg-inactive))))) | ||
| 4710 | #+end_src | ||
| 4711 | |||
| 4597 | ** Note on highlight-parentheses.el | 4712 | ** Note on highlight-parentheses.el |
| 4598 | :PROPERTIES: | 4713 | :PROPERTIES: |
| 4599 | :CUSTOM_ID: h:24bab397-dcb2-421d-aa6e-ec5bd622b913 | 4714 | :CUSTOM_ID: h:24bab397-dcb2-421d-aa6e-ec5bd622b913 |
| @@ -5271,8 +5386,8 @@ and hints of green give us suitable shades of purple. | |||
| 5271 | 5386 | ||
| 5272 | Due to the need of maintaining some difference in hueness between | 5387 | Due to the need of maintaining some difference in hueness between |
| 5273 | adjacent colors, it is not possible to make red, green, and yellow the | 5388 | adjacent colors, it is not possible to make red, green, and yellow the |
| 5274 | primary colors, because blue could not be used to control their | 5389 | main colors, because blue cannot be used to control their luminance and, |
| 5275 | luminance and, thus the relevant space would shrink considerably. | 5390 | thus the relevant space will shrink considerably. |
| 5276 | 5391 | ||
| 5277 | [[#h:5ce7ae2e-9348-4e55-b4cf-9302345b1826][Is the contrast ratio about adjacent colors?]] | 5392 | [[#h:5ce7ae2e-9348-4e55-b4cf-9302345b1826][Is the contrast ratio about adjacent colors?]] |
| 5278 | 5393 | ||
| @@ -5508,8 +5623,8 @@ in which you can contribute to their ongoing development. | |||
| 5508 | 5623 | ||
| 5509 | The ~modus-operandi~ and ~modus-vivendi~ themes are built into Emacs 28. | 5624 | The ~modus-operandi~ and ~modus-vivendi~ themes are built into Emacs 28. |
| 5510 | 5625 | ||
| 5511 | The source code of the themes is [[https://gitlab.com/protesilaos/modus-themes/][available on GitLab]], for the time | 5626 | The source code of the themes is [[https://git.sr.ht/~protesilaos/modus-themes][available on SourceHut]]. Or check the |
| 5512 | being. A [[https://github.com/protesilaos/modus-themes/][mirror on GitHub]] is also on offer. | 5627 | [[https://gitlab.com/protesilaos/modus-themes/][GitLab mirror (former main source)]] and the [[https://github.com/protesilaos/modus-themes/][GitHub mirror]]. |
| 5513 | 5628 | ||
| 5514 | An HTML version of this manual is provided as an extension of the | 5629 | An HTML version of this manual is provided as an extension of the |
| 5515 | [[https://protesilaos.com/emacs/modus-themes/][author's personal website]] (does not rely on any non-free code). | 5630 | [[https://protesilaos.com/emacs/modus-themes/][author's personal website]] (does not rely on any non-free code). |
| @@ -5520,7 +5635,10 @@ An HTML version of this manual is provided as an extension of the | |||
| 5520 | :end: | 5635 | :end: |
| 5521 | #+cindex: Contributing | 5636 | #+cindex: Contributing |
| 5522 | 5637 | ||
| 5523 | A few tasks you can help with: | 5638 | #+findex: modus-themes-report-bug |
| 5639 | A few tasks you can help with by sending an email to the general | ||
| 5640 | [[https://lists.sr.ht/~protesilaos/modus-themes][modus-themes public mailing list]] (or use the command | ||
| 5641 | ~modus-themes-report-bug~). | ||
| 5524 | 5642 | ||
| 5525 | + Suggest refinements to packages that are covered. | 5643 | + Suggest refinements to packages that are covered. |
| 5526 | + Report packages not covered thus far. | 5644 | + Report packages not covered thus far. |
| @@ -5528,7 +5646,8 @@ A few tasks you can help with: | |||
| 5528 | + Help expand the documentation of covered-but-not-styled packages. | 5646 | + Help expand the documentation of covered-but-not-styled packages. |
| 5529 | + Suggest refinements to the color palette. | 5647 | + Suggest refinements to the color palette. |
| 5530 | + Help expand this document or any other piece of documentation. | 5648 | + Help expand this document or any other piece of documentation. |
| 5531 | + Merge requests for code refinements. | 5649 | + Send patches for code refinements (if you need, ask me for help with |
| 5650 | Git---we all start out as beginners). | ||
| 5532 | 5651 | ||
| 5533 | [[#h:111773e2-f26f-4b68-8c4f-9794ca6b9633][Patches require copyright assignment to the FSF]]. | 5652 | [[#h:111773e2-f26f-4b68-8c4f-9794ca6b9633][Patches require copyright assignment to the FSF]]. |
| 5534 | 5653 | ||
| @@ -5536,6 +5655,10 @@ It is preferable that your feedback includes some screenshots, GIFs, or | |||
| 5536 | short videos, as well as further instructions to reproduce a given | 5655 | short videos, as well as further instructions to reproduce a given |
| 5537 | setup. Though this is not a requirement. | 5656 | setup. Though this is not a requirement. |
| 5538 | 5657 | ||
| 5658 | #+findex: modus-themes-version | ||
| 5659 | Also consider mentioning the version of the themes you are using, such | ||
| 5660 | as by invoking the command ~modus-themes-version~. | ||
| 5661 | |||
| 5539 | Whatever you do, bear in mind the overarching objective of the Modus | 5662 | Whatever you do, bear in mind the overarching objective of the Modus |
| 5540 | themes: to keep a contrast ratio that is greater or equal to 7:1 between | 5663 | themes: to keep a contrast ratio that is greater or equal to 7:1 between |
| 5541 | background and foreground colors. If a compromise is ever necessary | 5664 | background and foreground colors. If a compromise is ever necessary |
| @@ -5567,7 +5690,7 @@ will send you the assignment form for your past and future changes. | |||
| 5567 | 5690 | ||
| 5568 | Please use your full legal name (in ASCII characters) as the subject | 5691 | Please use your full legal name (in ASCII characters) as the subject |
| 5569 | line of the message. | 5692 | line of the message. |
| 5570 | ---------------------------------------------------------------------- | 5693 | |
| 5571 | REQUEST: SEND FORM FOR PAST AND FUTURE CHANGES | 5694 | REQUEST: SEND FORM FOR PAST AND FUTURE CHANGES |
| 5572 | 5695 | ||
| 5573 | [What is the name of the program or package you're contributing to?] | 5696 | [What is the name of the program or package you're contributing to?] |
| @@ -5619,41 +5742,44 @@ The Modus themes are a collective effort. Every bit of work matters. | |||
| 5619 | Johansson, Basil L.{{{space()}}} Contovounesios, Björn Lindström, | 5742 | Johansson, Basil L.{{{space()}}} Contovounesios, Björn Lindström, |
| 5620 | Carlo Zancanaro, Christian Tietze, Daniel Mendler, Eli Zaretskii, | 5743 | Carlo Zancanaro, Christian Tietze, Daniel Mendler, Eli Zaretskii, |
| 5621 | Fritz Grabo, Illia Ostapyshyn, Kévin Le Gouguec, Kostadin Ninev, | 5744 | Fritz Grabo, Illia Ostapyshyn, Kévin Le Gouguec, Kostadin Ninev, |
| 5622 | Madhavan Krishnan, Markus Beppler, Matthew Stevenson, Mauro Aranda, | 5745 | Madhavan Krishnan, Manuel Giraud, Markus Beppler, Matthew Stevenson, |
| 5623 | Nicolas De Jaeghere, Philip Kaludercic, Pierre Téchoueyres, Rudolf | 5746 | Mauro Aranda, Nicolas De Jaeghere, Philip Kaludercic, Pierre |
| 5624 | Adamkovič, Stephen Gildea, Shreyas Ragavan, Stefan Kangas, Utkarsh | 5747 | Téchoueyres, Rudolf Adamkovič, Stephen Gildea, Shreyas Ragavan, Stefan |
| 5625 | Singh, Vincent Murphy, Xinglu Chen, Yuanchen Xie. | 5748 | Kangas, Utkarsh Singh, Vincent Murphy, Xinglu Chen, Yuanchen Xie. |
| 5626 | 5749 | ||
| 5627 | + Ideas and user feedback :: Aaron Jensen, Adam Porter, Adam Spiers, | 5750 | + Ideas and user feedback :: Aaron Jensen, Adam Porter, Adam Spiers, |
| 5628 | Adrian Manea, Alex Griffin, Alex Koen, Alex Peitsinis, Alexey Shmalko, | 5751 | Adrian Manea, Alex Griffin, Alex Koen, Alex Peitsinis, Alexey Shmalko, |
| 5629 | Alok Singh, Anders Johansson, André Alexandre Gomes, Antonio Hernández | 5752 | Alok Singh, Anders Johansson, André Alexandre Gomes, Andrew Tropin, |
| 5630 | Blas, Arif Rezai, Augusto Stoffel, Basil L.{{{space()}}} | 5753 | Antonio Hernández Blas, Arif Rezai, Augusto Stoffel, Basil |
| 5631 | Contovounesios, Burgess Chang, Christian Tietze, Christopher Dimech, | 5754 | L.{{{space()}}} Contovounesios, Burgess Chang, Christian Tietze, |
| 5632 | Damien Cassou, Daniel Mendler, Dario Gjorgjevski, David Edmondson, | 5755 | Christopher Dimech, Christopher League, Damien Cassou, Daniel Mendler, |
| 5633 | Davor Rotim, Divan Santana, Eliraz Kedmi, Emanuele Michele Alberto | 5756 | Dario Gjorgjevski, David Edmondson, Davor Rotim, Divan Santana, Eliraz |
| 5634 | Monterosso, Farasha Euker, Feng Shu, Gautier Ponsinet, Gerry Agbobada, | 5757 | Kedmi, Emanuele Michele Alberto Monterosso, Farasha Euker, Feng Shu, |
| 5635 | Gianluca Recchia, Guilherme Semente, Gustavo Barros, Hörmetjan Yiltiz, | 5758 | Gautier Ponsinet, Gerry Agbobada, Gianluca Recchia, Gonçalo Marrafa, |
| 5636 | Ilja Kocken, Iris Garcia, Jeremy Friesen, Jerry Zhang, Johannes | 5759 | Guilherme Semente, Gustavo Barros, Hörmetjan Yiltiz, Ilja Kocken, Iris |
| 5637 | Grødem, John Haman, Jorge Morais, Joshua O'Connor, Julio | 5760 | Garcia, Ivan Popovych, Jeremy Friesen, Jerry Zhang, Johannes Grødem, |
| 5638 | C. Villasante, Kenta Usami, Kevin Fleming, Kévin Le Gouguec, Kostadin | 5761 | John Haman, Jorge Morais, Joshua O'Connor, Julio C. Villasante, Kenta |
| 5639 | Ninev, Len Trigg, Lennart C. Karssen, Magne Hov, Manuel Uberti, Mark | 5762 | Usami, Kevin Fleming, Kévin Le Gouguec, Kostadin Ninev, Len Trigg, |
| 5640 | Bestley, Mark Burton, Markus Beppler, Mauro Aranda, Michael | 5763 | Lennart C. Karssen, Magne Hov, Manuel Uberti, Mark Bestley, Mark |
| 5764 | Burton, Markus Beppler, Mauro Aranda, Maxime Tréca, Michael | ||
| 5641 | Goldenberg, Morgan Smith, Morgan Willcock, Murilo Pereira, Nicky van | 5765 | Goldenberg, Morgan Smith, Morgan Willcock, Murilo Pereira, Nicky van |
| 5642 | Foreest, Nicolas De Jaeghere, Paul Poloskov, Pengji Zhang, Pete | 5766 | Foreest, Nicolas De Jaeghere, Paul Poloskov, Pengji Zhang, Pete |
| 5643 | Kazmier, Peter Wu, Philip Kaludercic, Pierre Téchoueyres, Robert | 5767 | Kazmier, Peter Wu, Philip Kaludercic, Pierre Téchoueyres, Przemysław |
| 5644 | Hepple, Roman Rudakov, Ryan Phillips, Rytis Paškauskas, Rudolf | 5768 | Kryger, Robert Hepple, Roman Rudakov, Ryan Phillips, Rytis Paškauskas, |
| 5645 | Adamkovič, Sam Kleinman, Samuel Culpepper, Saša Janiška, Shreyas | 5769 | Rudolf Adamkovič, Sam Kleinman, Samuel Culpepper, Saša Janiška, |
| 5646 | Ragavan, Simon Pugnet, Tassilo Horn, Thibaut Verron, Thomas Heartman, | 5770 | Shreyas Ragavan, Simon Pugnet, Tassilo Horn, Thibaut Verron, Thomas |
| 5647 | Togan Muftuoglu, Tony Zorman, Trey Merkley, Tomasz Hołubowicz, Toon | 5771 | Heartman, Togan Muftuoglu, Tony Zorman, Trey Merkley, Tomasz |
| 5648 | Claes, Uri Sharf, Utkarsh Singh, Vincent Foley. As well as users: | 5772 | Hołubowicz, Toon Claes, Uri Sharf, Utkarsh Singh, Vincent Foley. As |
| 5649 | Ben, CsBigDataHub1, Emacs Contrib, Eugene, Fourchaux, Fredrik, | 5773 | well as users: Ben, CsBigDataHub1, Emacs Contrib, Eugene, Fourchaux, |
| 5650 | Moesasji, Nick, TheBlob42, Trey, bepolymathe, bit9tream, derek-upham, | 5774 | Fredrik, Moesasji, Nick, TheBlob42, Trey, bepolymathe, bit9tream, |
| 5651 | doolio, fleimgruber, gitrj95, iSeeU, jixiuf, okamsn, pRot0ta1p. | 5775 | derek-upham, doolio, fleimgruber, gitrj95, iSeeU, jixiuf, okamsn, |
| 5652 | 5776 | pRot0ta1p. | |
| 5653 | + Packaging :: Basil L.{{{space()}}} Contovounesios, Eli Zaretskii, Glenn | 5777 | |
| 5654 | Morris, Mauro Aranda, Richard Stallman, Stefan Kangas (core Emacs), | 5778 | + Packaging :: Basil L.{{{space()}}} Contovounesios, Eli Zaretskii, |
| 5655 | Stefan Monnier (GNU Elpa), André Alexandre Gomes, Dimakakos Dimos, | 5779 | Glenn Morris, Mauro Aranda, Richard Stallman, Stefan Kangas (core |
| 5656 | Morgan Smith, Nicolas Goaziou (Guix), Dhavan Vaidya (Debian). | 5780 | Emacs), Stefan Monnier (GNU Elpa), André Alexandre Gomes, Andrew |
| 5781 | Tropin, Dimakakos Dimos, Morgan Smith, Nicolas Goaziou (Guix), Dhavan | ||
| 5782 | Vaidya (Debian). | ||
| 5657 | 5783 | ||
| 5658 | + Inspiration for certain features :: Bozhidar Batsov (zenburn-theme), | 5784 | + Inspiration for certain features :: Bozhidar Batsov (zenburn-theme), |
| 5659 | Fabrice Niessen (leuven-theme). | 5785 | Fabrice Niessen (leuven-theme). |
| @@ -5663,7 +5789,7 @@ Jaeghere, and Omar Antolín Camarena for their long time contributions | |||
| 5663 | and insightful commentary on key aspects of the themes' design and/or | 5789 | and insightful commentary on key aspects of the themes' design and/or |
| 5664 | aspects of their functionality. | 5790 | aspects of their functionality. |
| 5665 | 5791 | ||
| 5666 | * Meta | 5792 | * Other notes about the project |
| 5667 | :properties: | 5793 | :properties: |
| 5668 | :custom_id: h:13752581-4378-478c-af17-165b6e76bc1b | 5794 | :custom_id: h:13752581-4378-478c-af17-165b6e76bc1b |
| 5669 | :end: | 5795 | :end: |
| @@ -5688,12 +5814,16 @@ of this sort): | |||
| 5688 | + [[https://protesilaos.com/codelog/2021-06-02-modus-themes-org-agenda/][Introducing the variable modus-themes-org-agenda]] (2021-06-02) | 5814 | + [[https://protesilaos.com/codelog/2021-06-02-modus-themes-org-agenda/][Introducing the variable modus-themes-org-agenda]] (2021-06-02) |
| 5689 | + [[https://protesilaos.com/codelog/2022-01-02-review-modus-themes-org-habit-colours/][Modus themes: review of the org-habit graph colours]] (2022-01-02) | 5815 | + [[https://protesilaos.com/codelog/2022-01-02-review-modus-themes-org-habit-colours/][Modus themes: review of the org-habit graph colours]] (2022-01-02) |
| 5690 | + [[https://protesilaos.com/codelog/2022-01-03-modus-themes-port-faq/][Re: VSCode or Vim ports of the Emacs modus-themes?]] (2022-01-03) | 5816 | + [[https://protesilaos.com/codelog/2022-01-03-modus-themes-port-faq/][Re: VSCode or Vim ports of the Emacs modus-themes?]] (2022-01-03) |
| 5817 | + [[https://protesilaos.com/codelog/2022-04-20-modus-themes-case-study-avy/][Modus themes: case study on Avy faces and colour combinations]] (2022-04-20) | ||
| 5818 | + [[https://protesilaos.com/codelog/2022-04-21-modus-themes-colour-theory/][Emacs: colour theory and techniques used in the Modus themes]] (2022-04-21) | ||
| 5691 | 5819 | ||
| 5692 | And here are the canonical sources of this project's documentation: | 5820 | And here are the canonical sources of this project: |
| 5693 | 5821 | ||
| 5694 | + Manual :: <https://protesilaos.com/emacs/modus-themes> | 5822 | + Manual :: <https://protesilaos.com/emacs/modus-themes> |
| 5695 | + Change Log :: <https://protesilaos.com/emacs/modus-themes-changelog> | 5823 | + Change Log :: <https://protesilaos.com/emacs/modus-themes-changelog> |
| 5696 | + Screenshots :: <https://protesilaos.com/emacs/modus-themes-pictures> | 5824 | + Screenshots :: <https://protesilaos.com/emacs/modus-themes-pictures> |
| 5825 | + Git repository :: https://git.sr.ht/~protesilaos/modus-themes | ||
| 5826 | + Mailing list :: https://lists.sr.ht/~protesilaos/modus-themes | ||
| 5697 | 5827 | ||
| 5698 | * GNU Free Documentation License | 5828 | * GNU Free Documentation License |
| 5699 | :properties: | 5829 | :properties: |
diff --git a/etc/themes/modus-operandi-theme.el b/etc/themes/modus-operandi-theme.el index be80b394102..646504636f0 100644 --- a/etc/themes/modus-operandi-theme.el +++ b/etc/themes/modus-operandi-theme.el | |||
| @@ -3,8 +3,8 @@ | |||
| 3 | ;; Copyright (C) 2019-2022 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2019-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> | 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> |
| 6 | ;; URL: https://gitlab.com/protesilaos/modus-themes | 6 | ;; URL: https://git.sr.ht/~protesilaos/modus-themes |
| 7 | ;; Version: 2.3.0 | 7 | ;; Version: 2.4.1 |
| 8 | ;; Package-Requires: ((emacs "27.1")) | 8 | ;; Package-Requires: ((emacs "27.1")) |
| 9 | ;; Keywords: faces, theme, accessibility | 9 | ;; Keywords: faces, theme, accessibility |
| 10 | 10 | ||
diff --git a/etc/themes/modus-themes.el b/etc/themes/modus-themes.el index 1c522239508..f068e4a214d 100644 --- a/etc/themes/modus-themes.el +++ b/etc/themes/modus-themes.el | |||
| @@ -3,9 +3,9 @@ | |||
| 3 | ;; Copyright (C) 2019-2022 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2019-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> | 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> |
| 6 | ;; URL: https://gitlab.com/protesilaos/modus-themes | 6 | ;; URL: https://git.sr.ht/~protesilaos/modus-themes |
| 7 | ;; Version: 2.3.0 | 7 | ;; Mailing list: https://lists.sr.ht/~protesilaos/modus-themes |
| 8 | ;; Last-Modified: <2022-04-01 12:33:34 +0300> | 8 | ;; Version: 2.4.1 |
| 9 | ;; Package-Requires: ((emacs "27.1")) | 9 | ;; Package-Requires: ((emacs "27.1")) |
| 10 | ;; Keywords: faces, theme, accessibility | 10 | ;; Keywords: faces, theme, accessibility |
| 11 | 11 | ||
| @@ -68,306 +68,8 @@ | |||
| 68 | ;; modus-themes-operandi-color-overrides (alist) | 68 | ;; modus-themes-operandi-color-overrides (alist) |
| 69 | ;; modus-themes-vivendi-color-overrides (alist) | 69 | ;; modus-themes-vivendi-color-overrides (alist) |
| 70 | ;; | 70 | ;; |
| 71 | ;; Below is the list of explicitly supported packages or face groups | 71 | ;; Check the manual for all supported packages (there are hundreds of |
| 72 | ;; (there are implicitly supported packages as well, which inherit from | 72 | ;; them). |
| 73 | ;; font-lock or some basic group). You are encouraged to report any | ||
| 74 | ;; missing package or change you would like to see. | ||
| 75 | ;; | ||
| 76 | ;; ace-window | ||
| 77 | ;; alert | ||
| 78 | ;; all-the-icons | ||
| 79 | ;; all-the-icons-dired | ||
| 80 | ;; all-the-icons-ibuffer | ||
| 81 | ;; annotate | ||
| 82 | ;; ansi-color | ||
| 83 | ;; anzu | ||
| 84 | ;; apropos | ||
| 85 | ;; artbollocks-mode | ||
| 86 | ;; auctex and TeX | ||
| 87 | ;; auto-dim-other-buffers | ||
| 88 | ;; avy | ||
| 89 | ;; awesome-tray | ||
| 90 | ;; bbdb | ||
| 91 | ;; binder | ||
| 92 | ;; bm | ||
| 93 | ;; bongo | ||
| 94 | ;; boon | ||
| 95 | ;; bookmark | ||
| 96 | ;; breakpoint (provided by built-in gdb-mi.el) | ||
| 97 | ;; calendar and diary | ||
| 98 | ;; calfw | ||
| 99 | ;; centaur-tabs | ||
| 100 | ;; cfrs | ||
| 101 | ;; change-log and log-view (`vc-print-log' and `vc-print-root-log') | ||
| 102 | ;; cider | ||
| 103 | ;; circe | ||
| 104 | ;; citar | ||
| 105 | ;; color-rg | ||
| 106 | ;; column-enforce-mode | ||
| 107 | ;; company-mode | ||
| 108 | ;; company-posframe | ||
| 109 | ;; compilation-mode | ||
| 110 | ;; completions | ||
| 111 | ;; consult | ||
| 112 | ;; corfu | ||
| 113 | ;; counsel | ||
| 114 | ;; counsel-css | ||
| 115 | ;; cov | ||
| 116 | ;; cperl-mode | ||
| 117 | ;; css-mode | ||
| 118 | ;; csv-mode | ||
| 119 | ;; ctrlf | ||
| 120 | ;; cursor-flash | ||
| 121 | ;; custom (M-x customize) | ||
| 122 | ;; dap-mode | ||
| 123 | ;; dashboard (emacs-dashboard) | ||
| 124 | ;; deadgrep | ||
| 125 | ;; debbugs | ||
| 126 | ;; deft | ||
| 127 | ;; devdocs | ||
| 128 | ;; dictionary | ||
| 129 | ;; diff-hl | ||
| 130 | ;; diff-mode | ||
| 131 | ;; dim-autoload | ||
| 132 | ;; dir-treeview | ||
| 133 | ;; Dired | ||
| 134 | ;; dired-async | ||
| 135 | ;; dired-git | ||
| 136 | ;; dired-git-info | ||
| 137 | ;; dired-narrow | ||
| 138 | ;; dired-subtree | ||
| 139 | ;; diredfl | ||
| 140 | ;; diredp (dired+) | ||
| 141 | ;; display-fill-column-indicator-mode | ||
| 142 | ;; doom-modeline | ||
| 143 | ;; dynamic-ruler | ||
| 144 | ;; easy-jekyll | ||
| 145 | ;; ebdb | ||
| 146 | ;; ediff | ||
| 147 | ;; eglot | ||
| 148 | ;; el-search | ||
| 149 | ;; eldoc | ||
| 150 | ;; eldoc-box | ||
| 151 | ;; elfeed | ||
| 152 | ;; elfeed-score | ||
| 153 | ;; elpher | ||
| 154 | ;; embark | ||
| 155 | ;; ement (ement.el) | ||
| 156 | ;; emms | ||
| 157 | ;; enh-ruby-mode (enhanced-ruby-mode) | ||
| 158 | ;; epa | ||
| 159 | ;; equake | ||
| 160 | ;; erc | ||
| 161 | ;; eros | ||
| 162 | ;; ert | ||
| 163 | ;; eshell | ||
| 164 | ;; eshell-fringe-status | ||
| 165 | ;; eshell-git-prompt | ||
| 166 | ;; eshell-prompt-extras (epe) | ||
| 167 | ;; eshell-syntax-highlighting | ||
| 168 | ;; evil (evil-mode) | ||
| 169 | ;; evil-goggles | ||
| 170 | ;; evil-snipe | ||
| 171 | ;; evil-visual-mark-mode | ||
| 172 | ;; eww | ||
| 173 | ;; exwm | ||
| 174 | ;; eyebrowse | ||
| 175 | ;; fancy-dabbrev | ||
| 176 | ;; flycheck | ||
| 177 | ;; flycheck-color-mode-line | ||
| 178 | ;; flycheck-indicator | ||
| 179 | ;; flycheck-posframe | ||
| 180 | ;; flymake | ||
| 181 | ;; flyspell | ||
| 182 | ;; flx | ||
| 183 | ;; freeze-it | ||
| 184 | ;; frog-menu | ||
| 185 | ;; focus | ||
| 186 | ;; fold-this | ||
| 187 | ;; font-lock (generic syntax highlighting) | ||
| 188 | ;; forge | ||
| 189 | ;; fountain (fountain-mode) | ||
| 190 | ;; geiser | ||
| 191 | ;; git-commit | ||
| 192 | ;; git-gutter (and variants) | ||
| 193 | ;; git-rebase | ||
| 194 | ;; git-timemachine | ||
| 195 | ;; gnus | ||
| 196 | ;; gotest | ||
| 197 | ;; golden-ratio-scroll-screen | ||
| 198 | ;; helm | ||
| 199 | ;; helm-ls-git | ||
| 200 | ;; helm-switch-shell | ||
| 201 | ;; helm-xref | ||
| 202 | ;; helpful | ||
| 203 | ;; highlight-indentation | ||
| 204 | ;; highlight-numbers | ||
| 205 | ;; highlight-thing | ||
| 206 | ;; hl-defined | ||
| 207 | ;; hl-fill-column | ||
| 208 | ;; hl-line-mode | ||
| 209 | ;; hl-todo | ||
| 210 | ;; hydra | ||
| 211 | ;; ibuffer | ||
| 212 | ;; icomplete | ||
| 213 | ;; ido-mode | ||
| 214 | ;; iedit | ||
| 215 | ;; iflipb | ||
| 216 | ;; image-dired | ||
| 217 | ;; imenu-list | ||
| 218 | ;; indium | ||
| 219 | ;; info | ||
| 220 | ;; info-colors | ||
| 221 | ;; interaction-log | ||
| 222 | ;; ioccur | ||
| 223 | ;; isearch, occur, etc. | ||
| 224 | ;; ivy | ||
| 225 | ;; ivy-posframe | ||
| 226 | ;; jira (org-jira) | ||
| 227 | ;; journalctl-mode | ||
| 228 | ;; js2-mode | ||
| 229 | ;; julia | ||
| 230 | ;; jupyter | ||
| 231 | ;; kaocha-runner | ||
| 232 | ;; keycast | ||
| 233 | ;; ledger-mode | ||
| 234 | ;; line numbers (`display-line-numbers-mode' and global variant) | ||
| 235 | ;; lsp-mode | ||
| 236 | ;; lsp-ui | ||
| 237 | ;; macrostep | ||
| 238 | ;; magit | ||
| 239 | ;; magit-imerge | ||
| 240 | ;; make-mode | ||
| 241 | ;; man | ||
| 242 | ;; marginalia | ||
| 243 | ;; markdown-mode | ||
| 244 | ;; markup-faces (`adoc-mode') | ||
| 245 | ;; mct | ||
| 246 | ;; mentor | ||
| 247 | ;; messages | ||
| 248 | ;; mini-modeline | ||
| 249 | ;; minimap | ||
| 250 | ;; mmm-mode | ||
| 251 | ;; mode-line | ||
| 252 | ;; mood-line | ||
| 253 | ;; mpdel | ||
| 254 | ;; mu4e | ||
| 255 | ;; multiple-cursors | ||
| 256 | ;; nano-modeline | ||
| 257 | ;; neotree | ||
| 258 | ;; notmuch | ||
| 259 | ;; num3-mode | ||
| 260 | ;; nxml-mode | ||
| 261 | ;; orderless | ||
| 262 | ;; org | ||
| 263 | ;; org-journal | ||
| 264 | ;; org-noter | ||
| 265 | ;; org-pomodoro | ||
| 266 | ;; org-recur | ||
| 267 | ;; org-roam | ||
| 268 | ;; org-superstar | ||
| 269 | ;; org-table-sticky-header | ||
| 270 | ;; org-tree-slide | ||
| 271 | ;; org-treescope | ||
| 272 | ;; origami | ||
| 273 | ;; outline-mode | ||
| 274 | ;; outline-minor-faces | ||
| 275 | ;; package (M-x list-packages) | ||
| 276 | ;; page-break-lines | ||
| 277 | ;; pandoc-mode | ||
| 278 | ;; paradox | ||
| 279 | ;; paren-face | ||
| 280 | ;; pass | ||
| 281 | ;; pdf-tools | ||
| 282 | ;; persp-mode | ||
| 283 | ;; perspective | ||
| 284 | ;; phi-grep | ||
| 285 | ;; pomidor | ||
| 286 | ;; popup | ||
| 287 | ;; powerline | ||
| 288 | ;; powerline-evil | ||
| 289 | ;; prism (see "Note for prism.el" in the manual) | ||
| 290 | ;; proced | ||
| 291 | ;; prodigy | ||
| 292 | ;; pulse | ||
| 293 | ;; pyim | ||
| 294 | ;; quick-peek | ||
| 295 | ;; racket-mode | ||
| 296 | ;; rainbow-blocks | ||
| 297 | ;; rainbow-delimiters | ||
| 298 | ;; rcirc | ||
| 299 | ;; recursion-indicator | ||
| 300 | ;; regexp-builder (also known as `re-builder') | ||
| 301 | ;; rg | ||
| 302 | ;; ripgrep | ||
| 303 | ;; rmail | ||
| 304 | ;; ruler-mode | ||
| 305 | ;; selectrum | ||
| 306 | ;; selectrum-prescient | ||
| 307 | ;; semantic | ||
| 308 | ;; sesman | ||
| 309 | ;; shell-script-mode | ||
| 310 | ;; shortdoc | ||
| 311 | ;; show-paren-mode | ||
| 312 | ;; shr | ||
| 313 | ;; side-notes | ||
| 314 | ;; sieve-mode | ||
| 315 | ;; skewer-mode | ||
| 316 | ;; slime (sldb) | ||
| 317 | ;; sly | ||
| 318 | ;; smart-mode-line | ||
| 319 | ;; smartparens | ||
| 320 | ;; smerge | ||
| 321 | ;; spaceline | ||
| 322 | ;; speedbar | ||
| 323 | ;; stripes | ||
| 324 | ;; suggest | ||
| 325 | ;; switch-window | ||
| 326 | ;; swiper | ||
| 327 | ;; sx | ||
| 328 | ;; symbol-overlay | ||
| 329 | ;; syslog-mode | ||
| 330 | ;; tab-bar-groups | ||
| 331 | ;; tab-bar-mode | ||
| 332 | ;; tab-line-mode | ||
| 333 | ;; table (built-in table.el) | ||
| 334 | ;; telega | ||
| 335 | ;; telephone-line | ||
| 336 | ;; terraform-mode | ||
| 337 | ;; term | ||
| 338 | ;; textsec | ||
| 339 | ;; tomatinho | ||
| 340 | ;; transient (pop-up windows like Magit's) | ||
| 341 | ;; trashed | ||
| 342 | ;; treemacs | ||
| 343 | ;; tty-menu | ||
| 344 | ;; tuareg | ||
| 345 | ;; typescript | ||
| 346 | ;; undo-tree | ||
| 347 | ;; vc (vc-dir.el, vc-hooks.el) | ||
| 348 | ;; vc-annotate (C-x v g) | ||
| 349 | ;; vertico | ||
| 350 | ;; vertico-quick | ||
| 351 | ;; vimish-fold | ||
| 352 | ;; visible-mark | ||
| 353 | ;; visual-regexp | ||
| 354 | ;; vterm | ||
| 355 | ;; wcheck-mode | ||
| 356 | ;; web-mode | ||
| 357 | ;; wgrep | ||
| 358 | ;; which-function-mode | ||
| 359 | ;; which-key | ||
| 360 | ;; whitespace-mode | ||
| 361 | ;; window-divider-mode | ||
| 362 | ;; winum | ||
| 363 | ;; writegood-mode | ||
| 364 | ;; woman | ||
| 365 | ;; xah-elisp-mode | ||
| 366 | ;; xref | ||
| 367 | ;; xterm-color (and ansi-colors) | ||
| 368 | ;; yaml-mode | ||
| 369 | ;; yasnippet | ||
| 370 | ;; ztree | ||
| 371 | ;; | 73 | ;; |
| 372 | ;; For a complete view of the project, also refer to the following files | 74 | ;; For a complete view of the project, also refer to the following files |
| 373 | ;; (should be distributed in the same repository/directory as the | 75 | ;; (should be distributed in the same repository/directory as the |
| @@ -383,7 +85,6 @@ | |||
| 383 | (eval-when-compile | 85 | (eval-when-compile |
| 384 | (require 'cl-lib) | 86 | (require 'cl-lib) |
| 385 | (require 'subr-x)) | 87 | (require 'subr-x)) |
| 386 | (require 'seq) | ||
| 387 | 88 | ||
| 388 | (defgroup modus-themes () | 89 | (defgroup modus-themes () |
| 389 | "Options for `modus-operandi', `modus-vivendi'. | 90 | "Options for `modus-operandi', `modus-vivendi'. |
| @@ -407,6 +108,36 @@ cover the blue-cyan-magenta side of the spectrum." | |||
| 407 | :prefix "modus-themes-" | 108 | :prefix "modus-themes-" |
| 408 | :tag "Modus Themes Faces") | 109 | :tag "Modus Themes Faces") |
| 409 | 110 | ||
| 111 | (defvar modus-themes--version "2.5.0-dev" | ||
| 112 | "Current version of the Modus themes. | ||
| 113 | |||
| 114 | The version either is the last tagged release, such as '2.4.0', | ||
| 115 | or an in-development version like '2.5.0-dev'. As we use | ||
| 116 | semantic versioning, tags of the '2.4.1' sort are not reported: | ||
| 117 | those would count as part of '2.5.0-dev'.") | ||
| 118 | |||
| 119 | ;;;###autoload | ||
| 120 | (defun modus-themes-version (&optional insert) | ||
| 121 | "Print `modus-themes--version' in the echo area. | ||
| 122 | If optional INSERT argument is provided from Lisp or as a prefix | ||
| 123 | argument, insert the `modus-themes--version' at point." | ||
| 124 | (interactive "P") | ||
| 125 | (if-let ((version modus-themes--version) | ||
| 126 | ((or insert current-prefix-arg))) | ||
| 127 | (insert version) | ||
| 128 | (message version))) | ||
| 129 | |||
| 130 | ;;;###autoload | ||
| 131 | (defun modus-themes-report-bug () | ||
| 132 | "Submit a bug report or issue to the Modus themes developers." | ||
| 133 | (interactive) | ||
| 134 | (reporter-submit-bug-report | ||
| 135 | "~protesilaos/modus-themes@lists.sr.ht" | ||
| 136 | (format "modus-themes (%s)\n" modus-themes--version) | ||
| 137 | ;; I am just getting started with this. Let's first see what people | ||
| 138 | ;; think about it. | ||
| 139 | nil nil nil nil)) | ||
| 140 | |||
| 410 | ;;; Variables for each theme variant | 141 | ;;; Variables for each theme variant |
| 411 | 142 | ||
| 412 | ;;;; Modus Operandi | 143 | ;;;; Modus Operandi |
| @@ -561,7 +292,8 @@ cover the blue-cyan-magenta side of the spectrum." | |||
| 561 | ;; while bg-tab-inactive should be combined with fg-dim, whereas | 292 | ;; while bg-tab-inactive should be combined with fg-dim, whereas |
| 562 | ;; bg-tab-inactive-alt goes together with fg-main | 293 | ;; bg-tab-inactive-alt goes together with fg-main |
| 563 | ;; | 294 | ;; |
| 564 | ;; bg-completion-* variants are meant to be combined with fg-main | 295 | ;; bg-completion-* and bg-char-* variants are meant to be combined |
| 296 | ;; with fg-main | ||
| 565 | ;; | 297 | ;; |
| 566 | ;; fg-escape-char-construct and fg-escape-char-backslash can | 298 | ;; fg-escape-char-construct and fg-escape-char-backslash can |
| 567 | ;; be combined bg-main, bg-dim, bg-alt | 299 | ;; be combined bg-main, bg-dim, bg-alt |
| @@ -595,6 +327,10 @@ cover the blue-cyan-magenta side of the spectrum." | |||
| 595 | (bg-completion . "#b7dbff") | 327 | (bg-completion . "#b7dbff") |
| 596 | (bg-completion-subtle . "#def3ff") | 328 | (bg-completion-subtle . "#def3ff") |
| 597 | 329 | ||
| 330 | (bg-char-0 . "#7feaff") | ||
| 331 | (bg-char-1 . "#ffaaff") | ||
| 332 | (bg-char-2 . "#dff000") | ||
| 333 | |||
| 598 | (bg-tab-active . "#f6f6f6") | 334 | (bg-tab-active . "#f6f6f6") |
| 599 | (bg-tab-inactive . "#b7b7b7") | 335 | (bg-tab-inactive . "#b7b7b7") |
| 600 | (bg-tab-inactive-accent . "#a9b4f6") | 336 | (bg-tab-inactive-accent . "#a9b4f6") |
| @@ -807,7 +543,8 @@ symbol and the latter as a string.") | |||
| 807 | ;; while bg-tab-inactive should be combined with fg-dim, whereas | 543 | ;; while bg-tab-inactive should be combined with fg-dim, whereas |
| 808 | ;; bg-tab-inactive-alt goes together with fg-main | 544 | ;; bg-tab-inactive-alt goes together with fg-main |
| 809 | ;; | 545 | ;; |
| 810 | ;; bg-completion-* variants are meant to be combined with fg-main | 546 | ;; bg-completion-* and bg-char-* variants are meant to be combined |
| 547 | ;; with fg-main | ||
| 811 | ;; | 548 | ;; |
| 812 | ;; fg-escape-char-construct and fg-escape-char-backslash can | 549 | ;; fg-escape-char-construct and fg-escape-char-backslash can |
| 813 | ;; be combined bg-main, bg-dim, bg-alt | 550 | ;; be combined bg-main, bg-dim, bg-alt |
| @@ -841,6 +578,10 @@ symbol and the latter as a string.") | |||
| 841 | (bg-completion . "#142f69") | 578 | (bg-completion . "#142f69") |
| 842 | (bg-completion-subtle . "#0e194b") | 579 | (bg-completion-subtle . "#0e194b") |
| 843 | 580 | ||
| 581 | (bg-char-0 . "#0050af") | ||
| 582 | (bg-char-1 . "#7f1f7f") | ||
| 583 | (bg-char-2 . "#625a00") | ||
| 584 | |||
| 844 | (bg-tab-active . "#0e0e0e") | 585 | (bg-tab-active . "#0e0e0e") |
| 845 | (bg-tab-inactive . "#424242") | 586 | (bg-tab-inactive . "#424242") |
| 846 | (bg-tab-inactive-accent . "#35398f") | 587 | (bg-tab-inactive-accent . "#35398f") |
| @@ -1449,9 +1190,8 @@ The actual styling of the face is done by `modus-themes-faces'." | |||
| 1449 | 1190 | ||
| 1450 | (defface modus-themes-variable-pitch nil | 1191 | (defface modus-themes-variable-pitch nil |
| 1451 | "Generic face for applying a conditional `variable-pitch'. | 1192 | "Generic face for applying a conditional `variable-pitch'. |
| 1452 | This behaves in accordance with `modus-themes-mixed-fonts', | 1193 | This behaves in accordance with `modus-themes-mixed-fonts' and/or |
| 1453 | `modus-themes-variable-pitch-headings' for all heading levels, | 1194 | `modus-themes-variable-pitch-ui'. |
| 1454 | and `modus-themes-variable-pitch-ui'. | ||
| 1455 | 1195 | ||
| 1456 | The actual styling of the face is done by `modus-themes-faces'." | 1196 | The actual styling of the face is done by `modus-themes-faces'." |
| 1457 | :group 'modus-themes-faces) | 1197 | :group 'modus-themes-faces) |
| @@ -3142,13 +2882,15 @@ In user configuration files the form may look like this: | |||
| 3142 | value | 2882 | value |
| 3143 | (modus-themes--warn option)))) | 2883 | (modus-themes--warn option)))) |
| 3144 | 2884 | ||
| 3145 | (defun modus-themes--alist-or-seq (properties alist-key seq-pred seq-default) | 2885 | (defun modus-themes--property-lookup (properties alist-key list-pred default) |
| 3146 | "Return value from alist or sequence. | 2886 | "Return value from property alist or list. |
| 3147 | Check PROPERTIES for an alist value that corresponds to | 2887 | Check PROPERTIES for an alist value that corresponds to |
| 3148 | ALIST-KEY. If no alist is present, search the PROPERTIES | 2888 | ALIST-KEY. If no alist is present, search the PROPERTIES |
| 3149 | sequence given SEQ-PRED, using SEQ-DEFAULT as a fallback." | 2889 | list given LIST-PRED, using DEFAULT as a fallback." |
| 3150 | (if-let* ((val (or (alist-get alist-key properties) | 2890 | (if-let* ((val (or (alist-get alist-key properties) |
| 3151 | (seq-find seq-pred properties seq-default))) | 2891 | (cl-loop for x in properties |
| 2892 | if (funcall list-pred x) return x) | ||
| 2893 | default)) | ||
| 3152 | ((listp val))) | 2894 | ((listp val))) |
| 3153 | (car val) | 2895 | (car val) |
| 3154 | val)) | 2896 | val)) |
| @@ -3192,8 +2934,11 @@ Those are stored in `modus-themes-faces' and | |||
| 3192 | 2934 | ||
| 3193 | (defun modus-themes--current-theme () | 2935 | (defun modus-themes--current-theme () |
| 3194 | "Return current modus theme." | 2936 | "Return current modus theme." |
| 3195 | (car (seq-filter (lambda (arg) (string-match-p "^modus" (symbol-name arg))) | 2937 | (car |
| 3196 | custom-enabled-themes))) | 2938 | (seq-filter |
| 2939 | (lambda (theme) | ||
| 2940 | (string-match-p "^modus" (symbol-name theme))) | ||
| 2941 | custom-enabled-themes))) | ||
| 3197 | 2942 | ||
| 3198 | ;; Helper functions that are meant to ease the implementation of the | 2943 | ;; Helper functions that are meant to ease the implementation of the |
| 3199 | ;; above customization variables. | 2944 | ;; above customization variables. |
| @@ -3245,11 +2990,11 @@ foreground. INTENSEFG is an alternative to the default." | |||
| 3245 | (cond | 2990 | (cond |
| 3246 | ((and (memq 'bold properties) | 2991 | ((and (memq 'bold properties) |
| 3247 | (memq 'italic properties)) | 2992 | (memq 'italic properties)) |
| 3248 | (list 'modus-themes-fixed-pitch 'bold-italic)) | 2993 | (list 'bold-italic 'modus-themes-fixed-pitch)) |
| 3249 | ((memq 'italic properties) | 2994 | ((memq 'italic properties) |
| 3250 | (list 'modus-themes-fixed-pitch 'italic)) | 2995 | (list 'italic 'modus-themes-fixed-pitch)) |
| 3251 | ((memq 'bold properties) | 2996 | ((memq 'bold properties) |
| 3252 | (list 'modus-themes-fixed-pitch 'bold)) | 2997 | (list 'bold 'modus-themes-fixed-pitch)) |
| 3253 | (t 'modus-themes-fixed-pitch)) | 2998 | (t 'modus-themes-fixed-pitch)) |
| 3254 | :background | 2999 | :background |
| 3255 | (cond | 3000 | (cond |
| @@ -3368,10 +3113,10 @@ theme's fallback text color." | |||
| 3368 | 3113 | ||
| 3369 | (defun modus-themes--paren (normalbg intensebg) | 3114 | (defun modus-themes--paren (normalbg intensebg) |
| 3370 | "Conditional use of intense colors for matching parentheses. | 3115 | "Conditional use of intense colors for matching parentheses. |
| 3371 | NORMALBG should be the special palette color `bg-paren-match' or | 3116 | NORMALBG should be the special palette color 'bg-paren-match' or |
| 3372 | something similar. INTENSEBG must be easier to discern next to | 3117 | something similar. INTENSEBG must be easier to discern next to |
| 3373 | other backgrounds, such as the special palette color | 3118 | other backgrounds, such as the special palette color |
| 3374 | `bg-paren-match-intense'." | 3119 | 'bg-paren-match-intense'." |
| 3375 | (let ((properties (modus-themes--list-or-warn 'modus-themes-paren-match))) | 3120 | (let ((properties (modus-themes--list-or-warn 'modus-themes-paren-match))) |
| 3376 | (list :inherit | 3121 | (list :inherit |
| 3377 | (if (memq 'bold properties) | 3122 | (if (memq 'bold properties) |
| @@ -3521,7 +3266,7 @@ that combines well with the background and foreground." | |||
| 3521 | fg-alt) | 3266 | fg-alt) |
| 3522 | (fg)) | 3267 | (fg)) |
| 3523 | :height | 3268 | :height |
| 3524 | (modus-themes--alist-or-seq properties 'height #'floatp 'unspecified) | 3269 | (modus-themes--property-lookup properties 'height #'floatp 'unspecified) |
| 3525 | :weight | 3270 | :weight |
| 3526 | (or weight 'unspecified) | 3271 | (or weight 'unspecified) |
| 3527 | :overline | 3272 | :overline |
| @@ -3546,7 +3291,7 @@ FG is the foreground color to use." | |||
| 3546 | (or weight 'unspecified) | 3291 | (or weight 'unspecified) |
| 3547 | :height | 3292 | :height |
| 3548 | (cond ((memq 'no-scale properties) 'unspecified) | 3293 | (cond ((memq 'no-scale properties) 'unspecified) |
| 3549 | ((modus-themes--alist-or-seq properties 'height #'floatp 1.15))) | 3294 | ((modus-themes--property-lookup properties 'height #'floatp 1.15))) |
| 3550 | :foreground fg))) | 3295 | :foreground fg))) |
| 3551 | 3296 | ||
| 3552 | (defun modus-themes--agenda-date (defaultfg grayscalefg &optional workaholicfg grayscaleworkaholicfg bg bold ul) | 3297 | (defun modus-themes--agenda-date (defaultfg grayscalefg &optional workaholicfg grayscaleworkaholicfg bg bold ul) |
| @@ -3581,7 +3326,7 @@ weight. Optional UL applies an underline." | |||
| 3581 | (t | 3326 | (t |
| 3582 | defaultfg)) | 3327 | defaultfg)) |
| 3583 | :height | 3328 | :height |
| 3584 | (modus-themes--alist-or-seq properties 'height #'floatp 'unspecified) | 3329 | (modus-themes--property-lookup properties 'height #'floatp 'unspecified) |
| 3585 | :underline | 3330 | :underline |
| 3586 | (if (and ul (memq 'underline-today properties)) | 3331 | (if (and ul (memq 'underline-today properties)) |
| 3587 | t | 3332 | t |
| @@ -3637,8 +3382,8 @@ clearly distinguishes past, present, future tasks." | |||
| 3637 | (defun modus-themes--agenda-habit (default traffic simple &optional default-d traffic-d simple-d) | 3382 | (defun modus-themes--agenda-habit (default traffic simple &optional default-d traffic-d simple-d) |
| 3638 | "Specify background values for `modus-themes-org-agenda' habits. | 3383 | "Specify background values for `modus-themes-org-agenda' habits. |
| 3639 | DEFAULT is the original foregrounc color. TRAFFIC is to be used | 3384 | DEFAULT is the original foregrounc color. TRAFFIC is to be used |
| 3640 | when the `traffic-light' style is applied, while SIMPLE | 3385 | when the 'traffic-light' style is applied, while SIMPLE |
| 3641 | corresponds to the \"simplified style\". | 3386 | corresponds to the 'simplified style'. |
| 3642 | 3387 | ||
| 3643 | Optional DEFAULT-D, TRAFFIC-D, SIMPLE-D are alternatives to the | 3388 | Optional DEFAULT-D, TRAFFIC-D, SIMPLE-D are alternatives to the |
| 3644 | main colors, meant for dopia when `modus-themes-deuteranopia' is | 3389 | main colors, meant for dopia when `modus-themes-deuteranopia' is |
| @@ -3712,8 +3457,8 @@ Optional FG-DISTANT should be close to the main background | |||
| 3712 | values. It is intended to be used as a distant-foreground | 3457 | values. It is intended to be used as a distant-foreground |
| 3713 | property." | 3458 | property." |
| 3714 | (let* ((properties (modus-themes--list-or-warn 'modus-themes-mode-line)) | 3459 | (let* ((properties (modus-themes--list-or-warn 'modus-themes-mode-line)) |
| 3715 | (padding (modus-themes--alist-or-seq properties 'padding #'natnump 1)) | 3460 | (padding (modus-themes--property-lookup properties 'padding #'natnump 1)) |
| 3716 | (height (modus-themes--alist-or-seq properties 'height #'floatp 'unspecified)) | 3461 | (height (modus-themes--property-lookup properties 'height #'floatp 'unspecified)) |
| 3717 | (padded (> padding 1)) | 3462 | (padded (> padding 1)) |
| 3718 | (base (cond ((memq 'accented properties) | 3463 | (base (cond ((memq 'accented properties) |
| 3719 | (cons fg-accent bg-accent)) | 3464 | (cons fg-accent bg-accent)) |
| @@ -3778,10 +3523,14 @@ property." | |||
| 3778 | ;; Basically this is just for the keycast key indicator. | 3523 | ;; Basically this is just for the keycast key indicator. |
| 3779 | (defun modus-themes--mode-line-padded-box (color) | 3524 | (defun modus-themes--mode-line-padded-box (color) |
| 3780 | "Set padding of mode line box attribute with given COLOR." | 3525 | "Set padding of mode line box attribute with given COLOR." |
| 3781 | (let ((padding (seq-find #'natnump modus-themes-mode-line 1))) | 3526 | (list :box (list :color color |
| 3782 | (list :box (list :line-width padding :color color)))) | 3527 | :line-width |
| 3783 | 3528 | (or (cl-loop | |
| 3784 | (defun modus-themes--diff (mainbg mainfg altbg altfg &optional deuteranbg deuteranfg bg-only-fg) | 3529 | for x in modus-themes-mode-line |
| 3530 | if (natnump x) return x) | ||
| 3531 | 1)))) | ||
| 3532 | |||
| 3533 | (defun modus-themes--diff (mainbg mainfg altbg altfg &optional deubg deufg deualtbg deualtfg bg-only-fg) | ||
| 3785 | "Color combinations for `modus-themes-diffs'. | 3534 | "Color combinations for `modus-themes-diffs'. |
| 3786 | 3535 | ||
| 3787 | MAINBG must be one of the dedicated backgrounds for diffs while | 3536 | MAINBG must be one of the dedicated backgrounds for diffs while |
| @@ -3791,13 +3540,20 @@ ALTBG needs to be a slightly accented background that is meant to | |||
| 3791 | be combined with ALTFG. Both must be less intense than MAINBG | 3540 | be combined with ALTFG. Both must be less intense than MAINBG |
| 3792 | and MAINFG respectively. | 3541 | and MAINFG respectively. |
| 3793 | 3542 | ||
| 3794 | DEUTERANBG and DEUTERANFG must be combinations of colors that account | 3543 | DEUBG and DEUFG must be combinations of colors that account for |
| 3795 | for red-green color defficiency (deuteranopia). | 3544 | red-green color defficiency (deuteranopia). They are the |
| 3545 | equivalent of MAINBG and MAINFG. | ||
| 3546 | |||
| 3547 | DEUALTBG and DEUALTFG are the equivalent of ALTBG and ALTFG for | ||
| 3548 | deuteranopia. | ||
| 3796 | 3549 | ||
| 3797 | Optional BG-ONLY-FG applies ALTFG else leaves the foreground | 3550 | Optional non-nil BG-ONLY-FG applies ALTFG else leaves the |
| 3798 | unspecified." | 3551 | foreground unspecified." |
| 3799 | (if modus-themes-deuteranopia | 3552 | (if modus-themes-deuteranopia |
| 3800 | (list :background (or deuteranbg mainbg) :foreground (or deuteranfg mainfg)) | 3553 | (pcase modus-themes-diffs |
| 3554 | ('desaturated (list :background (or deualtbg altbg) :foreground (or deualtfg altfg))) | ||
| 3555 | ('bg-only (list :background (or deualtbg altbg) :foreground (if bg-only-fg (or deualtfg altfg) 'unspecified))) | ||
| 3556 | (_ (list :background (or deubg mainbg) :foreground (or deufg mainfg)))) | ||
| 3801 | (pcase modus-themes-diffs | 3557 | (pcase modus-themes-diffs |
| 3802 | ('desaturated (list :background altbg :foreground altfg)) | 3558 | ('desaturated (list :background altbg :foreground altfg)) |
| 3803 | ('bg-only (list :background altbg :foreground (if bg-only-fg altfg 'unspecified))) | 3559 | ('bg-only (list :background altbg :foreground (if bg-only-fg altfg 'unspecified))) |
| @@ -4114,7 +3870,7 @@ pressed button style, else the released button." | |||
| 4114 | (weight weight) | 3870 | (weight weight) |
| 4115 | ('unspecified)) | 3871 | ('unspecified)) |
| 4116 | :height | 3872 | :height |
| 4117 | (modus-themes--alist-or-seq properties 'height #'floatp 'unspecified) | 3873 | (modus-themes--property-lookup properties 'height #'floatp 'unspecified) |
| 4118 | :underline | 3874 | :underline |
| 4119 | (if (memq 'underline properties) | 3875 | (if (memq 'underline properties) |
| 4120 | t | 3876 | t |
| @@ -4379,7 +4135,8 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 4379 | ((,class ,@(modus-themes--diff | 4135 | ((,class ,@(modus-themes--diff |
| 4380 | bg-diff-focus-added fg-diff-focus-added | 4136 | bg-diff-focus-added fg-diff-focus-added |
| 4381 | green-nuanced-bg fg-diff-added | 4137 | green-nuanced-bg fg-diff-added |
| 4382 | bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran)))) | 4138 | bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran |
| 4139 | blue-nuanced-bg fg-diff-added-deuteran)))) | ||
| 4383 | `(modus-themes-diff-changed | 4140 | `(modus-themes-diff-changed |
| 4384 | ((,class ,@(modus-themes--diff | 4141 | ((,class ,@(modus-themes--diff |
| 4385 | bg-diff-focus-changed fg-diff-focus-changed | 4142 | bg-diff-focus-changed fg-diff-focus-changed |
| @@ -4392,7 +4149,8 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 4392 | ((,class ,@(modus-themes--diff | 4149 | ((,class ,@(modus-themes--diff |
| 4393 | bg-diff-refine-added fg-diff-refine-added | 4150 | bg-diff-refine-added fg-diff-refine-added |
| 4394 | bg-diff-focus-added fg-diff-focus-added | 4151 | bg-diff-focus-added fg-diff-focus-added |
| 4395 | bg-diff-refine-added-deuteran fg-diff-refine-added-deuteran)))) | 4152 | bg-diff-refine-added-deuteran fg-diff-refine-added-deuteran |
| 4153 | bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran)))) | ||
| 4396 | `(modus-themes-diff-refine-changed | 4154 | `(modus-themes-diff-refine-changed |
| 4397 | ((,class ,@(modus-themes--diff | 4155 | ((,class ,@(modus-themes--diff |
| 4398 | bg-diff-refine-changed fg-diff-refine-changed | 4156 | bg-diff-refine-changed fg-diff-refine-changed |
| @@ -4405,7 +4163,8 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 4405 | ((,class ,@(modus-themes--diff | 4163 | ((,class ,@(modus-themes--diff |
| 4406 | bg-diff-focus-added fg-diff-focus-added | 4164 | bg-diff-focus-added fg-diff-focus-added |
| 4407 | bg-diff-added fg-diff-added | 4165 | bg-diff-added fg-diff-added |
| 4408 | bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran)))) | 4166 | bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran |
| 4167 | bg-diff-added-deuteran fg-diff-added-deuteran)))) | ||
| 4409 | `(modus-themes-diff-focus-changed | 4168 | `(modus-themes-diff-focus-changed |
| 4410 | ((,class ,@(modus-themes--diff | 4169 | ((,class ,@(modus-themes--diff |
| 4411 | bg-diff-focus-changed fg-diff-focus-changed | 4170 | bg-diff-focus-changed fg-diff-focus-changed |
| @@ -4419,6 +4178,7 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 4419 | bg-diff-heading fg-diff-heading | 4178 | bg-diff-heading fg-diff-heading |
| 4420 | cyan-nuanced-bg cyan-nuanced-fg | 4179 | cyan-nuanced-bg cyan-nuanced-fg |
| 4421 | bg-header fg-main | 4180 | bg-header fg-main |
| 4181 | bg-header fg-main | ||
| 4422 | t)))) | 4182 | t)))) |
| 4423 | ;;;;; deuteranopia-specific | 4183 | ;;;;; deuteranopia-specific |
| 4424 | `(modus-themes-grue ((,class :foreground ,@(modus-themes--deuteran blue green)))) | 4184 | `(modus-themes-grue ((,class :foreground ,@(modus-themes--deuteran blue green)))) |
| @@ -4564,7 +4324,8 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 4564 | bg-region blue-intense-bg | 4324 | bg-region blue-intense-bg |
| 4565 | fg-alt blue-intense) | 4325 | fg-alt blue-intense) |
| 4566 | :extend t))) | 4326 | :extend t))) |
| 4567 | `(modus-themes-key-binding ((,class :inherit bold :foreground ,blue-alt-other))) | 4327 | `(modus-themes-key-binding ((,class :inherit (bold modus-themes-fixed-pitch) |
| 4328 | :foreground ,blue-alt-other))) | ||
| 4568 | `(modus-themes-prompt ((,class ,@(modus-themes--prompt | 4329 | `(modus-themes-prompt ((,class ,@(modus-themes--prompt |
| 4569 | cyan-alt-other blue-alt-other fg-alt | 4330 | cyan-alt-other blue-alt-other fg-alt |
| 4570 | cyan-nuanced-bg blue-refine-bg fg-main | 4331 | cyan-nuanced-bg blue-refine-bg fg-main |
| @@ -4592,7 +4353,7 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 4592 | `(elisp-shorthand-font-lock-face ((,class :inherit font-lock-variable-name-face))) | 4353 | `(elisp-shorthand-font-lock-face ((,class :inherit font-lock-variable-name-face))) |
| 4593 | `(error ((,class :inherit bold :foreground ,red))) | 4354 | `(error ((,class :inherit bold :foreground ,red))) |
| 4594 | `(escape-glyph ((,class :foreground ,fg-escape-char-construct))) | 4355 | `(escape-glyph ((,class :foreground ,fg-escape-char-construct))) |
| 4595 | `(file-name-shadow ((,class :inherit (shadow italic)))) | 4356 | `(file-name-shadow ((,class :inherit shadow))) |
| 4596 | `(header-line ((,class :inherit modus-themes-ui-variable-pitch | 4357 | `(header-line ((,class :inherit modus-themes-ui-variable-pitch |
| 4597 | :background ,bg-header :foreground ,fg-header))) | 4358 | :background ,bg-header :foreground ,fg-header))) |
| 4598 | `(header-line-highlight ((,class :inherit highlight))) | 4359 | `(header-line-highlight ((,class :inherit highlight))) |
| @@ -4759,10 +4520,10 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 4759 | ;;;;; avy | 4520 | ;;;;; avy |
| 4760 | `(avy-background-face ((,class :background ,bg-dim :foreground ,fg-dim :extend t))) | 4521 | `(avy-background-face ((,class :background ,bg-dim :foreground ,fg-dim :extend t))) |
| 4761 | `(avy-goto-char-timer-face ((,class :inherit (modus-themes-intense-neutral bold)))) | 4522 | `(avy-goto-char-timer-face ((,class :inherit (modus-themes-intense-neutral bold)))) |
| 4762 | `(avy-lead-face ((,class :inherit (modus-themes-intense-blue bold modus-themes-reset-soft)))) | 4523 | `(avy-lead-face ((,class :inherit (bold modus-themes-reset-soft) :background ,bg-char-0))) |
| 4763 | `(avy-lead-face-0 ((,class :inherit (modus-themes-refine-magenta bold modus-themes-reset-soft)))) | 4524 | `(avy-lead-face-0 ((,class :inherit (bold modus-themes-reset-soft) :background ,bg-char-1))) |
| 4764 | `(avy-lead-face-1 ((,class :inherit (modus-themes-special-warm modus-themes-reset-soft)))) | 4525 | `(avy-lead-face-1 ((,class :inherit (modus-themes-special-warm modus-themes-reset-soft)))) |
| 4765 | `(avy-lead-face-2 ((,class :inherit (modus-themes-refine-green bold modus-themes-reset-soft)))) | 4526 | `(avy-lead-face-2 ((,class :inherit (bold modus-themes-reset-soft) :background ,bg-char-2))) |
| 4766 | ;;;;; aw (ace-window) | 4527 | ;;;;; aw (ace-window) |
| 4767 | `(aw-background-face ((,class :foreground ,fg-unfocused))) | 4528 | `(aw-background-face ((,class :foreground ,fg-unfocused))) |
| 4768 | `(aw-key-face ((,class :inherit modus-themes-key-binding))) | 4529 | `(aw-key-face ((,class :inherit modus-themes-key-binding))) |
| @@ -4849,6 +4610,27 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 4849 | `(cfw:face-toolbar-button-off ((,class :inherit shadow))) | 4610 | `(cfw:face-toolbar-button-off ((,class :inherit shadow))) |
| 4850 | `(cfw:face-toolbar-button-on ((,class :inherit bold :background ,blue-nuanced-bg | 4611 | `(cfw:face-toolbar-button-on ((,class :inherit bold :background ,blue-nuanced-bg |
| 4851 | :foreground ,blue-alt))) | 4612 | :foreground ,blue-alt))) |
| 4613 | ;;;;; calibredb | ||
| 4614 | `(calibredb-archive-face ((,class :foreground ,magenta-alt-faint))) | ||
| 4615 | `(calibredb-author-face ((,class :foreground ,blue-faint))) | ||
| 4616 | `(calibredb-comment-face ((,class :inherit shadow))) | ||
| 4617 | `(calibredb-date-face ((,class :foreground ,cyan))) | ||
| 4618 | `(calibredb-edit-annotation-header-title-face ((,class :inherit bold))) | ||
| 4619 | `(calibredb-favorite-face ((,class :foreground ,red-alt))) | ||
| 4620 | `(calibredb-file-face (( ))) | ||
| 4621 | `(calibredb-format-face ((,class :foreground ,cyan-faint))) | ||
| 4622 | `(calibredb-highlight-face ((,class :inherit success))) | ||
| 4623 | `(calibredb-id-face (( ))) | ||
| 4624 | `(calibredb-ids-face (( ))) | ||
| 4625 | `(calibredb-search-header-highlight-face ((,class :inherit modus-themes-hl-line))) | ||
| 4626 | `(calibredb-search-header-library-name-face ((,class :foreground ,blue-active))) | ||
| 4627 | `(calibredb-search-header-library-path-face ((,class :inherit bold))) | ||
| 4628 | `(calibredb-search-header-sort-face ((,class :inherit bold :foreground ,magenta-active))) | ||
| 4629 | `(calibredb-search-header-total-face ((,class :inherit bold :foreground ,cyan-active))) | ||
| 4630 | `(calibredb-search-header-filter-face ((,class :inherit bold))) | ||
| 4631 | `(calibredb-mark-face ((,class :inherit modus-themes-mark-sel))) | ||
| 4632 | `(calibredb-size-face (( ))) | ||
| 4633 | `(calibredb-tag-face ((,class :foreground ,magenta-alt-faint))) | ||
| 4852 | ;;;;; centaur-tabs | 4634 | ;;;;; centaur-tabs |
| 4853 | `(centaur-tabs-active-bar-face ((,class :background ,blue-active))) | 4635 | `(centaur-tabs-active-bar-face ((,class :background ,blue-active))) |
| 4854 | `(centaur-tabs-close-mouse-face ((,class :inherit bold :foreground ,red-active :underline t))) | 4636 | `(centaur-tabs-close-mouse-face ((,class :inherit bold :foreground ,red-active :underline t))) |
| @@ -4992,6 +4774,9 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 4992 | `(corfu-bar ((,class :background ,fg-alt))) | 4774 | `(corfu-bar ((,class :background ,fg-alt))) |
| 4993 | `(corfu-border ((,class :background ,bg-active))) | 4775 | `(corfu-border ((,class :background ,bg-active))) |
| 4994 | `(corfu-default ((,class :background ,bg-alt))) | 4776 | `(corfu-default ((,class :background ,bg-alt))) |
| 4777 | ;;;;; corfu-quick | ||
| 4778 | `(corfu-quick1 ((,class :inherit bold :background ,bg-char-0))) | ||
| 4779 | `(corfu-quick2 ((,class :inherit bold :background ,bg-char-1))) | ||
| 4995 | ;;;;; counsel | 4780 | ;;;;; counsel |
| 4996 | `(counsel-active-mode ((,class :foreground ,magenta-alt-other))) | 4781 | `(counsel-active-mode ((,class :foreground ,magenta-alt-other))) |
| 4997 | `(counsel-application-name ((,class :foreground ,red-alt-other))) | 4782 | `(counsel-application-name ((,class :foreground ,red-alt-other))) |
| @@ -5323,6 +5108,13 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 5323 | `(ediff-odd-diff-Ancestor ((,class :inherit ediff-even-diff-Ancestor))) | 5108 | `(ediff-odd-diff-Ancestor ((,class :inherit ediff-even-diff-Ancestor))) |
| 5324 | `(ediff-odd-diff-B ((,class :inherit ediff-even-diff-B))) | 5109 | `(ediff-odd-diff-B ((,class :inherit ediff-even-diff-B))) |
| 5325 | `(ediff-odd-diff-C ((,class :inherit ediff-even-diff-C))) | 5110 | `(ediff-odd-diff-C ((,class :inherit ediff-even-diff-C))) |
| 5111 | ;;;;; ein (Emacs IPython Notebook) | ||
| 5112 | `(ein:basecell-input-area-face ((,class :background ,bg-dim :extend t))) | ||
| 5113 | `(ein:cell-output-area (( ))) | ||
| 5114 | `(ein:cell-output-area-error ((,class :background ,red-nuanced-bg :extend t))) | ||
| 5115 | `(ein:cell-output-stderr ((,class :background ,red-nuanced-bg :extend t))) | ||
| 5116 | `(ein:markdowncell-input-area-face (( ))) | ||
| 5117 | `(ein:notification-tab-normal ((,class :underline t))) | ||
| 5326 | ;;;;; eglot | 5118 | ;;;;; eglot |
| 5327 | `(eglot-mode-line ((,class :inherit modus-themes-bold :foreground ,magenta-active))) | 5119 | `(eglot-mode-line ((,class :inherit modus-themes-bold :foreground ,magenta-active))) |
| 5328 | ;;;;; el-search | 5120 | ;;;;; el-search |
| @@ -5637,7 +5429,7 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 5637 | `(font-lock-doc-face ((,class :inherit modus-themes-slant | 5429 | `(font-lock-doc-face ((,class :inherit modus-themes-slant |
| 5638 | ,@(modus-themes--syntax-string | 5430 | ,@(modus-themes--syntax-string |
| 5639 | fg-docstring fg-special-cold | 5431 | fg-docstring fg-special-cold |
| 5640 | fg-special-mild magenta-nuanced-fg | 5432 | fg-special-mild fg-special-calm |
| 5641 | fg-special-mild magenta-nuanced-fg)))) | 5433 | fg-special-mild magenta-nuanced-fg)))) |
| 5642 | `(font-lock-function-name-face ((,class ,@(modus-themes--syntax-extra | 5434 | `(font-lock-function-name-face ((,class ,@(modus-themes--syntax-extra |
| 5643 | magenta magenta-faint | 5435 | magenta magenta-faint |
| @@ -5651,30 +5443,31 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 5651 | yellow yellow-faint)))) | 5443 | yellow yellow-faint)))) |
| 5652 | `(font-lock-preprocessor-face ((,class ,@(modus-themes--syntax-extra | 5444 | `(font-lock-preprocessor-face ((,class ,@(modus-themes--syntax-extra |
| 5653 | red-alt-other red-alt-other-faint | 5445 | red-alt-other red-alt-other-faint |
| 5654 | blue-alt blue-alt-faint)))) | 5446 | cyan-alt-other cyan-alt-faint)))) |
| 5655 | `(font-lock-regexp-grouping-backslash ((,class :inherit bold | 5447 | `(font-lock-regexp-grouping-backslash ((,class :inherit modus-themes-bold |
| 5656 | ,@(modus-themes--syntax-string | 5448 | ,@(modus-themes--syntax-string |
| 5657 | fg-escape-char-backslash yellow-alt-faint | 5449 | fg-escape-char-backslash yellow-alt-faint |
| 5658 | yellow-alt magenta-alt | 5450 | yellow-alt magenta-alt |
| 5659 | red-faint green-alt-other-faint)))) | 5451 | red-faint green-alt-other-faint)))) |
| 5660 | `(font-lock-regexp-grouping-construct ((,class :inherit bold | 5452 | `(font-lock-regexp-grouping-construct ((,class :inherit modus-themes-bold |
| 5661 | ,@(modus-themes--syntax-string | 5453 | ,@(modus-themes--syntax-string |
| 5662 | fg-escape-char-construct red-alt-other-faint | 5454 | fg-escape-char-construct red-alt-other-faint |
| 5663 | red-alt-other blue-alt-other | 5455 | red-alt-other blue-alt-other |
| 5664 | blue-faint blue-alt-other-faint)))) | 5456 | blue-faint blue-alt-other-faint)))) |
| 5665 | `(font-lock-string-face ((,class ,@(modus-themes--syntax-string | 5457 | `(font-lock-string-face ((,class ,@(modus-themes--syntax-string |
| 5666 | blue-alt blue-alt-faint | 5458 | blue-alt blue-alt-faint |
| 5667 | green-alt-other red-alt | 5459 | green-alt-other red-alt-other |
| 5668 | green-alt-faint red-alt-faint)))) | 5460 | green-alt-faint red-alt-faint)))) |
| 5669 | `(font-lock-type-face ((,class :inherit modus-themes-bold | 5461 | `(font-lock-type-face ((,class :inherit modus-themes-bold |
| 5670 | ,@(modus-themes--syntax-foreground | 5462 | ,@(modus-themes--syntax-extra |
| 5671 | cyan-alt-other cyan-alt-faint)))) | 5463 | cyan-alt-other cyan-alt-faint |
| 5464 | magenta-alt-other magenta-alt-other-faint)))) | ||
| 5672 | `(font-lock-variable-name-face ((,class ,@(modus-themes--syntax-extra | 5465 | `(font-lock-variable-name-face ((,class ,@(modus-themes--syntax-extra |
| 5673 | cyan cyan-faint | 5466 | cyan cyan-faint |
| 5674 | blue-alt-other blue-alt-other-faint)))) | 5467 | blue-alt blue-alt-faint)))) |
| 5675 | `(font-lock-warning-face ((,class :inherit modus-themes-bold | 5468 | `(font-lock-warning-face ((,class :inherit modus-themes-bold |
| 5676 | ,@(modus-themes--syntax-comment | 5469 | ,@(modus-themes--syntax-foreground |
| 5677 | yellow-active red-active red-faint yellow-faint)))) | 5470 | yellow-active yellow-alt-faint)))) |
| 5678 | ;;;;; forge | 5471 | ;;;;; forge |
| 5679 | `(forge-post-author ((,class :inherit bold :foreground ,fg-main))) | 5472 | `(forge-post-author ((,class :inherit bold :foreground ,fg-main))) |
| 5680 | `(forge-post-date ((,class :foreground ,fg-special-cold))) | 5473 | `(forge-post-date ((,class :foreground ,fg-special-cold))) |
| @@ -5685,7 +5478,7 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 5685 | `(forge-topic-unread ((,class :inherit bold :foreground ,fg-main))) | 5478 | `(forge-topic-unread ((,class :inherit bold :foreground ,fg-main))) |
| 5686 | ;;;;; fountain-mode | 5479 | ;;;;; fountain-mode |
| 5687 | `(fountain-character ((,class :foreground ,blue-alt-other))) | 5480 | `(fountain-character ((,class :foreground ,blue-alt-other))) |
| 5688 | `(fountain-comment ((,class :inherit modus-themes-slant :foreground ,fg-alt))) | 5481 | `(fountain-comment ((,class :inherit font-lock-comment-face))) |
| 5689 | `(fountain-dialog ((,class :foreground ,blue-alt))) | 5482 | `(fountain-dialog ((,class :foreground ,blue-alt))) |
| 5690 | `(fountain-metadata-key ((,class :foreground ,green-alt-other))) | 5483 | `(fountain-metadata-key ((,class :foreground ,green-alt-other))) |
| 5691 | `(fountain-metadata-value ((,class :foreground ,blue))) | 5484 | `(fountain-metadata-value ((,class :foreground ,blue))) |
| @@ -5719,11 +5512,11 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 5719 | `(geiser-font-lock-xref-link ((,class :inherit button))) | 5512 | `(geiser-font-lock-xref-link ((,class :inherit button))) |
| 5720 | ;;;;; git-commit | 5513 | ;;;;; git-commit |
| 5721 | `(git-commit-comment-action ((,class :inherit font-lock-comment-face))) | 5514 | `(git-commit-comment-action ((,class :inherit font-lock-comment-face))) |
| 5722 | `(git-commit-comment-branch-local ((,class :inherit modus-themes-slant :foreground ,blue-alt))) | 5515 | `(git-commit-comment-branch-local ((,class :inherit font-lock-comment-face :foreground ,blue-alt))) |
| 5723 | `(git-commit-comment-branch-remote ((,class :inherit modus-themes-slant :foreground ,magenta-alt))) | 5516 | `(git-commit-comment-branch-remote ((,class :inherit font-lock-comment-face :foreground ,magenta-alt))) |
| 5724 | `(git-commit-comment-detached ((,class :inherit modus-themes-slant :foreground ,cyan-alt))) | 5517 | `(git-commit-comment-detached ((,class :inherit font-lock-comment-face :foreground ,cyan-alt))) |
| 5725 | `(git-commit-comment-file ((,class :inherit modus-themes-slant :foreground ,cyan))) | 5518 | `(git-commit-comment-file ((,class :inherit font-lock-comment-face :foreground ,cyan))) |
| 5726 | `(git-commit-comment-heading ((,class :inherit (bold modus-themes-slant)))) | 5519 | `(git-commit-comment-heading ((,class :inherit (bold font-lock-comment-face)))) |
| 5727 | `(git-commit-keyword ((,class :foreground ,magenta))) | 5520 | `(git-commit-keyword ((,class :foreground ,magenta))) |
| 5728 | `(git-commit-known-pseudo-header ((,class :foreground ,cyan-alt-other))) | 5521 | `(git-commit-known-pseudo-header ((,class :foreground ,cyan-alt-other))) |
| 5729 | `(git-commit-nonempty-second-line ((,class :inherit error))) | 5522 | `(git-commit-nonempty-second-line ((,class :inherit error))) |
| @@ -5741,8 +5534,8 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 5741 | `(git-gutter-fr:deleted ((,class :inherit modus-themes-fringe-red))) | 5534 | `(git-gutter-fr:deleted ((,class :inherit modus-themes-fringe-red))) |
| 5742 | `(git-gutter-fr:modified ((,class :inherit modus-themes-fringe-yellow))) | 5535 | `(git-gutter-fr:modified ((,class :inherit modus-themes-fringe-yellow))) |
| 5743 | ;;;;; git-rebase | 5536 | ;;;;; git-rebase |
| 5744 | `(git-rebase-comment-hash ((,class :inherit modus-themes-slant :foreground ,cyan))) | 5537 | `(git-rebase-comment-hash ((,class :inherit font-lock-comment-face :foreground ,cyan))) |
| 5745 | `(git-rebase-comment-heading ((,class :inherit (bold modus-themes-slant)))) | 5538 | `(git-rebase-comment-heading ((,class :inherit (bold font-lock-comment-face)))) |
| 5746 | `(git-rebase-description ((,class :foreground ,fg-main))) | 5539 | `(git-rebase-description ((,class :foreground ,fg-main))) |
| 5747 | `(git-rebase-hash ((,class :foreground ,cyan-alt-other))) | 5540 | `(git-rebase-hash ((,class :foreground ,cyan-alt-other))) |
| 5748 | ;;;;; git-timemachine | 5541 | ;;;;; git-timemachine |
| @@ -6114,7 +5907,8 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 6114 | `(kaocha-runner-warning-face ((,class :inherit warning))) | 5907 | `(kaocha-runner-warning-face ((,class :inherit warning))) |
| 6115 | ;;;;; keycast | 5908 | ;;;;; keycast |
| 6116 | `(keycast-command ((,class :inherit bold :foreground ,blue-active))) | 5909 | `(keycast-command ((,class :inherit bold :foreground ,blue-active))) |
| 6117 | `(keycast-key ((,class ,@(modus-themes--mode-line-padded-box blue-active) | 5910 | ;; FIXME 2022-05-03: The padding breaks `keycast-tab-bar-mode' |
| 5911 | `(keycast-key ((,class ;; ,@(modus-themes--mode-line-padded-box blue-active) | ||
| 6118 | :background ,blue-active :foreground ,bg-main))) | 5912 | :background ,blue-active :foreground ,bg-main))) |
| 6119 | ;;;;; ledger-mode | 5913 | ;;;;; ledger-mode |
| 6120 | `(ledger-font-auto-xact-face ((,class :foreground ,magenta))) | 5914 | `(ledger-font-auto-xact-face ((,class :foreground ,magenta))) |
| @@ -6128,23 +5922,26 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 6128 | `(ledger-font-payee-uncleared-face ((,class :foreground ,red-alt-other))) | 5922 | `(ledger-font-payee-uncleared-face ((,class :foreground ,red-alt-other))) |
| 6129 | `(ledger-font-xact-highlight-face ((,class :background ,bg-hl-alt))) | 5923 | `(ledger-font-xact-highlight-face ((,class :background ,bg-hl-alt))) |
| 6130 | ;;;;; line numbers (display-line-numbers-mode and global variant) | 5924 | ;;;;; line numbers (display-line-numbers-mode and global variant) |
| 5925 | ;; Here we cannot inherit `modus-themes-fixed-pitch'. We need to | ||
| 5926 | ;; fall back to `default' otherwise line numbers do not scale when | ||
| 5927 | ;; using `text-scale-adjust'. | ||
| 6131 | `(line-number | 5928 | `(line-number |
| 6132 | ((,class :inherit default | 5929 | ((,class :inherit ,(if modus-themes-mixed-fonts 'fixed-pitch 'default) |
| 6133 | ,@(modus-themes--line-numbers | 5930 | ,@(modus-themes--line-numbers |
| 6134 | fg-alt bg-dim | 5931 | fg-alt bg-dim |
| 6135 | fg-unfocused)))) | 5932 | fg-unfocused)))) |
| 6136 | `(line-number-current-line | 5933 | `(line-number-current-line |
| 6137 | ((,class :inherit (bold default) | 5934 | ((,class :inherit (bold line-number) |
| 6138 | ,@(modus-themes--line-numbers | 5935 | ,@(modus-themes--line-numbers |
| 6139 | fg-main bg-active | 5936 | fg-main bg-active |
| 6140 | blue-alt-other)))) | 5937 | blue-alt-other)))) |
| 6141 | `(line-number-major-tick | 5938 | `(line-number-major-tick |
| 6142 | ((,class :inherit (bold default) | 5939 | ((,class :inherit (bold line-number) |
| 6143 | ,@(modus-themes--line-numbers | 5940 | ,@(modus-themes--line-numbers |
| 6144 | yellow-nuanced-fg yellow-nuanced-bg | 5941 | yellow-nuanced-fg yellow-nuanced-bg |
| 6145 | red-alt)))) | 5942 | red-alt)))) |
| 6146 | `(line-number-minor-tick | 5943 | `(line-number-minor-tick |
| 6147 | ((,class :inherit (bold default) | 5944 | ((,class :inherit (bold line-number) |
| 6148 | ,@(modus-themes--line-numbers | 5945 | ,@(modus-themes--line-numbers |
| 6149 | fg-alt bg-inactive | 5946 | fg-alt bg-inactive |
| 6150 | fg-inactive)))) | 5947 | fg-inactive)))) |
| @@ -6228,7 +6025,8 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 6228 | `(magit-diff-added ((,class ,@(modus-themes--diff | 6025 | `(magit-diff-added ((,class ,@(modus-themes--diff |
| 6229 | bg-diff-added fg-diff-added | 6026 | bg-diff-added fg-diff-added |
| 6230 | green-nuanced-bg fg-diff-added | 6027 | green-nuanced-bg fg-diff-added |
| 6231 | bg-diff-added-deuteran fg-diff-added-deuteran)))) | 6028 | bg-diff-added-deuteran fg-diff-added-deuteran |
| 6029 | blue-nuanced-bg fg-diff-added-deuteran)))) | ||
| 6232 | `(magit-diff-added-highlight ((,class :inherit modus-themes-diff-focus-added))) | 6030 | `(magit-diff-added-highlight ((,class :inherit modus-themes-diff-focus-added))) |
| 6233 | `(magit-diff-base ((,class ,@(modus-themes--diff | 6031 | `(magit-diff-base ((,class ,@(modus-themes--diff |
| 6234 | bg-diff-changed fg-diff-changed | 6032 | bg-diff-changed fg-diff-changed |
| @@ -6249,6 +6047,7 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 6249 | bg-active fg-inactive | 6047 | bg-active fg-inactive |
| 6250 | bg-inactive fg-inactive | 6048 | bg-inactive fg-inactive |
| 6251 | bg-inactive fg-inactive | 6049 | bg-inactive fg-inactive |
| 6050 | nil nil | ||
| 6252 | t)))) | 6051 | t)))) |
| 6253 | ;; NOTE: we do not follow the pattern of inheriting from | 6052 | ;; NOTE: we do not follow the pattern of inheriting from |
| 6254 | ;; modus-themes-grue-* faces, as this is a special case. | 6053 | ;; modus-themes-grue-* faces, as this is a special case. |
| @@ -6687,9 +6486,7 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 6687 | :background ,bg-alt))) | 6486 | :background ,bg-alt))) |
| 6688 | `(org-column-title ((,class :inherit (bold modus-themes-fixed-pitch default) | 6487 | `(org-column-title ((,class :inherit (bold modus-themes-fixed-pitch default) |
| 6689 | :underline t :background ,bg-alt))) | 6488 | :underline t :background ,bg-alt))) |
| 6690 | `(org-date ((,class :inherit ,(if modus-themes-mixed-fonts | 6489 | `(org-date ((,class :inherit (modus-themes-link-symlink modus-themes-fixed-pitch)))) |
| 6691 | '(fixed-pitch modus-themes-link-symlink) | ||
| 6692 | 'modus-themes-link-symlink)))) | ||
| 6693 | `(org-date-selected ((,class :foreground ,blue-alt :inverse-video t))) | 6490 | `(org-date-selected ((,class :foreground ,blue-alt :inverse-video t))) |
| 6694 | `(org-dispatcher-highlight ((,class :inherit (bold modus-themes-mark-alt)))) | 6491 | `(org-dispatcher-highlight ((,class :inherit (bold modus-themes-mark-alt)))) |
| 6695 | `(org-document-info ((,class :foreground ,fg-special-cold))) | 6492 | `(org-document-info ((,class :foreground ,fg-special-cold))) |
| @@ -6906,7 +6703,7 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 6906 | `(popup-summary-face ((,class :background ,bg-active :foreground ,fg-inactive))) | 6703 | `(popup-summary-face ((,class :background ,bg-active :foreground ,fg-inactive))) |
| 6907 | `(popup-tip-face ((,class :inherit modus-themes-refine-yellow))) | 6704 | `(popup-tip-face ((,class :inherit modus-themes-refine-yellow))) |
| 6908 | ;;;;; powerline | 6705 | ;;;;; powerline |
| 6909 | `(powerline-active0 ((,class :background ,bg-main :foreground ,blue-faint :inverse-video t))) | 6706 | `(powerline-active0 ((,class :background ,blue-faint :foreground ,bg-main))) |
| 6910 | `(powerline-active1 ((,class :background ,blue-nuanced-bg :foreground ,blue-nuanced-fg))) | 6707 | `(powerline-active1 ((,class :background ,blue-nuanced-bg :foreground ,blue-nuanced-fg))) |
| 6911 | `(powerline-active2 ((,class :background ,bg-active :foreground ,fg-active))) | 6708 | `(powerline-active2 ((,class :background ,bg-active :foreground ,fg-active))) |
| 6912 | `(powerline-inactive0 ((,class :background ,bg-special-cold :foreground ,fg-special-cold))) | 6709 | `(powerline-inactive0 ((,class :background ,bg-special-cold :foreground ,fg-special-cold))) |
| @@ -7355,7 +7152,9 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 7355 | ;;;;; transient | 7152 | ;;;;; transient |
| 7356 | `(transient-active-infix ((,class :inherit modus-themes-special-mild))) | 7153 | `(transient-active-infix ((,class :inherit modus-themes-special-mild))) |
| 7357 | `(transient-amaranth ((,class :inherit bold :foreground ,yellow-alt))) | 7154 | `(transient-amaranth ((,class :inherit bold :foreground ,yellow-alt))) |
| 7358 | `(transient-argument ((,class :inherit bold :background ,cyan-nuanced-bg :foreground ,cyan))) | 7155 | ;; Placate the compiler for what is a spurious warning. We also |
| 7156 | ;; have to do this with `eldoc-highlight-function-argument'. | ||
| 7157 | (list 'transient-argument `((,class :inherit bold :background ,cyan-nuanced-bg :foreground ,cyan))) | ||
| 7359 | `(transient-blue ((,class :inherit bold :foreground ,blue))) | 7158 | `(transient-blue ((,class :inherit bold :foreground ,blue))) |
| 7360 | `(transient-disabled-suffix ((,class :inherit modus-themes-intense-red))) | 7159 | `(transient-disabled-suffix ((,class :inherit modus-themes-intense-red))) |
| 7361 | `(transient-enabled-suffix ((,class :inherit modus-themes-grue-background-subtle))) | 7160 | `(transient-enabled-suffix ((,class :inherit modus-themes-grue-background-subtle))) |
| @@ -7379,6 +7178,24 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 7379 | `(trashed-marked ((,class :inherit modus-themes-mark-alt))) | 7178 | `(trashed-marked ((,class :inherit modus-themes-mark-alt))) |
| 7380 | `(trashed-restored ((,class :inherit modus-themes-mark-sel))) | 7179 | `(trashed-restored ((,class :inherit modus-themes-mark-sel))) |
| 7381 | `(trashed-symlink ((,class :inherit modus-themes-link-symlink))) | 7180 | `(trashed-symlink ((,class :inherit modus-themes-link-symlink))) |
| 7181 | ;;;;; tree-sitter | ||
| 7182 | `(tree-sitter-hl-face:attribute ((,class :inherit font-lock-variable-name-face))) | ||
| 7183 | `(tree-sitter-hl-face:constant.builtin ((,class :inherit tree-sitter-hl-face:constant))) | ||
| 7184 | `(tree-sitter-hl-face:escape ((,class :inherit font-lock-regexp-grouping-backslash))) | ||
| 7185 | `(tree-sitter-hl-face:function ((,class :inherit font-lock-function-name-face))) | ||
| 7186 | `(tree-sitter-hl-face:function.call ((,class :inherit tree-sitter-hl-face:function))) | ||
| 7187 | `(tree-sitter-hl-face:label (( ))) | ||
| 7188 | `(tree-sitter-hl-face:method.call (( ))) | ||
| 7189 | `(tree-sitter-hl-face:operator ((,class :inherit modus-themes-bold))) | ||
| 7190 | `(tree-sitter-hl-face:property (( ))) | ||
| 7191 | `(tree-sitter-hl-face:property.definition ((,class :inherit font-lock-variable-name-face))) | ||
| 7192 | `(tree-sitter-hl-face:punctuation (( ))) | ||
| 7193 | `(tree-sitter-hl-face:punctuation.bracket (( ))) | ||
| 7194 | `(tree-sitter-hl-face:punctuation.delimiter (( ))) | ||
| 7195 | `(tree-sitter-hl-face:punctuation.special ((,class :inherit font-lock-regexp-grouping-construct))) | ||
| 7196 | `(tree-sitter-hl-face:string.special ((,class :inherit tree-sitter-hl-face:string))) | ||
| 7197 | `(tree-sitter-hl-face:tag ((,class :inherit font-lock-function-name-face))) | ||
| 7198 | `(tree-sitter-hl-face:type.argument (( ))) | ||
| 7382 | ;;;;; treemacs | 7199 | ;;;;; treemacs |
| 7383 | `(treemacs-directory-collapsed-face ((,class :foreground ,magenta-alt))) | 7200 | `(treemacs-directory-collapsed-face ((,class :foreground ,magenta-alt))) |
| 7384 | `(treemacs-directory-face ((,class :inherit dired-directory))) | 7201 | `(treemacs-directory-face ((,class :inherit dired-directory))) |
| @@ -7460,8 +7277,8 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 7460 | ;;;;; vertico | 7277 | ;;;;; vertico |
| 7461 | `(vertico-current ((,class :inherit modus-themes-completion-selected))) | 7278 | `(vertico-current ((,class :inherit modus-themes-completion-selected))) |
| 7462 | ;;;;; vertico-quick | 7279 | ;;;;; vertico-quick |
| 7463 | `(vertico-quick1 ((,class :inherit (modus-themes-intense-blue bold)))) | 7280 | `(vertico-quick1 ((,class :inherit bold :background ,bg-char-0))) |
| 7464 | `(vertico-quick2 ((,class :inherit (modus-themes-refine-magenta bold)))) | 7281 | `(vertico-quick2 ((,class :inherit bold :background ,bg-char-1))) |
| 7465 | ;;;;; vimish-fold | 7282 | ;;;;; vimish-fold |
| 7466 | `(vimish-fold-fringe ((,class :foreground ,cyan-active))) | 7283 | `(vimish-fold-fringe ((,class :foreground ,cyan-active))) |
| 7467 | `(vimish-fold-mouse-face ((,class :inherit modus-themes-intense-blue))) | 7284 | `(vimish-fold-mouse-face ((,class :inherit modus-themes-intense-blue))) |
| @@ -7491,6 +7308,8 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 7491 | `(vterm-color-underline ((,class :foreground ,fg-special-warm :underline t))) | 7308 | `(vterm-color-underline ((,class :foreground ,fg-special-warm :underline t))) |
| 7492 | `(vterm-color-white ((,class :background "gray65" :foreground "gray65"))) | 7309 | `(vterm-color-white ((,class :background "gray65" :foreground "gray65"))) |
| 7493 | `(vterm-color-yellow ((,class :background ,yellow :foreground ,yellow))) | 7310 | `(vterm-color-yellow ((,class :background ,yellow :foreground ,yellow))) |
| 7311 | ;;;;; vundo | ||
| 7312 | `(vundo-highlight ((,class :inherit (bold vundo-node) :foreground ,red-intense))) | ||
| 7494 | ;;;;; wcheck-mode | 7313 | ;;;;; wcheck-mode |
| 7495 | `(wcheck-default-face ((,class :foreground ,red :underline t))) | 7314 | `(wcheck-default-face ((,class :foreground ,red :underline t))) |
| 7496 | ;;;;; web-mode | 7315 | ;;;;; web-mode |
| @@ -7652,6 +7471,9 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 7652 | `(flymake-error-bitmap '(flymake-double-exclamation-mark modus-themes-fringe-red)) | 7471 | `(flymake-error-bitmap '(flymake-double-exclamation-mark modus-themes-fringe-red)) |
| 7653 | `(flymake-warning-bitmap '(exclamation-mark modus-themes-fringe-yellow)) | 7472 | `(flymake-warning-bitmap '(exclamation-mark modus-themes-fringe-yellow)) |
| 7654 | `(flymake-note-bitmap '(exclamation-mark modus-themes-fringe-cyan)) | 7473 | `(flymake-note-bitmap '(exclamation-mark modus-themes-fringe-cyan)) |
| 7474 | ;;;; highlight-changes | ||
| 7475 | `(highlight-changes-colors nil) | ||
| 7476 | `(highlight-changes-face-list '(success warning error bold bold-italic)) | ||
| 7655 | ;;;; ibuffer | 7477 | ;;;; ibuffer |
| 7656 | `(ibuffer-deletion-face 'modus-themes-mark-del) | 7478 | `(ibuffer-deletion-face 'modus-themes-mark-del) |
| 7657 | `(ibuffer-filter-group-name-face 'modus-themes-pseudo-header) | 7479 | `(ibuffer-filter-group-name-face 'modus-themes-pseudo-header) |
| @@ -7753,9 +7575,4 @@ by virtue of calling either of `modus-themes-load-operandi' and | |||
| 7753 | (add-to-list 'custom-theme-load-path dir)))) | 7575 | (add-to-list 'custom-theme-load-path dir)))) |
| 7754 | 7576 | ||
| 7755 | (provide 'modus-themes) | 7577 | (provide 'modus-themes) |
| 7756 | |||
| 7757 | ;; Local Variables: | ||
| 7758 | ;; time-stamp-pattern: "Last-Modified: <%Y-%02m-%02d %02H:%02M:%02S %5z>" | ||
| 7759 | ;; End: | ||
| 7760 | |||
| 7761 | ;;; modus-themes.el ends here | 7578 | ;;; modus-themes.el ends here |
diff --git a/etc/themes/modus-vivendi-theme.el b/etc/themes/modus-vivendi-theme.el index fb95772654f..fe52aefc84d 100644 --- a/etc/themes/modus-vivendi-theme.el +++ b/etc/themes/modus-vivendi-theme.el | |||
| @@ -3,8 +3,8 @@ | |||
| 3 | ;; Copyright (C) 2019-2022 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2019-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> | 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> |
| 6 | ;; URL: https://gitlab.com/protesilaos/modus-themes | 6 | ;; URL: https://git.sr.ht/~protesilaos/modus-themes |
| 7 | ;; Version: 2.3.0 | 7 | ;; Version: 2.4.1 |
| 8 | ;; Package-Requires: ((emacs "27.1")) | 8 | ;; Package-Requires: ((emacs "27.1")) |
| 9 | ;; Keywords: faces, theme, accessibility | 9 | ;; Keywords: faces, theme, accessibility |
| 10 | 10 | ||