From: Protesilaos Stavrou Date: Fri, 19 Aug 2022 09:40:47 +0000 (+0300) Subject: Update the modus-themes to their 2.6.0 version X-Git-Tag: emacs-29.0.90~1447^2~52 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=dd97bff219dd3039c576710850e04fa4fa32f004;p=emacs.git Update the modus-themes to their 2.6.0 version * doc/misc/modus-themes.org (Sample configuration with and without use-package): Add missing parenthesis to the manual. (Option for completion framework aesthetics) (Custom Org emphasis faces): Minor rewording. (Custom hl-todo colors): Add instructions on how to add user-level support for the 'solaire' package, as the modus-themes no longer support it. (Full support for packages or face groups): Remove 'solaire' from the list of supported packages. (Note on git-gutter in Doom Emacs) (Note on php-mode multiline comments) (Note on highlight-parentheses.el): Clarify need to re-load the theme for changes to take effect. (Acknowledgements): Update acknowledgements. * etc/themes/modus-themes.el (modus-themes-faces): Fix typo. (modus-themes--version): Reword docstring and update to current value. (modus-themes--weight): Stop using deprecated alias of symbol. * etc/themes/modus-operandi-theme.el: * etc/themes/modus-vivendi-theme.el: Bump version number. Detailed release notes: . --- diff --git a/doc/misc/modus-themes.org b/doc/misc/modus-themes.org index ddd9595fc89..f3750452510 100644 --- a/doc/misc/modus-themes.org +++ b/doc/misc/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.5.0 -#+macro: release-date 2022-08-03 -#+macro: development-version 2.6.0-dev +#+macro: stable-version 2.6.0 +#+macro: release-date 2022-08-19 +#+macro: development-version 2.7.0-dev #+macro: file @@texinfo:@file{@@$1@@texinfo:}@@ #+macro: space @@texinfo:@: @@ #+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@ @@ -361,7 +361,7 @@ package configurations in their setup. We use this as an example: :config ;; Load the theme of your choice: (load-theme 'modus-operandi) ;; OR (load-theme 'modus-vivendi) - :bind ("" . modus-themes-toggle) + :bind ("" . modus-themes-toggle)) @@ -1253,7 +1253,7 @@ accepts is as follows (order is not significant): The ~popup~ key takes the same values as ~selection~. -Apart from specifying each key separately, a fallback list is accepted. +Apart from specfying each key separately, a fallback list is accepted. This is only useful when the desired aesthetic is the same across all keys that are not explicitly referenced. For example, this: @@ -3639,7 +3639,7 @@ it if you plan to control face attributes. :end: #+cindex: Org custom emphasis faces -Org provides the user option ~org-emphasis-alist~ which associates a +Org provides the user option ~org-emphasis-alist~ which assosiates a character with a face, list of faces, or face attributes. The default specification of that variable looks like this: @@ -4411,6 +4411,64 @@ Or include a ~let~ form, if needed: Normally, we do not touch user options, though this is an exception: otherwise the defaults are not always legible. +** Add support for solaire-mode +:PROPERTIES: +:CUSTOM_ID: h:439c9e46-52e2-46be-b1dc-85841dd99671 +:END: + +The =solaire-mode= package dims the background of what it considers +ancillary "UI" buffers, such as the minibuffer and Dired buffers. The +Modus themes used to support Solaire on the premise that the user was +(i) opting in to it, (ii) understood why certain buffers were more gray, +and (iii) knew what other adjustments had to be made to prevent broken +visuals (e.g. the default style of the ~modus-themes-completions~ uses a +subtle gray background for the selection, which with Solaire becomes +practically invisible). + +However, the assumption that users opt in to this feature does not +always hold true. There are cases where it is enabled by defaultsuch as +in the popular Doom Emacs configuration. Thus, the unsuspecting user +who loads ~modus-operandi~ or ~modus-vivendi~ without the requisite +customizations is getting a sub-par experience; an experience that we +did not intend and cannot genuinely fix. + +Because the Modus themes are meant to work everywhere, we cannot make an +exception for Doom Emacs and/or Solaire users. Furthermore, we shall +not introduce hacks, such as by adding a check in all relevant faces to +be adjusted based on Solaire or whatever other package. Hacks of this +sort are unsustainable and penalize the entire userbase. Besides, the +themes are built into Emacs and we must keep their standard high. + +The fundamental constraint with Solaire is that Emacs does not have a +real distinction between "content" and "UI" buffers. For themes to work +with Solaire, they need to be designed around that package. Such is an +arrangement that compromises on our accessibility standards and/or +hinders our efforts to provide the best possible experience while using +the Modus themes. + +As such, =solaire-mode= is not---and will not be---supported by the +Modus themes (or any other of my themes, for that matter). Users who +want it must style the faces manually. Below is some sample code, based +on what we cover at length elsewhere in this manual: + +[[#h:f4651d55-8c07-46aa-b52b-bed1e53463bb][Advanced customization]]. + +[[#h:51ba3547-b8c8-40d6-ba5a-4586477fd4ae][Face specs at scale using the themes' palette]]. + +#+begin_src emacs-lisp +(defun my-modus-themes-custom-faces () + (modus-themes-with-colors + (custom-set-faces + `(solaire-default-face ((,class :inherit default :background ,bg-alt :foreground ,fg-dim))) + `(solaire-line-number-face ((,class :inherit solaire-default-face :foreground ,fg-unfocused))) + `(solaire-hl-line-face ((,class :background ,bg-active))) + `(solaire-org-hide-face ((,class :background ,bg-alt :foreground ,bg-alt)))))) + +(add-hook 'modus-themes-after-load-theme-hook #'my-modus-themes-custom-faces) +#+end_src + +As always, re-load the theme for changes to take effect. + * Face coverage :properties: :custom_id: h:a9c8f29d-7f72-4b54-b74b-ddefe15d6a19 @@ -4679,7 +4737,6 @@ have lots of extensions, so the "full support" may not be 100% true… + smart-mode-line + smartparens + smerge -+ solaire + spaceline + speedbar + stripes @@ -4853,6 +4910,8 @@ length elsewhere in this manual: (add-hook 'modus-themes-after-load-theme-hook #'my-modus-themes-custom-faces) #+end_src +As always, re-load the theme for changes to take effect. + If the above does not work, try this instead: #+begin_src emacs-lisp @@ -4888,6 +4947,8 @@ This seems to make all comments use the appropriate face: (add-hook 'php-mode-hook #'my-multine-comments) #+end_src +As always, re-load the theme for changes to take effect. + ** Note on underlines in compilation buffers :properties: :custom_id: h:420f5a33-c7a9-4112-9b04-eaf2cbad96bd @@ -5127,6 +5188,8 @@ implementation: (add-hook 'modus-themes-after-load-theme-hook #'my-modus-themes-highlight-parentheses) #+end_src +As always, re-load the theme for changes to take effect. + ** Note on mmm-mode.el background colors :properties: :custom_id: h:99cf0d6c-e478-4e26-9932-3bf3427d13f6 @@ -6014,9 +6077,10 @@ The Modus themes are a collective effort. Every bit of work matters. Carlo Zancanaro, Christian Tietze, Daniel Mendler, Eli Zaretskii, Fritz Grabo, Illia Ostapyshyn, Kévin Le Gouguec, Kostadin Ninev, Madhavan Krishnan, Manuel Giraud, Markus Beppler, Matthew Stevenson, - Mauro Aranda, Nicolas De Jaeghere, Philip Kaludercic, Pierre - Téchoueyres, Rudolf Adamkovič, Stephen Gildea, Shreyas Ragavan, Stefan - Kangas, Utkarsh Singh, Vincent Murphy, Xinglu Chen, Yuanchen Xie. + Mauro Aranda, Nicolas De Jaeghere, Paul David, Philip Kaludercic, + Pierre Téchoueyres, Rudolf Adamkovič, Stephen Gildea, Shreyas Ragavan, + Stefan Kangas, Utkarsh Singh, Vincent Murphy, Xinglu Chen, Yuanchen + Xie. + Ideas and user feedback :: Aaron Jensen, Adam Porter, Adam Spiers, Adrian Manea, Alex Griffin, Alex Koen, Alex Peitsinis, Alexey Shmalko, diff --git a/etc/themes/modus-operandi-theme.el b/etc/themes/modus-operandi-theme.el index 20af99df941..fd7ffff98ff 100644 --- a/etc/themes/modus-operandi-theme.el +++ b/etc/themes/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.5.0 +;; Version: 2.6.0 ;; Package-Requires: ((emacs "27.1")) ;; Keywords: faces, theme, accessibility diff --git a/etc/themes/modus-themes.el b/etc/themes/modus-themes.el index e64a11b74f5..c4edb1efcb8 100644 --- a/etc/themes/modus-themes.el +++ b/etc/themes/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.5.0 +;; Version: 2.6.0 ;; Package-Requires: ((emacs "27.1")) ;; Keywords: faces, theme, accessibility @@ -103,19 +103,19 @@ cover the blue-cyan-magenta side of the spectrum." :tag "Modus Themes") (defgroup modus-themes-faces () - "Faces defined my `modus-operandi' and `modus-vivendi'." + "Faces defined by `modus-operandi' and `modus-vivendi'." :group 'modus-themes :link '(info-link "(modus-themes) Top") :prefix "modus-themes-" :tag "Modus Themes Faces") -(defvar modus-themes--version "2.5.0" +(defvar modus-themes--version "2.6.0" "Current version of the Modus themes. -The version either is the last tagged release, such as '2.4.0', -or an in-development version like '2.5.0-dev'. As we use -semantic versioning, tags of the '2.4.1' sort are not reported: -those would count as part of '2.5.0-dev'.") +The version either is the last tagged release, such as '1.0.0', +or an in-development version like '1.1.0-dev'. As we use +semantic versioning, tags of the '1.0.1' sort are not reported: +those would count as part of '1.1.0-dev'.") ;;;###autoload (defun modus-themes-version (&optional insert) @@ -2270,7 +2270,7 @@ follows (order is not significant): The `popup' key takes the same values as `selection'. -Apart from specifying each key separately, a fallback list is +Apart from specfying each key separately, a fallback list is accepted. This is only useful when the desired aesthetic is the same across all keys that are not explicitly referenced. For example, this: @@ -3239,7 +3239,7 @@ an alternative to the default value." "Search for `modus-themes--heading' weight in LIST." (catch 'found (dolist (elt list) - (when (memq elt modus-themes--heading-weights) + (when (memq elt modus-themes-weights) (throw 'found elt))))) (defun modus-themes--heading (level fg fg-alt bg bg-gray border) @@ -4782,6 +4782,7 @@ by virtue of calling either of `modus-themes-load-operandi' and `(consult-narrow-indicator ((,class :foreground ,magenta-alt))) `(consult-preview-cursor ((,class :inherit modus-themes-intense-blue))) `(consult-preview-error ((,class :inherit modus-themes-intense-red))) + `(consult-preview-insertion ((,class :inherit modus-themes-special-warm))) `(consult-preview-line ((,class :background ,bg-hl-alt-intense))) ;;;;; corfu `(corfu-current ((,class :inherit modus-themes-completion-selected-popup))) @@ -5464,8 +5465,8 @@ by virtue of calling either of `modus-themes-load-operandi' and cyan cyan-faint blue-alt blue-alt-faint)))) `(font-lock-warning-face ((,class :inherit modus-themes-bold - ,@(modus-themes--syntax-foreground - yellow yellow-alt-faint)))) + ,@(modus-themes--syntax-comment + yellow red yellow-alt-faint red-faint)))) ;;;;; forge `(forge-post-author ((,class :inherit bold :foreground ,fg-main))) `(forge-post-date ((,class :foreground ,fg-special-cold))) @@ -6182,7 +6183,7 @@ by virtue of calling either of `modus-themes-load-operandi' and `(markdown-comment-face ((,class :inherit font-lock-comment-face))) `(markdown-footnote-marker-face ((,class :inherit bold :foreground ,cyan-alt))) `(markdown-footnote-text-face ((,class :inherit modus-themes-slant :foreground ,fg-main))) - `(markdown-gfm-checkbox-face ((,class :foreground ,cyan-alt-other))) + `(markdown-gfm-checkbox-face ((,class :foreground ,yellow-alt-other))) `(markdown-header-delimiter-face ((,class :inherit modus-themes-bold :foreground ,fg-dim))) `(markdown-header-face ((t nil))) `(markdown-header-face-1 ((,class :inherit modus-themes-heading-1))) @@ -6357,6 +6358,7 @@ by virtue of calling either of `modus-themes-load-operandi' and `(mu4e-moved-face ((,class :inherit modus-themes-slant :foreground ,yellow))) `(mu4e-ok-face ((,class :inherit bold :foreground ,green))) `(mu4e-region-code ((,class :inherit modus-themes-special-calm))) + `(mu4e-related-face ((,class :inherit (italic shadow)))) `(mu4e-replied-face ((,class :foreground ,blue))) `(mu4e-special-header-value-face ((,class :inherit message-header-subject))) `(mu4e-system-face ((,class :inherit modus-themes-slant :foreground ,fg-mark-del))) @@ -6496,7 +6498,7 @@ by virtue of calling either of `modus-themes-load-operandi' and bg-dim fg-special-cold bg-alt fg-alt)))) `(org-block-end-line ((,class :inherit org-block-begin-line))) - `(org-checkbox (( ))) + `(org-checkbox ((,class :foreground ,yellow-alt-other))) `(org-checkbox-statistics-done ((,class :inherit org-done))) `(org-checkbox-statistics-todo ((,class :inherit org-todo))) `(org-clock-overlay ((,class :background ,yellow-nuanced-bg :foreground ,red-alt-faint))) @@ -6963,11 +6965,6 @@ by virtue of calling either of `modus-themes-load-operandi' and `(smerge-refined-changed (())) `(smerge-refined-removed ((,class :inherit modus-themes-diff-refine-removed))) `(smerge-upper ((,class :inherit modus-themes-diff-removed))) -;;;;; solaire - `(solaire-default-face ((,class :inherit default :background ,bg-alt :foreground ,fg-dim))) - `(solaire-line-number-face ((,class :inherit solaire-default-face :foreground ,fg-unfocused))) - `(solaire-hl-line-face ((,class :background ,bg-active))) - `(solaire-org-hide-face ((,class :background ,bg-alt :foreground ,bg-alt))) ;;;;; spaceline `(spaceline-evil-emacs ((,class :inherit modus-themes-active-magenta))) `(spaceline-evil-insert ((,class :inherit modus-themes-active-green))) diff --git a/etc/themes/modus-vivendi-theme.el b/etc/themes/modus-vivendi-theme.el index f2c916ef30a..ba75a2527da 100644 --- a/etc/themes/modus-vivendi-theme.el +++ b/etc/themes/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.5.0 +;; Version: 2.6.0 ;; Package-Requires: ((emacs "27.1")) ;; Keywords: faces, theme, accessibility