52 lines
2.6 KiB
Plaintext
52 lines
2.6 KiB
Plaintext
<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 theme’s
|
||
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> |