branch: externals/modus-themes commit d5a0eeb4f0fc5f865862465c6d17482d166b3b3d Author: Protesilaos Stavrou <i...@protesilaos.com> Commit: Protesilaos Stavrou <i...@protesilaos.com>
Update to modus-themes version 4.7.0 --- CHANGELOG.org | 137 +++++++++++++++++++++++++++++++ doc/modus-themes.info | 222 +++++++++++++++++++++++++------------------------- doc/modus-themes.org | 20 ++--- modus-themes.el | 2 +- 4 files changed, 255 insertions(+), 126 deletions(-) diff --git a/CHANGELOG.org b/CHANGELOG.org index 240f2d2ab1..033a08b891 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -15,6 +15,143 @@ For further details, please consult these additional resources: + Manual :: <https://protesilaos.com/emacs/modus-themes> + Screenshots :: <https://protesilaos.com/emacs/modus-themes-pictures> +* 4.7.0 on 2025-04-17 +:PROPERTIES: +:CUSTOM_ID: h:1ee2b685-2032-45a2-8a23-70e07dafd036 +:END: + +This release introduces many subtle stylistic tweaks to the "tinted", +"deuteranopia", and "tritanopia" theme variants. + +** The ~modus-themes-list-colors~ command uses a tabulated list +:PROPERTIES: +:CUSTOM_ID: h:ed1454aa-537c-44cf-badf-846894e01d42 +:END: + +This command and its ~modus-themes-list-colors-current~ help users see +the colour values and semantic palette mappings defined by the given +theme. In the past, their buffer was designed in the same spirit as +that of the command ~list-faces-display~, whereas now it is like the +buffer of the command ~list-packages~. Concretely, users may now sort +by column. Do =M-x describe-mode= while in that buffer to learn about +the available commands and their respective key bindings. + +** The "tinted" themes have slightly different colours +:PROPERTIES: +:CUSTOM_ID: h:cd8dbafa-3c70-4f2d-8a2c-d9f1db05ec4b +:END: + +The overall feel of the ~modus-operandi-tinted~ and ~modus-vivendi-tinted~ +themes is the same as before. Though in a side-by-side comparison between the +old and new versions reveals lots of subtle differences. The general +idea is to make the themes a bit more consistent by tweaking the +foreground values to be more harmonious in combination with their +background. + +** The "deuteranopia" themes are more consistently blue and yellow +:PROPERTIES: +:CUSTOM_ID: h:03efa3e2-d0d7-4699-9064-00d51dfc8932 +:END: + +These are the ~modus-operandi-deuteranopia~ and ~modus-vivendi-deuteranopia~, +which are optimised for users with red-green colour deficiency. In the +past, these themes used blue and yellow hues wherever a concept of +"success" versus "failure" had to be established. This approach is +more generalised now, to include programming syntax highlighting and +many other contexts. In short, the themes are more blue+yellow, while +retaining their original feel. + +** The "tritanopia" themes are more consistently red and cyan +:PROPERTIES: +:CUSTOM_ID: h:f759ffa1-0750-455f-8dea-5b9bd9b909e3 +:END: + +As above, the ~modus-operandi-tritanopia~ and ~modus-vivendi-tritanopia~ +themes, which are optimised for users with blue-yellow colour deficiency, +use a red+cyan palette in more places. Overall, they feel like they +did before, only they are more consistent. + +** Miscellaneous +:PROPERTIES: +:CUSTOM_ID: h:bce8903f-9663-4bee-bcd5-b38ba4e85840 +:END: + +- Extended support for the ~icomplete~ faces that are coming in Emacs + version 31. + +- Added support for ~treemacs~ faces, courtesy of Rahul Juliato in + pull request 121: <https://github.com/protesilaos/modus-themes/pull/121>. + Rahul has assigned copyright to the Free Software Foundation. + +- Added support for the ~tldr~ package. + +- Extended support for ~adoc-mode~. Thanks to Leilei332 for the + contribution in pull request 137: <https://github.com/protesilaos/modus-themes/pull/137>. + The change is within the ~15-line limit, meaning that the author + does not need to assign copyright to the Free Software Foundation. + +- Added support for my ~spacious-padding~ package, specifically the + faces it can use when the ~spacious-padding-subtle-mode-line~ user + option is enabled. + +- Added support for the ~howm~ package. + +- Extended support to the new faces of the ~transient~ package. More + specifically, all those faces use the same colour for key bindings + because the idea of colour coding keys (e.g. light yellow means + something different than dark blue) does not work in practice when + considering accessibility. Such semantics should not be limited to + differences in colour: they should also have distinct indicators, + such as ASCII or Unicode characters. + +- Revised the ~avy~ package's faces to only use one coloured + background. The multiple coloured backgrounds have been a perennial + problem for our accessibility requirements and have made the themes + needlessly more complex just to support an edge case. With this + simplified style, ~avy~ continues to work fine: it simply is less + flamboyant. Other interfaces with ~avy~-like model of interaction, + such as optional extensions to the ~vertico~ and ~corfu~ packages, + have these same changes, in the interest of consistency. + +- Update the ~meow~ sample configuration in the manual. This package + is not directly supported at the theme level because (i) I do not + use it and (ii) it is very hard for an outsider to it to trigger the + display of all of its faces in the right context. Without seeing how + all of them look together, I cannot come up with a reliable design. + The manual offers a "good enough" approximation. + +- Broadened the support of the ~vterm~ faces to include the "bright" + colours, while updating those that were already covered. Thanks to + Edgar Vincent for informing me that some of the vterm faces were + changed a while ago. This was done in issue 317 on the GitLab + mirror: <https://gitlab.com/protesilaos/modus-themes/-/issues/317>. + +- Revised the ~org-column-title~ face to inherit the ~fixed-pitch~ + face if the user option ~modus-themes-mixed-fonts~ is non-nil. This + user option makes it possible to have a buffer with proportionately + spaced fonts (such as by enabling ~variable-pitch-mode~), while + keeping spacing-sensitive elements, like tables and code blocks, in a + monospaced font. + + Thanks to pedro-nonfree for bringing this matter to my attention in + issue 129: <https://github.com/protesilaos/modus-themes/issues/129>. + +- Simplified the helper function ~modus-themes--retrieve-palette-value~ + to make it more efficiently. Thanks to Basil L. Contovounesios for + the contribution in merge request 60 on the GitLab mirror: + <https://gitlab.com/protesilaos/modus-themes/-/merge_requests/60>. + +- Reworded the minibuffer prompt of the ~modus-themes-list-colors~ + command. + +- Made Ivy and IDO subdirectories and "virtual" buffers easier to tell + apart from matching text highlights. + +- Included coverage for the ~auto-dim-other-buffers-hide-face~ of the + package ~auto-dim-other-buffers~ + +- Covered the built-in ~abbrev-table-name~ face. + * 4.6.0 on 2024-10-27 :PROPERTIES: :CUSTOM_ID: h:6d2d7b60-8233-489b-bb49-bf9cec63ed86 diff --git a/doc/modus-themes.info b/doc/modus-themes.info index 90ca758f2b..966fa987d1 100644 --- a/doc/modus-themes.info +++ b/doc/modus-themes.info @@ -43,11 +43,11 @@ customization options for the Modus themes, and provides every other piece of information pertinent to them. The documentation furnished herein corresponds to stable version -4.6.0, released on 2024-10-27. Any reference to a newer feature which +4.7.0, released on 2025-04-17. Any reference to a newer feature which does not yet form part of the latest tagged commit, is explicitly marked as such. - Current development target is 4.7.0-dev. + Current development target is 4.8.0-dev. • Package name (GNU ELPA): ‘modus-themes’ • Official manual: <https://protesilaos.com/emacs/modus-themes> @@ -1456,11 +1456,7 @@ File: modus-themes.info, Node: Preview theme colors, Next: Use colors from the 5 Preview theme colors ********************** -[ The preview is revised as part of 4.7.0-dev to use the -‘tabulated-list-mode’. This means that the user can now sort by column. -] - - The command ‘modus-themes-list-colors’ uses minibuffer completion to +The command ‘modus-themes-list-colors’ uses minibuffer completion to select an item from the Modus themes and then produces a buffer with previews of all of its color palette entries. @@ -4322,7 +4318,7 @@ project. The idea is to offer an overview of the known status of all affected face groups. The items with an appended asterisk ‘*’ tend to have lots of extensions, so the “full support” may not be 100% true… - • abbrev [ Part of 4.7.0-dev. ] + • abbrev • ace-window • agda2-mode • all-the-icons @@ -4432,7 +4428,7 @@ have lots of extensions, so the “full support” may not be 100% true… • hl-fill-column • hl-line-mode • hl-todo - • howm [ Part of 4.7.0-dev. ] + • howm • hydra • ibuffer • icomplete @@ -4539,7 +4535,7 @@ have lots of extensions, so the “full support” may not be 100% true… • sly • smart-mode-line • smerge - • spacious-padding [ Part of 4.7.0-dev. ] + • spacious-padding • speedbar • spell-fu • stripes @@ -4555,10 +4551,10 @@ have lots of extensions, so the “full support” may not be 100% true… • terraform-mode • term • textsec - • tldr [ Part of 4.7.0-dev. ] + • tldr • transient (pop-up windows such as Magit’s) • trashed - • treemacs [ Part of 4.7.0-dev. ] + • treemacs • tree-sitter • tty-menu • tuareg @@ -6450,11 +6446,11 @@ B.1 Function index (line 6) * modus-themes-get-color-value: Get a single color from the palette with modus-themes-get-color-value. (line 6) -* modus-themes-list-colors: Preview theme colors. (line 10) -* modus-themes-list-colors-current: Preview theme colors. (line 14) +* modus-themes-list-colors: Preview theme colors. (line 6) +* modus-themes-list-colors-current: Preview theme colors. (line 10) * modus-themes-load-theme: Enable and load. (line 79) -* modus-themes-preview-colors: Preview theme colors. (line 22) -* modus-themes-preview-colors-current: Preview theme colors. (line 22) +* modus-themes-preview-colors: Preview theme colors. (line 18) +* modus-themes-preview-colors-current: Preview theme colors. (line 18) * modus-themes-rotate: Option for which themes to rotate. (line 6) * modus-themes-select: Enable and load. (line 93) @@ -6623,103 +6619,103 @@ Node: UI typeface47039 Node: Palette overrides48012 Node: Palette extension52402 Node: Preview theme colors54878 -Node: Use colors from the Modus themes palette56574 -Node: Get a single color from the palette with modus-themes-get-color-value57438 -Node: Use theme colors in code with modus-themes-with-colors59800 -Node: Advanced customization62056 -Node: DIY Palette override presets63823 -Node: DIY Add support for engrave-faces66665 -Node: DIY Stylistic variants using palette overrides76648 -Node: DIY Make the mode line borderless78707 -Node: DIY Make the active mode line colorful80082 -Node: DIY Make the tab bar more or less colorful82300 -Node: DIY Make the fringe invisible or another color84237 -Node: DIY Make links use subtle or no underlines85438 -Node: DIY Make prompts more or less colorful86556 -Node: DIY Make completion matches more or less colorful87879 -Node: DIY Make comments yellow and strings green91438 -Node: DIY Make code syntax use the old alt-syntax style93147 -Node: DIY Make use of alternative styles for code syntax96270 -Node: DIY Make matching parenthesis more or less intense99732 -Node: DIY Make box buttons more or less gray101104 -Node: DIY Make TODO and DONE more or less intense102117 -Node: DIY Make headings more or less colorful103618 -Node: DIY Make Org block colors more or less colorful105735 -Node: DIY Make Org agenda more or less colorful110109 -Node: DIY Make inline code in prose use alternative styles113284 -Node: DIY Make mail citations and headers more or less colorful115526 -Node: DIY Make the region preserve text colors plus other styles117926 -Node: DIY Make mouse highlights more or less colorful119482 -Node: DIY Make language underlines less colorful120495 -Node: DIY Make line numbers use alternative styles121647 -Node: DIY Make diffs use only a foreground123290 -Node: DIY Make deuteranopia diffs red and blue instead of yellow and blue126181 -Node: DIY More accurate colors in terminal emulators128661 -Node: DIY Range of color with terminal emulators129973 -Node: DIY Per-theme customization settings132766 -Node: DIY Do not extend the region background134199 -Node: DIY Add padding to the mode line135003 -Node: DIY Remap face with local value137937 -Node: DIY Font configurations for Org and others140484 -Ref: DIY Font configurations for Org and others-Footnote-1143469 -Node: DIY Configure bold and italic faces143656 -Node: DIY Custom Org todo keyword and priority faces148278 -Node: DIY Custom Org emphasis faces152021 -Node: DIY Use colored Org source blocks per language156902 -Node: DIY Measure color contrast161542 -Node: DIY Load theme depending on time of day164262 -Node: DIY Backdrop for pdf-tools165292 -Node: DIY Toggle themes without reloading them168461 -Node: DIY Use more spacious margins or padding in Emacs frames169770 -Node: DIY Custom hl-todo colors174027 -Node: DIY Add support for solaire-mode175844 -Node: DIY Add support for meow-mode178950 -Node: DIY Add support for combobulate180760 -Node: DIY Use a hook at the post-load-theme phase184383 -Node: DIY A theme-agnostic hook for theme loading186506 -Node: Face coverage189137 -Node: Supported packages189589 -Node: Indirectly covered packages195530 -Node: Notes on individual packages196886 -Node: Note on calendarel weekday and weekend colors197986 -Node: Note on git-gutter in Doom Emacs199134 -Node: Note on php-mode multiline comments201634 -Node: Note on underlines in compilation buffers202394 -Node: Note on inline Latex in Org buffers203266 -Node: Note on dimmerel203876 -Node: Note on display-fill-column-indicator-mode205361 -Node: Note on highlight-parenthesesel206814 -Node: Note on mmm-modeel background colors212895 -Node: Note for prism215249 -Node: Note on company-mode overlay pop-up218471 -Ref: Note on company-mode overlay pop-up-Footnote-1219201 -Ref: Note on company-mode overlay pop-up-Footnote-2219268 -Node: Note on ERC escaped color sequences219323 -Ref: Note on ERC escaped color sequences-Footnote-1220751 -Node: Note on powerline or spaceline220861 -Node: Note on SHR colors221275 -Node: Note on SHR fonts221699 -Node: Note on Ement colors and fonts222386 -Node: Note on pdf-tools link hints223896 -Node: Note on the Notmuch logo226356 -Node: Note on goto-address-mode faces226894 -Node: Frequently Asked Questions228012 -Node: Is the contrast ratio about adjacent colors?228645 -Node: What does it mean to avoid exaggerations?230154 -Node: Why are colors mostly variants of blue magenta cyan?232006 -Node: What is the best setup for legibility?236340 -Node: Are these color schemes?238988 -Node: Port the Modus themes to other platforms?242672 -Node: Contributing245518 -Node: Sources of the themes245917 -Node: Issues you can help with246813 -Node: Patches require copyright assignment to the FSF248206 -Node: Acknowledgements250428 -Node: GNU Free Documentation License254761 -Node: Indices280125 -Node: Function index280304 -Node: Variable index281900 -Node: Concept index285400 +Node: Use colors from the Modus themes palette56434 +Node: Get a single color from the palette with modus-themes-get-color-value57298 +Node: Use theme colors in code with modus-themes-with-colors59660 +Node: Advanced customization61916 +Node: DIY Palette override presets63683 +Node: DIY Add support for engrave-faces66525 +Node: DIY Stylistic variants using palette overrides76508 +Node: DIY Make the mode line borderless78567 +Node: DIY Make the active mode line colorful79942 +Node: DIY Make the tab bar more or less colorful82160 +Node: DIY Make the fringe invisible or another color84097 +Node: DIY Make links use subtle or no underlines85298 +Node: DIY Make prompts more or less colorful86416 +Node: DIY Make completion matches more or less colorful87739 +Node: DIY Make comments yellow and strings green91298 +Node: DIY Make code syntax use the old alt-syntax style93007 +Node: DIY Make use of alternative styles for code syntax96130 +Node: DIY Make matching parenthesis more or less intense99592 +Node: DIY Make box buttons more or less gray100964 +Node: DIY Make TODO and DONE more or less intense101977 +Node: DIY Make headings more or less colorful103478 +Node: DIY Make Org block colors more or less colorful105595 +Node: DIY Make Org agenda more or less colorful109969 +Node: DIY Make inline code in prose use alternative styles113144 +Node: DIY Make mail citations and headers more or less colorful115386 +Node: DIY Make the region preserve text colors plus other styles117786 +Node: DIY Make mouse highlights more or less colorful119342 +Node: DIY Make language underlines less colorful120355 +Node: DIY Make line numbers use alternative styles121507 +Node: DIY Make diffs use only a foreground123150 +Node: DIY Make deuteranopia diffs red and blue instead of yellow and blue126041 +Node: DIY More accurate colors in terminal emulators128521 +Node: DIY Range of color with terminal emulators129833 +Node: DIY Per-theme customization settings132626 +Node: DIY Do not extend the region background134059 +Node: DIY Add padding to the mode line134863 +Node: DIY Remap face with local value137797 +Node: DIY Font configurations for Org and others140344 +Ref: DIY Font configurations for Org and others-Footnote-1143329 +Node: DIY Configure bold and italic faces143516 +Node: DIY Custom Org todo keyword and priority faces148138 +Node: DIY Custom Org emphasis faces151881 +Node: DIY Use colored Org source blocks per language156762 +Node: DIY Measure color contrast161402 +Node: DIY Load theme depending on time of day164122 +Node: DIY Backdrop for pdf-tools165152 +Node: DIY Toggle themes without reloading them168321 +Node: DIY Use more spacious margins or padding in Emacs frames169630 +Node: DIY Custom hl-todo colors173887 +Node: DIY Add support for solaire-mode175704 +Node: DIY Add support for meow-mode178810 +Node: DIY Add support for combobulate180620 +Node: DIY Use a hook at the post-load-theme phase184243 +Node: DIY A theme-agnostic hook for theme loading186366 +Node: Face coverage188997 +Node: Supported packages189449 +Node: Indirectly covered packages195270 +Node: Notes on individual packages196626 +Node: Note on calendarel weekday and weekend colors197726 +Node: Note on git-gutter in Doom Emacs198874 +Node: Note on php-mode multiline comments201374 +Node: Note on underlines in compilation buffers202134 +Node: Note on inline Latex in Org buffers203006 +Node: Note on dimmerel203616 +Node: Note on display-fill-column-indicator-mode205101 +Node: Note on highlight-parenthesesel206554 +Node: Note on mmm-modeel background colors212635 +Node: Note for prism214989 +Node: Note on company-mode overlay pop-up218211 +Ref: Note on company-mode overlay pop-up-Footnote-1218941 +Ref: Note on company-mode overlay pop-up-Footnote-2219008 +Node: Note on ERC escaped color sequences219063 +Ref: Note on ERC escaped color sequences-Footnote-1220491 +Node: Note on powerline or spaceline220601 +Node: Note on SHR colors221015 +Node: Note on SHR fonts221439 +Node: Note on Ement colors and fonts222126 +Node: Note on pdf-tools link hints223636 +Node: Note on the Notmuch logo226096 +Node: Note on goto-address-mode faces226634 +Node: Frequently Asked Questions227752 +Node: Is the contrast ratio about adjacent colors?228385 +Node: What does it mean to avoid exaggerations?229894 +Node: Why are colors mostly variants of blue magenta cyan?231746 +Node: What is the best setup for legibility?236080 +Node: Are these color schemes?238728 +Node: Port the Modus themes to other platforms?242412 +Node: Contributing245258 +Node: Sources of the themes245657 +Node: Issues you can help with246553 +Node: Patches require copyright assignment to the FSF247946 +Node: Acknowledgements250168 +Node: GNU Free Documentation License254501 +Node: Indices279865 +Node: Function index280044 +Node: Variable index281640 +Node: Concept index285140 End Tag Table diff --git a/doc/modus-themes.org b/doc/modus-themes.org index 3bf69d5c35..8b5940f83a 100644 --- a/doc/modus-themes.org +++ b/doc/modus-themes.org @@ -4,9 +4,9 @@ #+language: en #+options: ':t toc:nil author:t email:t num:t #+startup: content -#+macro: stable-version 4.6.0 -#+macro: release-date 2024-10-27 -#+macro: development-version 4.7.0-dev +#+macro: stable-version 4.7.0 +#+macro: release-date 2025-04-17 +#+macro: development-version 4.8.0-dev #+macro: file @@texinfo:@file{@@$1@@texinfo:}@@ #+macro: space @@texinfo:@: @@ #+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@ @@ -1306,10 +1306,6 @@ Examples demonstrating how to use the aforementioned: :end: #+cindex: Preview named colors or semantic color mappings -[ The preview is revised as part of {{{development-version}}} to use - the ~tabulated-list-mode~. This means that the user can now sort by - column. ] - #+findex: modus-themes-list-colors The command ~modus-themes-list-colors~ uses minibuffer completion to select an item from the Modus themes and then produces a buffer with @@ -4167,7 +4163,7 @@ project. The idea is to offer an overview of the known status of all affected face groups. The items with an appended asterisk =*= tend to have lots of extensions, so the "full support" may not be 100% true… -+ abbrev [ Part of {{{development-version}}}. ] ++ abbrev + ace-window + agda2-mode + all-the-icons @@ -4275,7 +4271,7 @@ have lots of extensions, so the "full support" may not be 100% true… + hl-fill-column + hl-line-mode + hl-todo -+ howm [ Part of {{{development-version}}}. ] ++ howm + hydra + ibuffer + icomplete @@ -4382,7 +4378,7 @@ have lots of extensions, so the "full support" may not be 100% true… + sly + smart-mode-line + smerge -+ spacious-padding [ Part of {{{development-version}}}. ] ++ spacious-padding + speedbar + spell-fu + stripes @@ -4398,10 +4394,10 @@ have lots of extensions, so the "full support" may not be 100% true… + terraform-mode + term + textsec -+ tldr [ Part of {{{development-version}}}. ] ++ tldr + transient (pop-up windows such as Magit's) + trashed -+ treemacs [ Part of {{{development-version}}}. ] ++ treemacs + tree-sitter + tty-menu + tuareg diff --git a/modus-themes.el b/modus-themes.el index 77aee77f2b..945d7b5585 100644 --- a/modus-themes.el +++ b/modus-themes.el @@ -5,7 +5,7 @@ ;; Author: Protesilaos Stavrou <i...@protesilaos.com> ;; Maintainer: Protesilaos Stavrou <i...@protesilaos.com> ;; URL: https://github.com/protesilaos/modus-themes -;; Version: 4.6.0 +;; Version: 4.7.0 ;; Package-Requires: ((emacs "28.1")) ;; Keywords: faces, theme, accessibility