-
-
Notifications
You must be signed in to change notification settings - Fork 732
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add niri/workspaces, niri/window, niri/language #3551
Conversation
7b04583
to
5c30d42
Compare
The niri PR is merged, so this is ready for review. |
Done |
LGTM thx for this nice addition :) |
@YaLTeR
If I'm on Hyprland, It correctly detects that Niri is not running but Niri modules won't be disabled
I hope you can take a look and add implementation to disable the module when Niri is not running |
I am working on an event stream IPC for the niri Wayland compositor, which is intended for bar modules and the like. To test out the design, I implemented Waybar modules for workspaces, focused window and language.
This PR is a Draft until I merge the niri PR (in a few days).
I followed the existing modules for Sway and Hyprland in my niri implementation, though with some differences.
Unlike Sway and Hyprland, the niri event stream IPC starts by sending the complete current state, so Waybar doesn't need to query it from other IPC calls. This, however, makes it more convenient to track the state in the IPC class directly, so that modules registering after the initial event burst can still access the current state.
The modules mostly support a similar feature set to the Sway and Hyprland ones, though one notable omission is the window list built into the workspaces module. (All data is there, just didn't get around to it.)
Also, in the workspaces module, configurable sorting order and persistent workspaces are omitted because they don't really make sense for niri's dynamic workspace system.
I documented all supported functionality in the .scd man pages.