mirror of
https://github.com/outbackdingo/hyprcosmic-comp.git
synced 2026-08-25 07:10:25 +00:00
d58c55355c62361dd5665d44cf21dc0c1effac8e
The sockets were created as `.socket` and `.socket2`. Hyprland's are `.socket.sock` and `.socket2.sock`, and every real client hardcodes those names: waybar's hyprland/* modules, hyprctl, eww, ags. None of them fall back and none of them say much when they fail -- waybar reports "Couldn't connect to ... (3)" once at startup and then disables the module, so the whole symptom is a bar with a workspace widget that never appears. The IPC was correct and unreachable, which is the worst of both. With the names fixed the read side is reachable, but a workspace you can see and cannot click is only half a bar. So: a `dispatch` verb, deliberately the smallest one that makes the bar work. `dispatch workspace N` switches, and everything else is refused. That refusal is the point. This socket is the surface any process able to open it can use to drive the compositor, so the parser rejects rather than guesses: `dispatch exec` is not implemented and never will be here, `killactive` is not implemented, and an unparsed request gets no answer rather than being treated as something near it. Which is how the test earned its keep. `dispatch workspace +1` means "one to the right" in Hyprland, and it was coming through as absolute workspace 1 -- because `u32::from_str` accepts a leading `+`. On workspace 1 that looks like it worked. The target is now checked for digits before it is parsed, so every relative form is rejected instead of silently mistranslated.
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%