From 324c9a405476a19fb75148856af54fe859b8de97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9?= <88944321+Ninso112@users.noreply.github.com> Date: Mon, 11 May 2026 10:15:37 +0200 Subject: [PATCH] Fix fontconfig monospace binding overriding app-specific fonts (#5700) Change monospace match from mode="assign" binding="strong" to mode="append" binding="same" so the system font acts as a fallback instead of overriding explicit app font configs like Ghostty's font-family. Add migration to fix existing user configs. Fixes #5675 --- config/fontconfig/fonts.conf | 2 +- migrations/1778346208.sh | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 migrations/1778346208.sh diff --git a/config/fontconfig/fonts.conf b/config/fontconfig/fonts.conf index 2d873761..e1230262 100644 --- a/config/fontconfig/fonts.conf +++ b/config/fontconfig/fonts.conf @@ -23,7 +23,7 @@ monospace - + JetBrainsMono Nerd Font diff --git a/migrations/1778346208.sh b/migrations/1778346208.sh new file mode 100644 index 00000000..89ab6ebd --- /dev/null +++ b/migrations/1778346208.sh @@ -0,0 +1,11 @@ +echo "Fix fontconfig monospace binding so app-specific fonts are not overridden" + +if [[ -f ~/.config/fontconfig/fonts.conf ]] && command -v xmlstarlet >/dev/null 2>&1; then + xmlstarlet ed -L \ + -u '//match[@target="pattern"][test/string="monospace"]/edit[@name="family"]/@mode' \ + -v "append" \ + -u '//match[@target="pattern"][test/string="monospace"]/edit[@name="family"]/@binding' \ + -v "same" \ + ~/.config/fontconfig/fonts.conf + fc-cache -f >/dev/null 2>&1 +fi