- Material Symbols Rounded (ligature names) replaces nerd-font glyphs for
all shell icons; text stays on the stylix mono font
- network dropdown gets the card treatment like the others
- power menu is now an icon-only session panel melting out of the right
frame column at screen centre (still Super+L); launcher is apps-only
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Bar, frame, panel and toast are one signed-distance field (compiled to
qsb at build time); ears, border gaps and the parametric melt are all
emergent from the math. PanelShape and all melt machinery deleted.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
One shared panel (bg+border as single Shape paths, CurveRenderer) animates
position and size between dropdowns; per-dropdown ears/canvases removed.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
XTest click forwarding doesn't work under Hyprland's XWayland,
making the tray icon non-interactive. Remove the derivation,
startup handler, container window rule, and click workarounds.
Keeps the workspace filter fix (hide special workspaces from bar).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use a shell script to find the window address and focus it via
hl.dispatch(hl.dsp.focus()) since hyprctl dispatch syntax changed
in Hyprland 0.55+ Lua mode.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
SNI Title is empty for xembed-sni-proxy items, so match by
class:steam_app_0 title:Battle.net instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
XTest click forwarding doesn't work under Hyprland's XWayland, so
fall back to Hyprland.dispatch focuswindow for menu-less tray items.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Left click → activate (or open menu if onlyMenu is set)
Right click → open context menu (or secondaryActivate if no menu)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Package standalone xembed-sni-proxy (XEmbed→SNI bridge) for Wine/Battle.net
tray icons. Unlike snixembed, this doesn't register its own StatusNotifierWatcher
so it won't conflict with Quickshell's tray.
Also filter special workspaces (id < 0) from the bar to fix phantom "al:special".
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
anyrun close always exits 0, so "close || anyrun" never opened.
Use hyprctl clients to check if anyrun is visible before toggling.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Terminal is now a struct (command + args), max_entries is Option,
applications.ron uses bare tuple not Config(). Add systemd user
service for anyrun daemon to avoid slow standalone startup.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>