Bind monospace to a Nerd Font and keep panels clear of the bar

This commit is contained in:
2026-09-21 01:07:16 +00:00
parent deeacbe580
commit a9b9ba6ba4
5 changed files with 43 additions and 2 deletions
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
<test name="family" qual="any">
<string>monospace</string>
</test>
<edit name="family" mode="prepend_first" binding="strong">
<string>JetBrainsMono Nerd Font</string>
</edit>
</match>
</fontconfig>
+7 -1
View File
@@ -35,7 +35,13 @@ with `--check`.
resolves cannot cost you the other hundred and the config, service and login
steps below. See [packages.md](packages.md).
4. **Config** is copied into `~/.config`: `hypr/`, the themed app configs,
`blob/shell.json`, the uwsm environment, and the icon font.
`blob/shell.json`, the uwsm environment, `fontconfig/fonts.conf`, and the
icon font, and the font cache is refreshed. The shell draws every icon as a
Nerd Font glyph in the `monospace` family, and on a fresh Arch install
fontconfig resolves that to a font with no such glyphs, so the bar and its
panels come up full of blanks. `fonts.conf` binds `monospace` to
`JetBrainsMono Nerd Font`; `blob font set` rewrites the same file, and the
installer then reports it as a local change and keeps your choice.
`session/profile.sh` also goes to `/etc/profile.d/blob.sh`, which sources
`session/env-bootstrap` and is what puts `blob` on `PATH` in a login shell.
Without it `BLOB_PATH` and `$BLOB_PATH/bin` are only set by
+1
View File
@@ -63,6 +63,7 @@ link_blob_path
install_packages
install_shipped_config
refresh_font_cache
install_shell_profile
install_user_units
install_systemd_dropins
+15
View File
@@ -63,6 +63,21 @@ install_shipped_config() {
install_file "$repo_dir/fonts/omarchy.ttf" "$font_dir/omarchy.ttf" "fonts/omarchy.ttf"
}
refresh_font_cache() {
if ! command -v fc-cache &>/dev/null; then
say "SKIP font cache (fc-cache not installed)"
return 0
fi
if [[ $check == true ]]; then
say "would refresh the font cache"
return 0
fi
fc-cache -f "$font_dir" >/dev/null 2>&1 || true
say "ok font cache"
}
install_shell_profile() {
install_root_file "$repo_dir/session/profile.sh" /etc/profile.d/blob.sh "profile.d/blob.sh"
}
@@ -15,6 +15,13 @@ Item {
readonly property string pluginId: (manifest && manifest.id) || "blob.quick-settings"
readonly property int barInset: {
var bar = root.shell ? root.shell.bar : null
if (!bar || bar.barHidden === true) return 0
if (String(bar.position || "top") !== "top") return 0
return Math.max(0, bar.barSize || 0)
}
function open(payloadJson) {
root.opened = true
}
@@ -187,7 +194,7 @@ Item {
Row {
anchors.top: parent.top
anchors.topMargin: Style.spaceReal(10)
anchors.topMargin: Style.spaceReal(10) + root.barInset
anchors.horizontalCenter: parent.horizontalCenter
spacing: Style.spaceReal(12)