- src/bar/workspaces.rs: the Hyprland EventStream loop exited permanently on the first Err/end-of-stream (Hyprland restart/reload, IPC hiccup), freezing every workspace button for the bar's remaining life. Now wrapped in a reconnect loop with capped exponential backoff, re-syncing workspace state on every reconnect - src/notifications/mod.rs + popup.rs: three spec deviations fixed — expire_timeout=0 now means never-expire instead of being coerced to 5s (and a critical-urgency notification with no explicit timeout also persists by default); NotificationClosed is now emitted with the correct reason code whenever a notification actually goes away (expiry or an explicit CloseNotification call); replaces_id no longer races its auto-dismiss timer against the replacement's, via a per-id generation counter checked before a stale timer is allowed to dismiss anything - src/main.rs + README.md + assets/icons-needed.txt: lock button (and its docs) now invoke breadlock instead of hyprlock, the thing breadlock was built to replace - src/notifications/mod.rs: added 4 unit tests for the new expire_timeout/ urgency mapping (pulled into a pure compute_expire() for testability) — this crate had zero test coverage before
48 lines
1.5 KiB
Text
48 lines
1.5 KiB
Text
SVG icons needed for breadbar
|
||
==============================
|
||
24×24 viewBox. Use `currentColor` for all fill/stroke so icons recolour
|
||
automatically with the bar theme. Drop finished files in this directory.
|
||
|
||
|
||
Control panel — slider row icons
|
||
---------------------------------
|
||
Volume.svg
|
||
Speaker / soundwave icon for the volume slider row.
|
||
Currently placeholder: 🔊 emoji label.
|
||
Usage: control panel, left of volume slider.
|
||
|
||
Brightness.svg
|
||
Sun / light bulb icon for the brightness slider row.
|
||
Currently placeholder: ☀ emoji label.
|
||
Usage: control panel, left of brightness slider.
|
||
|
||
|
||
Power section buttons
|
||
-----------------------
|
||
Lock.svg
|
||
Padlock icon — triggers breadlock (lock screen).
|
||
Currently placeholder: 🔒
|
||
|
||
Sleep.svg
|
||
Crescent moon or Zzz icon — triggers systemctl suspend.
|
||
Currently placeholder: 💤
|
||
|
||
Restart.svg
|
||
Circular arrow icon — triggers systemctl reboot.
|
||
Currently placeholder: 🔄
|
||
|
||
Shutdown.svg
|
||
Power symbol (⏻) icon — triggers systemctl poweroff.
|
||
Currently placeholder: ⏻
|
||
|
||
|
||
How to wire up icons once SVGs are ready
|
||
-----------------------------------------
|
||
Each power button and slider row icon is currently a gtk4::Label with an emoji.
|
||
To replace with an SVG:
|
||
|
||
1. Add the SVG to this directory.
|
||
2. In main.rs, replace the emoji Label with:
|
||
gtk4::Image::from_paintable(Some(&svg_texture(asset!("Icon Name.svg"))))
|
||
3. For slider rows, replace the icon_lbl in build_slider_row() calls,
|
||
or add an overload that takes an image widget instead of a string.
|