aboutsummaryrefslogtreecommitdiffstats
path: root/SPEC.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-15 17:24:02 +0200
committerDanilo M. <danix@danix.xyz>2026-09-15 17:24:02 +0200
commita595fc7ca575de9de87f1311f3113f6fd4c6c326 (patch)
treed359b86a3d7dcdeb219b2d84768879b0782e8f88 /SPEC.md
parent7f52e94d2386858cb32c18d5a5982dbb966cb174 (diff)
downloadwaybar-theme-udt-a595fc7ca575de9de87f1311f3113f6fd4c6c326.tar.gz
waybar-theme-udt-a595fc7ca575de9de87f1311f3113f6fd4c6c326.zip
fix: give the launcher a mark for each state
The pill inverts on hover, so one mark could never work: filled dark it vanished on the dark hover background, filled light it would vanish on the accent pill at rest. Both halves of that shipped, one after the other. Removing the hover rule did not help either, because the GTK theme paints its own hover shade on the button node underneath. Declining to set a background does not leave the pill alone, it leaves that shade in charge. So the mark moves out of the image module and into CSS, where a background-image can be swapped per state: dark on the accent pill at rest, light on the dark pill hovered, with the hover background set explicitly rather than left to the theme. install.sh generates both tints from one source file, so they cannot drift apart in shape. That makes the launcher a custom module, since an image module's path is read once and CSS cannot reach inside it. Its format is a single space for the usual reason: an empty one draws no widget at all. install.sh also removes the file the old image module left behind. The prune only clears dangling symlinks, and that one was written as a real file, so nothing had been removing it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'SPEC.md')
-rw-r--r--SPEC.md4
1 files changed, 2 insertions, 2 deletions
diff --git a/SPEC.md b/SPEC.md
index 54e6d62..8042637 100644
--- a/SPEC.md
+++ b/SPEC.md
@@ -47,7 +47,7 @@ transparent gaps, so the bar reads as groups rather than a continuous strip.
| Position | Module | Icon source | Notes |
| --- | --- | --- | --- |
-| DP-1 centre | `image#launcher` | `slackware.svg`, shipped here | Accent background, the one always-coloured pill. Opens the quickshell drawer. An `image` module: a `custom` one draws nothing when its format is empty, and the format has to be empty because the mark is an icon. |
+| DP-1 centre | `custom/launcher` | `slackware.svg` + `slackware-light.svg`, shipped here | Accent background, the one always-coloured pill. Opens the quickshell drawer. A `custom` module with the mark as a CSS background, because CSS can swap the image on `:hover` and cannot reach inside an `image` module. Its format is a single space: an empty one draws no widget at all. |
| left | `clock#date` | `x-office-calendar` | Icon then text. Calendar tooltip kept. |
| left | `clock#time` | `clock` | Icon then text. |
| left | `hyprland/workspaces` | eight themed icons, via CSS | See below. |
@@ -134,7 +134,7 @@ Modular, one file per module, mirroring the current setup:
workspaces.jsonc
language.jsonc
custom/
- launcher.jsonc
+ launcher.jsonc the drawer button, mark drawn in CSS
vmdot.jsonc
extras/
taskbar.jsonc