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>
- calendar month chevrons: fade from transparent base02, no black flash
- power menu: all four buttons use the logout base05 setup
- runner results: base01 card segment matching other dropdowns
- cards: translucent cardBg so the bar-layer blur shows through
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- crowdsec.nix: drop the ntfy notifications (one push per ban was constant
noise on the WAN-exposed box); bans still happen silently
- service-health.nix: OnFailure=notify-failure@%n on 16 core units sends an
ntfy 'down' push when a unit truly fails (after exhausting Restart=), then
a 'recovered' push when it comes back. Shares /var/secrets/ntfy-url.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Reduces the shell from 2898 → 2712 lines (~316 lines of duplication removed,
~130 of reusable scaffolding added). Rollback point: tag quickshell-pre-refactor.
- Theme tokens: barHeight, radius/radiusSmall/radiusTiny, cardPad, animMorph/
animContent/animFade — bar height and the shader cutout math now derive from
one constant instead of ~10 scattered 30/26 literals
- SText/SIcon base components default the two fonts (removed 58 font.family lines)
- Card component: the rounded base01 section surface, now one definition driving
7 cards (volume ×2, network ×2, battery ×2, calendar)
- PillSlider component: master + per-app volume sliders share one slider
- NotifContent component: calendar list + toast notification bodies deduped
- dead code: dropped unused QtQuick.Shapes import, collapsed redundant
weatherGlyph branches, converted the lone RowLayout to drop QtQuick.Layouts
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>