diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-15 14:52:57 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-15 14:52:57 +0200 |
| commit | 66a8d05e2461761b60e1b4126437d04dc4f3dbbe (patch) | |
| tree | 2b7ac4b566eda54246f9f392ad8d7b6775a1ef13 /install.sh | |
| parent | f85ec726b723db2ac5031c3c39bd3b250e85e63f (diff) | |
| download | waybar-theme-udt-66a8d05e2461761b60e1b4126437d04dc4f3dbbe.tar.gz waybar-theme-udt-66a8d05e2461761b60e1b4126437d04dc4f3dbbe.zip | |
fix: make the launcher mark load and draw
Three faults stacked on the same pill, each hidden by the one before it.
A module's `path` is not shell-expanded the way `exec` is, so "$HOME/..."
was taken literally, no file was found, and the module drew nothing without
logging why. The module file is generated into place now, with the absolute
path written in, which is why install.sh removes the target first: an
earlier install had symlinked that file, and a redirect onto a surviving
link truncates the link's target, which is the repo's own copy.
With a real path to try, gdk-pixbuf then refused the file. The XML was
well-formed, but the loader sniffs the opening bytes for "<svg" to choose a
decoder, and the licence comment sat in front of the root element. The
comment is inside the SVG now, and a note in the file says why it has to
stay there.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'install.sh')
| -rwxr-xr-x | install.sh | 15 |
1 files changed, 14 insertions, 1 deletions
@@ -88,7 +88,7 @@ for f in modules/clock.jsonc \ modules/custom/vmdot.jsonc modules/custom/privacy_dots.jsonc \ modules/extras/taskbar.jsonc modules/extras/tray.jsonc \ modules/image/volume.jsonc modules/image/idle_inhibitor.jsonc \ - modules/image/language.jsonc modules/image/launcher.jsonc; do + modules/image/language.jsonc; do ln -sfn "$repo/$f" "$target/$f" done @@ -101,6 +101,19 @@ done sed -e "s|@ICONS@|$icons|g" -e "s|@CONFIG@|$target|g" \ "$repo/styles/modules.css" > "$target/styles/modules.css" +# The launcher module is generated for the same reason. A module's `path` is +# NOT shell-expanded the way `exec` is, so it needs the absolute path written +# in: with "$HOME/..." waybar finds no file and the module draws nothing, with +# no error to say why. +# +# The target is removed first. An earlier install symlinked this file, and a +# redirect onto a surviving link writes THROUGH it: the shell truncates the +# link's target, which is the repo's own copy, before sed reads it. That +# emptied the source file once already. +rm -f "$target/modules/image/launcher.jsonc" +sed "s|@CONFIG@|$target|g" \ + "$repo/modules/image/launcher.jsonc" > "$target/modules/image/launcher.jsonc" + # The flags ship as they are; the Slackware mark is monochrome, so it is # tinted here. It sits ON the accent pill, so it takes the bar's background # colour rather than the accent: filled with the accent it would be invisible |
