emacs/var/elfeed/db/data/76/7670f81861726f405a25a1d1b7a816234c9cb3f3
2022-01-03 12:49:32 -06:00

52 lines
2.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p>As you may know, I only sync the <code>modus-themes</code> with core Emacs whenever
a new tagged version is available. So the last such update I made to
emacs.git was in commit <code>ce33ad8bae</code> on 2021-11-18 when I published
version 1.7.0 (see <a href="https://protesilaos.com/codelog/2021-11-18-modus-themes-1-7-0/">release
notes</a>).
The next version will come in a few weeks. In the meantime, users may
have to apply some changes to their Emacs init file to cope with the
occasional introduction of a new face.</p>
<p>One such example is the new <code>mode-line-active</code> face, which makes use of
proportionately spaced fonts (it inherits the <code>variable-pitch</code> face).
We already support that face in modus-themes.git but until the new
version is available users must introduce their own tweaks.</p>
<p>A basic setup for those who only use either <code>modus-operandi</code> or
<code>modus-vivendi</code>:</p>
<pre><code class="language-elisp">(set-face-attribute 'mode-line-active nil :inherit 'mode-line)
</code></pre>
<p>And this for those who switch between the two themes (e.g. with <code>M-x
modus-themes-toggle</code>):</p>
<pre><code class="language-elisp">(defun my-modus-themes-custom-faces ()
(set-face-attribute 'mode-line-active nil :inherit 'mode-line))
;; This is so that the changes persist when switching between the themes
(add-hook 'modus-themes-after-load-theme-hook #'my-modus-themes-custom-faces)
</code></pre>
<p>If you prefer to use the syntax from the themes source code or if you
intend to define multiple faces that use colours from the active themes
palette, implement the following:</p>
<pre><code class="language-elisp">(defun my-modus-themes-custom-faces ()
(modus-themes-with-colors
(custom-set-faces
`(mode-line-active ((,class :inherit mode-line))))))
;; This is so that the changes persist when switching between the themes
(add-hook 'modus-themes-after-load-theme-hook #'my-modus-themes-custom-faces)
</code></pre>
<p><a href="https://protesilaos.com/emacs/modus-themes">The manual</a>, which you can
also access from Emacs (evaluate <code>(info "(modus-themes) Top")</code>) provides
more advanced examples for all sorts of do-it-yourself scenaria.</p>
<p>Finally, note that the themes have long supported <code>variable-pitch</code> in
the user interface as an option, though the default is the monospaced
font (or, if you want to be technical, the <code>:font-family</code> of the
<code>default</code> face). Just set the variable <code>modus-themes-variable-pitch-ui</code>
to non-nil and, as always, reload the theme for changes to take effect.</p>