mirror of
https://github.com/outbackdingo/hyprcosmic-comp.git
synced 2026-08-25 07:10:25 +00:00
09eb1717c4851fe22faf4d2d587182f6b5f52a3c
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
Description
Fork of pop-os/cosmic-comp for HyprCosmic: Hyprland-idiom config and a session that installs beside stock COSMIC
715 KiB
Languages
Rust
97.1%
Fluent
2.1%
GLSL
0.5%
Makefile
0.1%
Nix
0.1%