Version 2.0.0 of package Fontaine has just been released in GNU ELPA. You can now find it in M-x list-packages RET.
Fontaine describes itself as: ===================================== Set font configurations using presets ===================================== More at https://elpa.gnu.org/packages/fontaine.html ## Summary: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ FONTAINE.EL: SET FONT CONFIGURATIONS USING PRESETS Protesilaos Stavrou [email protected] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ This manual, written by Protesilaos Stavrou, describes the customization options for `fontaine' (or `fontaine.el'), and provides every other piece of information pertinent to it. The documentation furnished herein corresponds to stable version 2.0.0, released on 2024-04-16. 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 2.0.0-dev. ## Recent NEWS: ━━━━━━━━━━━━━━━━━━━━━━━━━━━ CHANGE LOG OF FONTAINE.EL ━━━━━━━━━━━━━━━━━━━━━━━━━━━ This document contains the release notes for each tagged commit on the project's main git repository: <https://github.com/protesilaos/fontaine>. The newest release is at the top. For further details, please consult the manual: <https://protesilaos.com/emacs/fontaine>. Version 2.0.0 on 2024-04-16 ═══════════════════════════ Control the fonts of more faces ─────────────────────────────── This version brings a major expansion to the scope of the user option `fontaine-presets'. It can now control the font family and concomitant attributes of more Emacs faces. In particular, it covers the following additional faces: • `mode-line-active' and `mode-line-inactive'. • `header-line'. • `line-number' (from the `display-line-numbers-mode' or its global variant). • `tab-bar' (from the `tab-bar-mode'). • `tab-line' (from the `tab-line-mode'). All the supported faces are stored as the value of the variable `fontaine-faces'. This is the complete list: • `default' • `fixed-pitch' • `fixed-pitch-serif' • `variable-pitch' • `mode-line-active' • `mode-line-inactive' • `line-number' • `tab-bar' • `tab-line' • `bold' • `italic' Existing users do not need to update their configuration, as (i) the old values will still work and (ii) undefined values fall back to reliable known values. This change empowers users to further configure their setup, such as: • Make the mode lines smaller than the main text. • Use a proportionately spaced font for the tabs, while retaining a monospaced font for editing. • Use a different font family for line numbers to differentiate them from the main body of text. These are some possibilities. Then consider that different presets can change specify different configurations. For example, a `coding' preset can be all about small, monospaced fonts, while a `reading' preset may increase the font sizes and apply proportionately spaced fonts. The doc string of `fontaine-presets' covers the technicalities, as does the official manual (shipped with the package or available on my website: <https://protesilaos.com/emacs/fontaine>). Thanks to Ashlin Eldridge for suggesting the inclusion of mode line and line number faces. This was done in issue 4: <https://github.com/protesilaos/fontaine/issues/4>. Use the `fontaine-mode' to persist presets ────────────────────────────────────────── The new `fontaine-mode' provides a convenience toggle to do the following: 1. Store the current Fontaine preset before closing Emacs. 2. Store the latest preset after using the command `fontaine-set-preset'. 3. Persist font configurations while changing themes. The purpose of storing the latest preset is to restore it easily, such as when starting Emacs. In the manual, we mention this in the sample configuration: ┌──── │ ;; Set the last preset or fall back to desired style from `fontaine-presets' │ ;; (the `regular' in this case). │ (fontaine-set-preset (or (fontaine-restore-latest-preset) 'regular)) └──── This takes effect while starting up Emacs. So if, say, the user had selected a `reading' preset with `fontaine-set-preset' and then closed Emacs while `fontaine-mode' was enabled, the `reading' preset will be restored on startup. Thanks to Adam Porter (alphapapa) for suggesting this in issue 2: <https://github.com/protesilaos/fontaine/issues/2>. We used to provide code in the sample configuration which was doing what `fontaine-mode' does, though this is easier to set up (plus it is a toggle). Deprecated the command `fontaine-set-face-font' ─────────────────────────────────────────────── This command was used to interactively set the attributes of a face. It was not consistent with the rest of Fontaine's functionality, plus it was not faster than setting face attributes directly from Lisp … …
