gitops 09eb1717c4 Patch B: drive the .socket2 event stream
Emits openwindow/closewindow/activewindow/workspace by diffing a state
snapshot from lib.rs's existing throttled refresh, rather than instrumenting
window map/unmap and focus-change sites across shell/. One call plus one new
file, so the fork stays rebasable against the ~46 upstream commits a month
those files see.

The snapshot walk is skipped entirely when nothing is subscribed to .socket2,
which is every tick when no bar is running. The baseline is still updated so
a newly-connected client does not receive a burst of openwindow events for
windows that were already open.

Ordering follows Hyprland: openwindow before the activewindow that usually
accompanies it, closewindow after, so a client tracking windows by address
never sees an activewindow for one it has not been told about.

Known trade-off: a window opening and closing inside one 150ms tick produces
no events. Hyprland would emit both.

9 new tests driving a real socketpair through the actual broadcast path.
22 hypr_ipc tests pass.

Runtime-verified nested: subscribing to .socket2 and opening a window yields
  openwindow>>1,1,foot,foot / activewindow>>foot,foot
  activewindow>>, / closewindow>>1
2026-08-10 07:59:08 +07:00
2026-08-09 22:37:21 +07:00
2026-08-09 22:37:21 +07:00
2026-08-09 22:37:21 +07:00
S
Description
Fork of pop-os/cosmic-comp for HyprCosmic: Hyprland-idiom config and a session that installs beside stock COSMIC
GPL-3.0
715 KiB
Languages
Rust 97.1%
Fluent 2.1%
GLSL 0.5%
Makefile 0.1%
Nix 0.1%