A dropdown that hits the clamp landed exactly on frameWidth, fusing
into the frame band in the SDF and losing its rounded corner — that
is what the calendar was doing at the top. Clamp now insets by
panelGap at both ends.
Bottom cluster spacing 12 -> 16, separators 5 -> 10.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Calendar was left on dropdownY: bar.height / 2 from the rotation, so
it opened at screen centre instead of next to the clock it comes from.
It now maps the clock's position like every other dropdown.
Bottom cluster reads as one clump: bumped its spacing to 12 to match
the top and split status icons / tray / power with separators.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Bar moves from a horizontal top band to a vertical left column
(Theme.barHeight -> barWidth, 46px for the stacked HH/mm clock).
Every panel now grows rightward out of the bar instead of down:
the dropdown chrome's morph axis, the SDF surface geometry and the
session menu all swap x/y. The launcher is the one surface left at
bottom-centre, as asked.
New: NixOS snowflake at the top (recoloured to the accent with the
tray's hidden-Image + ColorOverlay trick), vertical workspace dots
whose focused pill grows on height, an inline OSD slot in the gap
between the two clusters, and a power button in the bottom-left
that opens the session menu.
Dropped the flush-to-far-edge dropdown special case — clamped
tracking plus the SDF melt already covers it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sixth surface in the SDF chrome shader, melting out of the bottom
frame. Volume is reactive via Pipewire so the OSD also fires for
pavucontrol/mixer changes; brightness routes through a new osd IPC
handler since sysfs backlight only notifies via POLLPRI.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Battle.net (non-Steam shortcut, class steam_app_0) spams window-activation
events that clear quickshell's HyprlandFocusGrab, instantly closing the
launcher / power menu. suppress_event activate activatefocus drops them.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- album art uses ClippingRectangle so the image follows the radius
- NotifContent gains an app icon + name header
- notifications move to a full-width card spanning both panes, each item
showing the notification image preview when present
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Extend the launcher/session HyprlandFocusGrab to the bar dropdowns and
remove the per-dropdown inactivity timers. Shift+Super+S brackets hyprshot
with a screenshot pin so open menus survive slurp's input grab.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>