REMOVE support for solaire-mode

Quoting from the manual:

    The 'solaire-mode' package dims the background of what it considers
    ancillary 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 in many cases as it is enabled by default in at
    least the very 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.

    Because the Modus themes are meant to work everywhere, we cannot
    make an exception for Doom Emacs 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 all users.  Besides, the
    themes are built into Emacs and we must keep their standard high.

    As such, 'solaire-mode' is not---and will not be---supported by the
    Modus themes.  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:

    [...]
This commit is contained in:
Protesilaos Stavrou 2022-08-04 06:30:51 +03:00
parent 63bdbe120d
commit 7bc79ba94e
No known key found for this signature in database
GPG key ID: 99BD6459CD5CA3EA
3 changed files with 218 additions and 122 deletions

View file

@ -151,6 +151,7 @@ Advanced customization
* Ediff without diff color-coding::
* Near-monochrome syntax highlighting::
* Custom hl-todo colors::
* Add support for solaire-mode::
Face coverage
@ -2295,6 +2296,7 @@ such, they are labelled as “do-it-yourself” or “DIY”.
* Ediff without diff color-coding::
* Near-monochrome syntax highlighting::
* Custom hl-todo colors::
* Add support for solaire-mode::

File: modus-themes.info, Node: More accurate colors in terminal emulators, Next: Range of color with terminal emulators, Up: Advanced customization
@ -4396,7 +4398,7 @@ and comments are gray. Regexp constructs are adapted accordingly.
(set-face-attribute 'font-lock-warning-face nil :inherit 'modus-themes-bold :foreground red-nuanced-fg)))

File: modus-themes.info, Node: Custom hl-todo colors, Prev: Near-monochrome syntax highlighting, Up: Advanced customization
File: modus-themes.info, Node: Custom hl-todo colors, Next: Add support for solaire-mode, Prev: Near-monochrome syntax highlighting, Up: Advanced customization
5.27 Custom hl-todo colors
==========================
@ -4430,6 +4432,55 @@ values, in which case the following approach is necessary:
Normally, we do not touch user options, though this is an exception:
otherwise the defaults are not always legible.

File: modus-themes.info, Node: Add support for solaire-mode, Prev: Custom hl-todo colors, Up: Advanced customization
5.28 Add support for solaire-mode
=================================
The solaire-mode package dims the background of what it considers
ancillary 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 in many cases as it is enabled by default in at least
the very 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.
Because the Modus themes are meant to work everywhere, we cannot make
an exception for Doom Emacs 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 all users. Besides, the themes are built
into Emacs and we must keep their standard high.
As such, solaire-mode is not—and will not be—supported by the Modus
themes. 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:
*note Advanced customization::.
*note Face specs at scale using the themes' palette::.
(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)
As always, re-load the theme for changes to take effect.

File: modus-themes.info, Node: Face coverage, Next: Notes on individual packages, Prev: Advanced customization, Up: Top
@ -4704,7 +4755,6 @@ have lots of extensions, so the “full support” may not be 100% true…
• smart-mode-line
• smartparens
• smerge
• solaire
• spaceline
• speedbar
• stripes
@ -6834,120 +6884,121 @@ B.3 Concept index

