- the audio page's master rows now match the home page: an icon, a bar and a
percentage, no 'Output'/'Microphone' captions
- GtkStack was vhomogeneous, so every view was padded to the tallest one and
the scrolled list clipped while empty space sat below it. Views size
themselves now, and the scrollers propagate natural height up to a cap.
- power and action row glyphs 15px -> 20px
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cn3dHfbgNYdbZvzb1b3GQt
- GtkBox set_border_width shrinks the widget's own background, so the card was
inset 30px while its contents sat flush against the card edge. Padding is css
now: 12px transparent gutter outside, 20px inside. Measured on a virtual
display rather than guessed.
- the panel grabs the seat on map, like rofi, so it keeps keyboard and pointer
focus wherever the cursor is; the grab is released on close
- every control shows its key in the bottom-right: n b v d p w for the tiles,
a c s t for the row beneath, l o z r q for power, m/i to mute, arrows for
volume
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cn3dHfbgNYdbZvzb1b3GQt
The panel styled itself at PRIORITY_APPLICATION (600) while
~/.config/gtk-3.0/gtk.css loads at PRIORITY_USER (800) and styles plain
'button'. The user sheet won, so tile backgrounds never applied - but the
more specific '.tile.active .tile-icon { color: #0f0d17 }' did, which is why
icons rendered black on dark tiles. The panel now loads at USER + 1.
- global blur made every translucent window fuzzy, not just the panel: removed
- picom no longer re-rounds the panel; it clipped at 12px over an 18px css
radius and chewed the corners
- active tiles are a tint plus an accent border rather than a solid accent fill
- 10px transparent gutter outside the card, 20px padding inside
- the particles tile was using a television glyph; now an atom
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cn3dHfbgNYdbZvzb1b3GQt
- audio view: output/input device switching, master volume + mic, and
per-application streams with their own sliders (pactl sink-inputs)
- icons rendered black because GTK used the desktop font (Noto Sans), which
has no Nerd Font glyphs; Pango's per-glyph fallback then ignored the css
colour. Icon classes now name the font explicitly.
- bspwm drew a focus border around the panel that fought the css rounded
corners: border=off on the rule
- picom now blurs translucent surfaces, so the panel reads as glass rather
than showing the text behind it
- padding and spacing throughout: frame 20px, section margins, card padding
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cn3dHfbgNYdbZvzb1b3GQt
rofi spawns a process per menu, so every volume nudge and every step back
destroyed and recreated the window. That is the flicker, and no tuning fixes
it. The panel is now one GTK window: a GtkStack for views, real GtkScale
sliders wired to wpctl, status on a timer, and a pidfile so super+x toggles
it shut. Escape steps back inside the same window.
Also: picom no longer fades or animates rofi, ::selection is not valid GTK
css, and the network/bluetooth lists no longer print their payload column.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cn3dHfbgNYdbZvzb1b3GQt