From 4ece1ebb4487d3e565642e45d586f97172fe97ce Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Thu, 7 May 2026 09:05:54 -0500 Subject: fix: restore daemon icons and consolidate nerd-icons setup I replaced the load-time icon-stub block in keyboard-compat with per-call :around advice that checks display-graphic-p against the rendering frame. The old block ran at module-load. Under daemon startup no frame exists yet, so display-graphic-p returned nil and the empty-string stubs installed permanently. Every GUI client connecting to that daemon then saw blanks. The new shape lets one daemon serve real icons to GUI clients and blanks to terminal clients. I also pulled the nerd-icons-completion and nerd-icons-ibuffer integrations, the package install, and a new tint helper into modules/nerd-icons-config.el. Per-feature use stays in the consuming module (dashboard, dirvish, keyboard-compat). The malformed cons-cell on the marginalia hook in selection-framework.el got fixed in the move. Added a default darkgoldenrod tint, a :filter-return advice on nerd-icons-icon-for-dir so dir icons pick up a color face, and a buffer-local face-remap in dired-mode-hook so plain files in dired render in shadow grey. 13 tests across 3 new files cover the per-call gate, the dir-color helper (idempotent under nerd-icons' memoized return strings), and the bulk-tint helper. --- modules/font-config.el | 6 ------ 1 file changed, 6 deletions(-) (limited to 'modules/font-config.el') diff --git a/modules/font-config.el b/modules/font-config.el index 3310580c..f7c3af5f 100644 --- a/modules/font-config.el +++ b/modules/font-config.el @@ -209,12 +209,6 @@ If FRAME is nil, uses the selected frame." :config (all-the-icons-nerd-fonts-prefer)) -;; -------------------------------- Nerd Icons --------------------------------- -;; Modern icon fonts for UI elements - -(use-package nerd-icons - :defer .5) - ;; ----------------------------- Emoji Fonts Per OS ---------------------------- ;; Set emoji fonts in priority order (first found wins) -- cgit v1.2.3