From 66ff9ea64b2e0a51ed3306e5ac830516aac060ef Mon Sep 17 00:00:00 2001 From: Protesilaos Stavrou Date: Fri, 28 Oct 2022 06:48:46 +0300 Subject: [PATCH] Update to modus-themes version 3.0.0 --- CHANGELOG.org | 177 ++++++++++++++++++++++++++++ doc/modus-themes.info | 251 ++++++++++++++++++++-------------------- doc/modus-themes.org | 14 +-- modus-operandi-theme.el | 2 +- modus-themes.el | 2 +- modus-vivendi-theme.el | 2 +- 6 files changed, 307 insertions(+), 141 deletions(-) diff --git a/CHANGELOG.org b/CHANGELOG.org index 5979abd..f9fd605 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -15,6 +15,182 @@ For further details, please consult these additional resources: + Manual :: + Screenshots :: +* 3.0.0 +:PROPERTIES: +:CUSTOM_ID: h:6829db8d-52c5-43a8-a026-f213dcfaced9 +:END: + +#+begin_src text +Modus themes version 3.0.0 + +By Protesilaos Stavrou on 2022-10-28 + + +The version that will ship with Emacs 29 +======================================== + +The 'modus-operandi' and 'modus-vivendi' themes (package name is +'modus-themes') have been a part of Emacs since August 2020. Emacs 28 +ships with version 1.6.0 of the themes. Emacs 29 will include version +3.0.0. + +There is no clean upgrade path from the old version of the themes to +the current one. Users are advised to review their configurations and +consult with the detailed manual of the themes. + +I am available to answer any questions, either via my personal email +or on the official sources of the themes. Find the full list here: +. + + +Minor breaking changes +====================== + +I have changed the default value of the following user options: + +1. 'modus-themes-hl-line' +2. 'modus-themes-completions' +3. 'modus-themes-fringes' + +In the case of the first two, the background of the highlighted line +is made to look a bit more intense. + +For the fringes, this tweak makes them visible, using a subtle grey +colour. By default, "fringe" is an 8-pixel-wide area to the left and +right side of an Emacs window. + +The intent of these changes is to make the out-of-the-box experience +consistent with the accessibility considerations of the Modus themes. +Specifically because some users may not realise that the themes are +highly customisable. + +To revert to the old defaults, users must include this (or equivalent) +in their init file: + + (setq modus-themes-completions nil + modus-themes-hl-line nil + modus-themes-fringes nil) + +As always, changes to theme user options take effect upon a reload of +the theme. + +This was announced on my website: +. + + +Support for new faces or changes to existing ones +================================================= + +,* Refined the 'telega' faces for inline code and preformatted + elements. The faces are 'telega-entity-type-code' and + 'telega-entity-type-pre', respectively. This change makes them + subject to the style specified in the user option + 'modus-themes-markup'. + + Thanks to Pablo Stafforini for showing me screenshots of how they + look, as I am not a telega/telegram user and cannot do this myself. + Done as part of issue 170 on the GitLab mirror: + . + +,* Removed all attributes from the 'textsec-suspicious' face. By + default, it applies a background, but does not affect the + foreground. The result is thus inaccessible in many cases + (e.g. blue links against a red background). There is no need for + such a background though, as the warnings are accompanied by the + relevant emoji: ⚠️. + + To support this face, we need it to affect the foreground as well. + +,* Deleted some 'consult' "preview" faces in the interest of + consistency. This is to match the current style of the project: + . + +,* Expanded support of the built-in 'diff-mode' faces to include the + 'diff-changed-unspecified'. It is made to look the same as + 'diff-changed', i.e. yellow-tinted. There is a good chance that a + user will never see this face in action (I only encountered it + once). + +,* Reworked all the 'highlight-regexp' faces (like 'hi-yellow') to use + bespoke colour values. + + These faces need to have a background that is consistent with their + semantics. Furthermore, they need to use the 'inverse-video' + attribute which, in turn, affects the combinations of colour we can + apply. Our accented backgrounds are designed to contrast well with + our nominal main foreground values, whereas this case demands + coloured backgrounds that contrast nicely with what would normally + be the main background colour. As such, we cannot apply our + ordinary entries from each theme's palette. It would be inefficient + to expand the palette of each theme just for this edge case. + + Thanks to Kevin Kainan Li for the feedback on the mailing list, where + they informed me that the previous design was too dark/mute (and I + agreed with that assessment) and provided feedback on my samples: + . + +,* Recoloured the 'modus-themes-completion-match-1' to use a shade of + blue instead of cyan. This contributes to the distinctiveness of + those matches relative to 'modus-themes-completion-match-0' and the + other groups. These faces are used in completion User Interfaces, + such as 'vertico', 'corfu', 'orderless'. They are subject to the + user option 'modus-themes-completions'. + +,* Added support for the 'olivetti-fringe' face. Its background is the + same as the main background, meaning that the fringes are invisible + when 'olivetti-mode' is enabled. Thanks to Matthias Fuchs for + producing a report that helped me track this problem. It was done + in issue 46 on the GitHub mirror: + . + + +Miscellaneous +============= + +,* Added the new Emacs 29 theme properties to 'modus-operandi' and + 'modus-vivendi'. These make the themes work with the new built-in + command 'toggle-theme'. Thanks to Philip Kaludercic for the patch + and for the work on this in emacs.git: + . + +,* Refrained from deprecating the 'modus-themes-toggle' command in + favour of the new generic 'toggle-theme'. + + The 'toggle-theme' is not functionally equivalent to the command + 'modus-themes-toggle' due to the optional arguments it accepts. + With 'toggle-theme' we are prompted to confirm loading the theme, + due to how unsafe themes can be... Further, we are asked to add the + loaded theme to the list of "safe" themes. This only applies to the + packaged version of the 'modus-themes', not the items that are built + into Emacs. + + These prompts are consistent with how 'load-theme' works, but not + with what the user of 'modus-themes-toggle' has come to expect. + + Users who do not like to maintain a 'custom-file' (like me) are thus + penalised each time they invoke the command. + + The 'modus-themes-toggle' will only be deprecated if there is, say, + a user option in Emacs that disables those prompts each time a theme + is loaded. Basically, we need an arrangement that just toggles + themes without questions. + + Thanks to Rudolf Adamkovič for suggesting the idea and to Philip + Kaludercic for the 'toggle-theme' (and related functionality): + . + +,* Corrected the one-line description of the 'modus-vivendi' theme, + which was describing itself as a "light" theme. + +,* Ensured that the manual and all doc strings in the code use American + English, per the convention of emacs.git (my CHANGELOG still uses + what I prefer). Thanks to Stefan Kangas for contributing to this + effort with a patch that properly renders 'non-nil' in the texinfo + output as 'non-@code{nil}'. + +,* Made other minor tweaks and refinements. +#+end_src + * 2.7.0 :PROPERTIES: :CUSTOM_ID: h:4d86106c-1df5-4f5f-bc6c-f14f5d13403b @@ -53,6 +229,7 @@ Support for packages or faces ,* Applied styles for the 'icon-button' face of Emacs 29. + ,* Styled the 'log-edit-headers-separator' face of Emacs 29 (it was introduced upstream by a patch of mine). diff --git a/doc/modus-themes.info b/doc/modus-themes.info index 5b8b54c..72a8c7b 100644 --- a/doc/modus-themes.info +++ b/doc/modus-themes.info @@ -43,15 +43,16 @@ customization options for the ‘modus-operandi’ and ‘modus-vivendi’ themes, and provides every other piece of information pertinent to them. The documentation furnished herein corresponds to stable version -2.7.0, released on 2022-10-01. Any reference to a newer feature which +3.0.0, released on 2022-10-28. 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 3.0.0-dev. + Current development target is 3.1.0-dev. • Homepage: . • Git repository: . • Mailing list: . + • Backronym: My Old Display Unexpectedly Sharpened ... themes * Menu: @@ -1348,9 +1349,7 @@ File: modus-themes.info, Node: Completion UIs, Next: Mail citations, Prev: Ta 4.12 Option for completion framework aesthetics =============================================== -[ Default value changed as part of 3.0.0-dev. ] - - Brief: Set the overall style of completion framework interfaces. +Brief: Set the overall style of completion framework interfaces. Symbol: ‘modus-themes-completions’ (‘alist’ type properties) @@ -1474,9 +1473,7 @@ File: modus-themes.info, Node: Fringes, Next: Language checkers, Prev: Mail c 4.14 Option for fringe visibility ================================= -[ Default value changed as part of 3.0.0-dev. ] - - Brief: Control the overall coloration of the fringes. +Brief: Control the overall coloration of the fringes. Symbol: ‘modus-themes-fringes’ (‘choice’ type) @@ -1565,9 +1562,7 @@ File: modus-themes.info, Node: Line highlighting, Next: Line numbers, Prev: L 4.16 Option for line highlighting ================================= -[ Default value changed as part of 3.0.0-dev. ] - - Brief: Control the style of the current line of ‘hl-line-mode’. +Brief: Control the style of the current line of ‘hl-line-mode’. Symbol: ‘modus-themes-hl-line’ (‘choice’ type, list of properties) @@ -4713,7 +4708,7 @@ have lots of extensions, so the “full support” may not be 100% true… • notmuch • num3-mode • nxml-mode - • olivetti [Part of 3.0.0-dev.] + • olivetti • orderless • org* • org-journal @@ -6930,122 +6925,122 @@ B.3 Concept index  Tag Table: Node: Top872 -Node: Overview7796 -Node: How do the themes look like9920 -Node: Learn about the latest changes10434 -Node: Installation10822 -Node: Install manually from source11344 -Node: Install from the archives12169 -Node: Install on GNU/Linux12768 -Node: Debian 11 Bullseye13261 -Node: GNU Guix13671 -Node: Dealing with byte compilation errors13954 -Node: Enable and load15112 -Node: Sample configuration with and without use-package18651 -Node: Differences between loading and enabling21556 -Node: Customization Options23565 -Node: Custom reload theme31945 -Node: Deuteranopia style32734 -Node: Bold constructs34171 -Node: Italic constructs35011 -Node: Syntax styles35784 -Node: Mixed fonts37916 -Node: Link styles39186 -Node: Box buttons41660 -Node: Command prompts44963 -Node: Mode line46784 -Node: Tab style52297 -Node: Completion UIs52966 -Node: Mail citations56904 -Node: Fringes58056 -Node: Language checkers58740 -Node: Line highlighting61182 -Node: Line numbers63011 -Node: Mouse hover effects64098 -Node: Markup64719 -Node: Matching parentheses66319 -Node: Active region67696 -Node: Diffs69109 -Node: Org mode blocks70772 -Node: Org agenda73174 -Node: Heading styles82008 -Node: UI typeface86926 -Node: Advanced customization87831 -Node: More accurate colors in terminal emulators89591 -Node: Range of color with terminal emulators90832 -Node: Visualize the active Modus theme's palette93537 -Node: Per-theme customization settings94533 -Node: Case-by-case face specs using the themes' palette95889 -Node: Face specs at scale using the themes' palette100437 -Node: Remap face with local value105238 -Node: Cycle through arbitrary colors107663 -Node: Override colors114090 -Node: Override color saturation119332 -Node: Override colors through blending125013 -Node: Override colors completely127858 -Node: Font configurations for Org and others141360 -Ref: Font configurations for Org and others-Footnote-1144287 -Node: Configure bold and italic faces144474 -Node: Custom Org todo keyword and priority faces148622 -Node: Custom Org emphasis faces152295 -Node: Update Org block delimiter fontification157096 -Node: Measure color contrast159013 -Node: Load theme depending on time of day161736 -Node: Backdrop for pdf-tools162744 -Node: Decrease mode line height165596 -Node: Toggle themes without reloading them169718 -Node: A theme-agnostic hook for theme loading170997 -Node: Diffs with only the foreground173399 -Node: Ediff without diff color-coding176513 -Node: Near-monochrome syntax highlighting178652 -Node: Custom hl-todo colors187649 -Node: Add support for solaire-mode189170 -Node: Face coverage192088 -Node: Supported packages192540 -Node: Indirectly covered packages199141 -Node: Notes on individual packages200269 -Node: Note on calendarel weekday and weekend colors201413 -Node: Note on git-gutter in Doom Emacs202561 -Node: Note on php-mode multiline comments204649 -Node: Note on underlines in compilation buffers205402 -Node: Note on inline Latex in Org buffers206239 -Node: Note on dimmerel206849 -Node: Note on display-fill-column-indicator-mode208334 -Node: Note on highlight-parenthesesel209732 -Node: Note on mmm-modeel background colors215782 -Node: Note for prism218097 -Node: Note for god-mode221253 -Node: Note on company-mode overlay pop-up222857 -Ref: Note on company-mode overlay pop-up-Footnote-1223547 -Ref: Note on company-mode overlay pop-up-Footnote-2223614 -Node: Note on ERC escaped color sequences223669 -Ref: Note on ERC escaped color sequences-Footnote-1225097 -Node: Note on powerline or spaceline225207 -Node: Note on SHR colors225621 -Node: Note on SHR fonts226045 -Node: Note on Ement colors and fonts226684 -Node: Note on Helm grep228183 -Node: Note on pdf-tools link hints229653 -Node: Note on the Notmuch logo232100 -Node: Note on goto-address-mode faces232638 -Node: Frequently Asked Questions233750 -Node: Is the contrast ratio about adjacent colors?234381 -Node: What does it mean to avoid exaggerations?235888 -Node: Why are colors mostly variants of blue magenta cyan?237717 -Node: What is the best setup for legibility?242023 -Node: Are these color schemes?244668 -Node: Port the Modus themes to other platforms?248388 -Node: Contributing251169 -Node: Sources of the themes251566 -Node: Issues you can help with252265 -Node: Patches require copyright assignment to the FSF253837 -Node: Acknowledgements256057 -Node: Other notes about the project259682 -Node: GNU Free Documentation License262680 -Node: Indices288057 -Node: Function index288236 -Node: Variable index290039 -Node: Concept index292326 +Node: Overview7863 +Node: How do the themes look like9987 +Node: Learn about the latest changes10501 +Node: Installation10889 +Node: Install manually from source11411 +Node: Install from the archives12236 +Node: Install on GNU/Linux12835 +Node: Debian 11 Bullseye13328 +Node: GNU Guix13738 +Node: Dealing with byte compilation errors14021 +Node: Enable and load15179 +Node: Sample configuration with and without use-package18718 +Node: Differences between loading and enabling21623 +Node: Customization Options23632 +Node: Custom reload theme32012 +Node: Deuteranopia style32801 +Node: Bold constructs34238 +Node: Italic constructs35078 +Node: Syntax styles35851 +Node: Mixed fonts37983 +Node: Link styles39253 +Node: Box buttons41727 +Node: Command prompts45030 +Node: Mode line46851 +Node: Tab style52364 +Node: Completion UIs53033 +Node: Mail citations56918 +Node: Fringes58070 +Node: Language checkers58701 +Node: Line highlighting61143 +Node: Line numbers62919 +Node: Mouse hover effects64006 +Node: Markup64627 +Node: Matching parentheses66227 +Node: Active region67604 +Node: Diffs69017 +Node: Org mode blocks70680 +Node: Org agenda73082 +Node: Heading styles81916 +Node: UI typeface86834 +Node: Advanced customization87739 +Node: More accurate colors in terminal emulators89499 +Node: Range of color with terminal emulators90740 +Node: Visualize the active Modus theme's palette93445 +Node: Per-theme customization settings94441 +Node: Case-by-case face specs using the themes' palette95797 +Node: Face specs at scale using the themes' palette100345 +Node: Remap face with local value105146 +Node: Cycle through arbitrary colors107571 +Node: Override colors113998 +Node: Override color saturation119240 +Node: Override colors through blending124921 +Node: Override colors completely127766 +Node: Font configurations for Org and others141268 +Ref: Font configurations for Org and others-Footnote-1144195 +Node: Configure bold and italic faces144382 +Node: Custom Org todo keyword and priority faces148530 +Node: Custom Org emphasis faces152203 +Node: Update Org block delimiter fontification157004 +Node: Measure color contrast158921 +Node: Load theme depending on time of day161644 +Node: Backdrop for pdf-tools162652 +Node: Decrease mode line height165504 +Node: Toggle themes without reloading them169626 +Node: A theme-agnostic hook for theme loading170905 +Node: Diffs with only the foreground173307 +Node: Ediff without diff color-coding176421 +Node: Near-monochrome syntax highlighting178560 +Node: Custom hl-todo colors187557 +Node: Add support for solaire-mode189078 +Node: Face coverage191996 +Node: Supported packages192448 +Node: Indirectly covered packages199028 +Node: Notes on individual packages200156 +Node: Note on calendarel weekday and weekend colors201300 +Node: Note on git-gutter in Doom Emacs202448 +Node: Note on php-mode multiline comments204536 +Node: Note on underlines in compilation buffers205289 +Node: Note on inline Latex in Org buffers206126 +Node: Note on dimmerel206736 +Node: Note on display-fill-column-indicator-mode208221 +Node: Note on highlight-parenthesesel209619 +Node: Note on mmm-modeel background colors215669 +Node: Note for prism217984 +Node: Note for god-mode221140 +Node: Note on company-mode overlay pop-up222744 +Ref: Note on company-mode overlay pop-up-Footnote-1223434 +Ref: Note on company-mode overlay pop-up-Footnote-2223501 +Node: Note on ERC escaped color sequences223556 +Ref: Note on ERC escaped color sequences-Footnote-1224984 +Node: Note on powerline or spaceline225094 +Node: Note on SHR colors225508 +Node: Note on SHR fonts225932 +Node: Note on Ement colors and fonts226571 +Node: Note on Helm grep228070 +Node: Note on pdf-tools link hints229540 +Node: Note on the Notmuch logo231987 +Node: Note on goto-address-mode faces232525 +Node: Frequently Asked Questions233637 +Node: Is the contrast ratio about adjacent colors?234268 +Node: What does it mean to avoid exaggerations?235775 +Node: Why are colors mostly variants of blue magenta cyan?237604 +Node: What is the best setup for legibility?241910 +Node: Are these color schemes?244555 +Node: Port the Modus themes to other platforms?248275 +Node: Contributing251056 +Node: Sources of the themes251453 +Node: Issues you can help with252152 +Node: Patches require copyright assignment to the FSF253724 +Node: Acknowledgements255944 +Node: Other notes about the project259569 +Node: GNU Free Documentation License262567 +Node: Indices287944 +Node: Function index288123 +Node: Variable index289926 +Node: Concept index292213  End Tag Table diff --git a/doc/modus-themes.org b/doc/modus-themes.org index 6dc830d..c5accd0 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 2.7.0 -#+macro: release-date 2022-10-01 -#+macro: development-version 3.0.0-dev +#+macro: stable-version 3.0.0 +#+macro: release-date 2022-10-28 +#+macro: development-version 3.1.0-dev #+macro: file @@texinfo:@file{@@$1@@texinfo:}@@ #+macro: space @@texinfo:@: @@ #+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@ @@ -1197,8 +1197,6 @@ Centaur tabs package. :end: #+vindex: modus-themes-completions -[ Default value changed as part of {{{development-version}}}. ] - Brief: Set the overall style of completion framework interfaces. Symbol: ~modus-themes-completions~ (=alist= type properties) @@ -1333,8 +1331,6 @@ not touch. :end: #+vindex: modus-themes-fringes -[ Default value changed as part of {{{development-version}}}. ] - Brief: Control the overall coloration of the fringes. Symbol: ~modus-themes-fringes~ (=choice= type) @@ -1429,8 +1425,6 @@ respectively. :end: #+vindex: modus-themes-hl-line -[ Default value changed as part of {{{development-version}}}. ] - Brief: Control the style of the current line of ~hl-line-mode~. Symbol: ~modus-themes-hl-line~ (=choice= type, list of properties) @@ -4682,7 +4676,7 @@ have lots of extensions, so the "full support" may not be 100% true… + notmuch + num3-mode + nxml-mode -+ olivetti [Part of {{{development-version}}}.] ++ olivetti + orderless + org* + org-journal diff --git a/modus-operandi-theme.el b/modus-operandi-theme.el index c981e8b..6ea92f8 100644 --- a/modus-operandi-theme.el +++ b/modus-operandi-theme.el @@ -6,7 +6,7 @@ ;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht> ;; URL: https://git.sr.ht/~protesilaos/modus-themes ;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes -;; Version: 2.7.1 +;; Version: 3.0.0 ;; Package-Requires: ((emacs "27.1")) ;; Keywords: faces, theme, accessibility diff --git a/modus-themes.el b/modus-themes.el index b7c4c84..5be36f0 100644 --- a/modus-themes.el +++ b/modus-themes.el @@ -6,7 +6,7 @@ ;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht> ;; URL: https://git.sr.ht/~protesilaos/modus-themes ;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes -;; Version: 2.7.1 +;; Version: 3.0.0 ;; Package-Requires: ((emacs "27.1")) ;; Keywords: faces, theme, accessibility diff --git a/modus-vivendi-theme.el b/modus-vivendi-theme.el index 746a008..aefef54 100644 --- a/modus-vivendi-theme.el +++ b/modus-vivendi-theme.el @@ -6,7 +6,7 @@ ;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht> ;; URL: https://git.sr.ht/~protesilaos/modus-themes ;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes -;; Version: 2.7.1 +;; Version: 3.0.0 ;; Package-Requires: ((emacs "27.1")) ;; Keywords: faces, theme, accessibility