Tag Table:
Node: Top872
Node: Overview7727
Node: How do the themes look like9851
Node: Learn about the latest changes10365
Node: Installation10753
Node: Install manually from source11275
Node: Install from the archives12100
Node: Install on GNU/Linux12699
Node: Debian 11 Bullseye13192
Node: GNU Guix13602
Node: Dealing with byte compilation errors13885
Node: Enable and load15043
Node: Sample configuration with and without use-package18582
Node: Differences between loading and enabling21486
Node: Customization Options23495
Node: Custom reload theme31875
Node: Deuteranopia style32665
Node: Bold constructs34096
Node: Italic constructs34930
Node: Syntax styles35697
Node: Mixed fonts37829
Node: Link styles39093
Node: Box buttons41567
Node: Command prompts44864
Node: Mode line46685
Node: Tab style52180
Node: Completion UIs52843
Node: Mail citations56692
Node: Fringes57838
Node: Language checkers58578
Node: Line highlighting61020
Node: Line numbers62758
Node: Mouse hover effects63839
Node: Markup64454
Node: Matching parentheses66054
Node: Active region67431
Node: Diffs68844
Node: Org mode blocks70495
Node: Org agenda72885
Node: Heading styles81701
Node: UI typeface86613
Node: Advanced customization87512
Node: More accurate colors in terminal emulators89240
Node: Range of color with terminal emulators90481
Node: Visualize the active Modus theme's palette93186
Node: Per-theme customization settings94182
Node: Case-by-case face specs using the themes' palette95538
Node: Face specs at scale using the themes' palette100086
Node: Remap face with local value104887
Node: Cycle through arbitrary colors107312
Node: Override colors113740
Node: Override color saturation118982
Node: Override colors through blending124663
Node: Override colors completely127508
Node: Font configurations for Org and others141010
Ref: Font configurations for Org and others-Footnote-1143937
Node: Configure bold and italic faces144124
Node: Custom Org todo keyword and priority faces148272
Node: Custom Org emphasis faces151945
Node: Update Org block delimiter fontification156746
Node: Measure color contrast158663
Node: Load theme depending on time of day161386
Node: Backdrop for pdf-tools162379
Node: Decrease mode line height165231
Node: Toggle themes without reloading them169353
Node: A theme-agnostic hook for theme loading170632
Node: Diffs with only the foreground173034
Node: Ediff without diff color-coding176148
Node: Near-monochrome syntax highlighting178287
Node: Custom hl-todo colors187284
Node: Face coverage188768
Node: Supported packages189220
Node: Indirectly covered packages195738
Node: Notes on individual packages196866
Node: Note on calendarel weekday and weekend colors197974
Node: Note on git-gutter in Doom Emacs199122
Node: Note on php-mode multiline comments201211
Node: Note on underlines in compilation buffers201964
Node: Note on inline Latex in Org buffers202801
Node: Note on dimmerel203411
Node: Note on display-fill-column-indicator-mode204896
Node: Note on highlight-parenthesesel206294
Node: Note on mmm-modeel background colors212344
Node: Note for prism214659
Node: Note for god-mode217815
Node: Note on company-mode overlay pop-up219419
Ref: Note on company-mode overlay pop-up-Footnote-1220109
Ref: Note on company-mode overlay pop-up-Footnote-2220176
Node: Note on ERC escaped color sequences220231
Ref: Note on ERC escaped color sequences-Footnote-1221659
Node: Note on powerline or spaceline221769
Node: Note on SHR colors222183
Node: Note on SHR fonts222607
Node: Note on Ement colors and fonts223240
Node: Note on Helm grep224739
Node: Note on pdf-tools link hints226209
Node: Note on the Notmuch logo228656
Node: Frequently Asked Questions229154
Node: Is the contrast ratio about adjacent colors?229785
Node: What does it mean to avoid exaggerations?231292
Node: Why are colors mostly variants of blue magenta cyan?233121
Node: What is the best setup for legibility?237427
Node: Are these color schemes?240072
Node: Port the Modus themes to other platforms?243792
Node: Contributing246573
Node: Sources of the themes246970
Node: Issues you can help with247669
Node: Patches require copyright assignment to the FSF249241
Node: Acknowledgements251461
Node: Other notes about the project254930
Node: GNU Free Documentation License257928
Node: Indices283305
Node: Function index283484
Node: Variable index285287
Node: Concept index287574
Node: Overview7760
Node: How do the themes look like9884
Node: Learn about the latest changes10398
Node: Installation10786
Node: Install manually from source11308
Node: Install from the archives12133
Node: Install on GNU/Linux12732
Node: Debian 11 Bullseye13225
Node: GNU Guix13635
Node: Dealing with byte compilation errors13918
Node: Enable and load15076
Node: Sample configuration with and without use-package18615
Node: Differences between loading and enabling21519
Node: Customization Options23528
Node: Custom reload theme31908
Node: Deuteranopia style32698
Node: Bold constructs34129
Node: Italic constructs34963
Node: Syntax styles35730
Node: Mixed fonts37862
Node: Link styles39126
Node: Box buttons41600
Node: Command prompts44897
Node: Mode line46718
Node: Tab style52213
Node: Completion UIs52876
Node: Mail citations56725
Node: Fringes57871
Node: Language checkers58611
Node: Line highlighting61053
Node: Line numbers62791
Node: Mouse hover effects63872
Node: Markup64487
Node: Matching parentheses66087
Node: Active region67464
Node: Diffs68877
Node: Org mode blocks70528
Node: Org agenda72918
Node: Heading styles81734
Node: UI typeface86646
Node: Advanced customization87545
Node: More accurate colors in terminal emulators89306
Node: Range of color with terminal emulators90547
Node: Visualize the active Modus theme's palette93252
Node: Per-theme customization settings94248
Node: Case-by-case face specs using the themes' palette95604
Node: Face specs at scale using the themes' palette100152
Node: Remap face with local value104953
Node: Cycle through arbitrary colors107378
Node: Override colors113806
Node: Override color saturation119048
Node: Override colors through blending124729
Node: Override colors completely127574
Node: Font configurations for Org and others141076
Ref: Font configurations for Org and others-Footnote-1144003
Node: Configure bold and italic faces144190
Node: Custom Org todo keyword and priority faces148338
Node: Custom Org emphasis faces152011
Node: Update Org block delimiter fontification156812
Node: Measure color contrast158729
Node: Load theme depending on time of day161452
Node: Backdrop for pdf-tools162445
Node: Decrease mode line height165297
Node: Toggle themes without reloading them169419
Node: A theme-agnostic hook for theme loading170698
Node: Diffs with only the foreground173100
Node: Ediff without diff color-coding176214
Node: Near-monochrome syntax highlighting178353
Node: Custom hl-todo colors187350
Node: Add support for solaire-mode188871
Node: Face coverage191301
Node: Supported packages191753
Node: Indirectly covered packages198256
Node: Notes on individual packages199384
Node: Note on calendarel weekday and weekend colors200492
Node: Note on git-gutter in Doom Emacs201640
Node: Note on php-mode multiline comments203729
Node: Note on underlines in compilation buffers204482
Node: Note on inline Latex in Org buffers205319
Node: Note on dimmerel205929
Node: Note on display-fill-column-indicator-mode207414
Node: Note on highlight-parenthesesel208812
Node: Note on mmm-modeel background colors214862
Node: Note for prism217177
Node: Note for god-mode220333
Node: Note on company-mode overlay pop-up221937
Ref: Note on company-mode overlay pop-up-Footnote-1222627
Ref: Note on company-mode overlay pop-up-Footnote-2222694
Node: Note on ERC escaped color sequences222749
Ref: Note on ERC escaped color sequences-Footnote-1224177
Node: Note on powerline or spaceline224287
Node: Note on SHR colors224701
Node: Note on SHR fonts225125
Node: Note on Ement colors and fonts225758
Node: Note on Helm grep227257
Node: Note on pdf-tools link hints228727
Node: Note on the Notmuch logo231174
Node: Frequently Asked Questions231672
Node: Is the contrast ratio about adjacent colors?232303
Node: What does it mean to avoid exaggerations?233810
Node: Why are colors mostly variants of blue magenta cyan?235639
Node: What is the best setup for legibility?239945
Node: Are these color schemes?242590
Node: Port the Modus themes to other platforms?246310
Node: Contributing249091
Node: Sources of the themes249488
Node: Issues you can help with250187
Node: Patches require copyright assignment to the FSF251759
Node: Acknowledgements253979
Node: Other notes about the project257448
Node: GNU Free Documentation License260446
Node: Indices285823
Node: Function index286002
Node: Variable index287805
Node: Concept index290092

End Tag Table

View file

@ -4411,6 +4411,57 @@ 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 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 in many cases as it is enabled by default in at least
the very 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.
Because the Modus themes are meant to work everywhere, we cannot make an
exception for Doom Emacs 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 all users. Besides, the themes are built
into Emacs and we must keep their standard high.
As such, =solaire-mode= is not---and will not be---supported by the
Modus themes. 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 +4730,6 @@ have lots of extensions, so the "full support" may not be 100% true…
+ smart-mode-line
+ smartparens
+ smerge
+ solaire
+ spaceline
+ speedbar
+ stripes

View file

@ -6963,11 +6963,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)))