aboutsummaryrefslogtreecommitdiff
path: root/tests/test-font-config.el
Commit message (Collapse)AuthorAgeFilesLines
* feat: add workflow font profilesCraig Jennings7 days1-30/+226
| | | | | | I replaced the mixed Fontaine presets with seven named profiles that persist across restarts. The mode line, echo area, and minibuffer stay in Berkeley Mono. Nov applies the shared Reading profile inside each EPUB buffer without changing the global selection.
* fix(font-config): daemon emoji images and a re-runnable font listCraig Jennings2026-07-111-0/+42
| | | | | | emojify-display-style was computed once from env-gui-p inside the :defer'd :config block. In a daemon that block runs before any GUI frame exists, so the style latched to unicode and GUI frames never got image emoji. Recompute it per-frame from server-after-make-frame-hook, mirroring the emoji-fontset setup above. cj/display-available-fonts called special-mode at the end, leaving the buffer read-only, so the second invocation errored on erase-buffer. Rewrite it under inhibit-read-only.
* refactor(icons): drop all-the-icons, nerd-icons drives everythingCraig Jennings2026-06-291-6/+6
| | | | nerd-icons already rendered every icon in the config (dashboard, dirvish, ibuffer, completion). all-the-icons survived only as scaffolding: a font-install helper, the all-the-icons-nerd-fonts bridge, and a terminal-blanking advice block the nerd-icons one beside it already duplicated. I removed all of it and pointed the font-install helper at nerd-icons (Symbols Nerd Font Mono), keeping the auto-install-on-first-GUI-frame convenience. I updated the font-config tests to the renamed helper.
* fix(font-config): theme-aware browser labels and daemon-safe emoji fontsetCraig Jennings2026-05-251-0/+23
| | | | | | Two font-config robustness fixes. The font-browser (cj/display-available-fonts) hardcoded a "Light Blue" foreground for each family label, which goes nearly unreadable on a light theme. I switched it to font-lock-keyword-face so the label follows the theme's contrast, keeping it bold. The emoji-fontset cond ran once at module load behind (env-gui-p). In daemon mode there's no GUI frame at load, so env-gui-p is nil and the fontset never gets set — a later emacsclient -c GUI frame then has no emoji font. I wrapped it in cj/setup-emoji-fontset (GUI-guarded, idempotent) and, mirroring how the fontaine preset is already applied, run it from server-after-make-frame-hook in daemon mode and directly otherwise. The daemon TTY-then-GUI path can't be exercised in batch, so I left a manual-test entry for it.
* test(font-config): smoke-cover the install check and daemon-frame applierCraig Jennings2026-05-251-0/+74
font-config.el had no direct tests. I added four: cj/font-installed-p returns t or nil depending on find-font, and cj/apply-font-settings-to-frame is a no-op on a non-GUI frame and applies the preset exactly once per frame, so reopening a daemon frame doesn't restack it. find-font, env-gui-p, and fontaine-set-preset are stubbed so the run stays headless. The module :demand's fontaine and all-the-icons, so a skip-unless on those packages keeps a bare checkout green while the tests still run wherever the fonts are installed.