fix(fonts): repair Waybar font and add system-wide fontconfig defaults
Update PKGBUILD version / update-pkgver (push) Successful in 3s
Update PKGBUILD version / update-pkgver (push) Successful in 3s
Nerd Fonts renamed "Ubuntu" -> "UbuntuSans"; Waybar's dead family name token-matched to Hack. Correct the explicit name and ship owned conf.d defaults mapping the generic families to the moonarch fonts. - waybar/style.css: "Ubuntu Nerd Font" -> "UbuntuSans Nerd Font" - conf.d/65-moonarch-fonts.conf: sans-serif/monospace, binding="strong" (weak prefer ranks behind the generic fallback) - document fontconfig defaults in CLAUDE.md and DECISIONS.md
This commit is contained in:
@@ -63,6 +63,14 @@ Diagnose-Script das den Systemzustand gegen moonarch-Defaults prüft:
|
||||
- System-Config (UFW, Pacman/Paru Repos, Default Shell)
|
||||
- Verzeichnisse + Permissions
|
||||
|
||||
## Fontconfig Defaults
|
||||
|
||||
Systemweite generic-family Defaults via `defaults/etc/fonts/conf.d/65-moonarch-fonts.conf` (owned by moonarch-git):
|
||||
- `sans-serif` → UbuntuSans Nerd Font, `monospace` → UbuntuSansMono Nerd Font
|
||||
- Nummer **65**: lädt nach `60-latin.conf`, sodass die moonarch-Prefs den Stock-Default (Noto/DejaVu) schlagen. `local.conf` (bei 51 via `51-local.conf`) lädt zu früh und wird von 60-latin überstimmt — daher **nicht** verwenden (außerdem für lokale User-Overrides reserviert).
|
||||
- Aliases brauchen `binding="strong"` — ein weak `<prefer>` (fontconfig-Default) rankt hinter dem effektiven generischen Fallback und greift nicht.
|
||||
- Greift nur für Apps die generische Familien nutzen (z.B. Firefox-Web-Fallback). moonarch-Apps (Waybar, foot, GTK, walker, swaync) setzen den Font explizit.
|
||||
|
||||
## Konventionen
|
||||
|
||||
- Paketlisten sind einfache Textdateien, ein Paket pro Zeile, Kommentare mit `#`
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# Decisions
|
||||
|
||||
## 2026-06-08 – Fontconfig generic-family defaults via owned conf.d (65)
|
||||
- **Who**: Dominik, ClaudeCode
|
||||
- **Why**: Waybar rendered in Hack instead of Ubuntu after the Nerd Fonts "Ubuntu"→"UbuntuSans" rename (Canonical rebrand). Waybar's style.css referenced the now-dead family "Ubuntu Nerd Font"; fontconfig token-matched it to "Hack Nerd Font". An unowned hand-written `/etc/fonts/local.conf` additionally pinned sans-serif/monospace to Hack — a stale relic.
|
||||
- **Tradeoffs**: `local.conf` (loaded at 51 via `51-local.conf`) is structurally too early — `60-latin.conf` prepends Noto/DejaVu afterwards and wins, so its sans-serif pin never took effect. local.conf is also reserved for local admin overrides, and packaging it as owned would collide with pre-existing unowned files on pacman update. A conf.d file at 65 loads after 60-latin (convention: 60–69 = generic→family) and wins cleanly without conflict.
|
||||
- **How**: New owned `defaults/etc/fonts/conf.d/65-moonarch-fonts.conf` maps sans-serif→UbuntuSans Nerd Font, monospace→UbuntuSansMono Nerd Font; installed by moonarch-git PKGBUILD. Stale `/etc/fonts/local.conf` removed. Waybar `style.css` font-family corrected "Ubuntu Nerd Font"→"UbuntuSans Nerd Font" (the bar wants the explicit proportional font, not a generic). The aliases need `binding="strong"` — verified that a weak `<prefer>` (fontconfig's default for `<alias>`) ranks behind the system's effective generic fallback and does not take effect; strong is required for it to apply.
|
||||
|
||||
## 2026-05-04 – Nightlight default OFF, no global enablement
|
||||
|
||||
- **Who**: Dominik, ClaudeCode
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- ABOUTME: System-wide fontconfig generic-family defaults for Moonarch. -->
|
||||
<!-- ABOUTME: Loads after 60-latin (number 65) so these prefs win over stock defaults. -->
|
||||
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
|
||||
<fontconfig>
|
||||
<description>Moonarch generic-family defaults</description>
|
||||
<!-- binding="strong" required: the default weak <prefer> ranks behind
|
||||
stock generic fallbacks, so it would not take effect. -->
|
||||
<alias binding="strong">
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>UbuntuSans Nerd Font</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias binding="strong">
|
||||
<family>monospace</family>
|
||||
<prefer>
|
||||
<family>UbuntuSansMono Nerd Font</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
</fontconfig>
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
* {
|
||||
border: none;
|
||||
font-family: "Ubuntu Nerd Font", sans-serif;
|
||||
font-family: "UbuntuSans Nerd Font", sans-serif;
|
||||
font-size: 13px;
|
||||
color: alpha(@theme_text_color, 0.8);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user