Update to modus-themes version 3.0.0

This commit is contained in:
Protesilaos Stavrou 2022-10-28 06:48:46 +03:00
parent 076a671f83
commit 66ff9ea64b
No known key found for this signature in database
GPG key ID: 99BD6459CD5CA3EA
6 changed files with 307 additions and 141 deletions

View file

@ -15,6 +15,182 @@ For further details, please consult these additional resources:
+ Manual :: <https://protesilaos.com/emacs/modus-themes>
+ Screenshots :: <https://protesilaos.com/emacs/modus-themes-pictures>
* 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 <info@protesilaos.com> 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:
<https://protesilaos.com/emacs>.
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:
<https://protesilaos.com/codelog/2022-10-23-breaking-modus-themes-3-0-0-notice/>.
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:
<https://gitlab.com/protesilaos/modus-themes/-/issues/170#note_1143975582>.
,* 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:
<https://github.com/minad/consult/commit/1343e39fefcf8a28a7a415aa4b0a8ff7094370bf>.
,* 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:
<https://lists.sr.ht/~protesilaos/modus-themes/%3CCAMTq2Vp3Nnzv-i9wJdq4-OJ4X_QfWXySpUtAieBy0dgKLEOSBg%40mail.gmail.com%3E>.
,* 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:
<https://github.com/protesilaos/modus-themes/issues/46>.
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:
<https://lists.gnu.org/archive/html/bug-gnu-emacs/2022-10/msg00886.html>.
,* 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):
<https://lists.sr.ht/~protesilaos/modus-themes/%3C877d116lh4.fsf%40posteo.net%3E#%3Cm2lepgrd8l.fsf@me.com%3E>.
,* 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).

View file

@ -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: <https://protesilaos.com/emacs/modus-themes>.
• Git repository: <https://git.sr.ht/~protesilaos/modus-themes>.
• Mailing list: <https://lists.sr.ht/~protesilaos/modus-themes>.
• 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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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