[GH-ISSUE #650] Support Niri out of the box #3030

Closed
opened 2026-05-22 23:53:31 +01:00 by JakeStanger · 4 comments
Owner

Originally created by @VarLad on GitHub (Jun 28, 2024).
Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/650

Is your feature request related to a problem? Please describe.

Currently workspaces in Niri WM are not supported. Niri does have IPC.

Describe the solution you'd like
Support Niri workspaces out of the box. What would be required to do this?

Originally created by @VarLad on GitHub (Jun 28, 2024). Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/650 **Is your feature request related to a problem? Please describe.** > Currently workspaces in Niri WM are not supported. Niri does have IPC. **Describe the solution you'd like** Support Niri workspaces out of the box. What would be required to do this?
Author
Owner

@JakeStanger commented on GitHub (Jun 28, 2024):

Yes, happy for this to be added.

I've had a brief look at Niri's IPC and it looks like it's missing events, which would make this tricky. Without those, Ironbar would have to constantly poll Niri to find the focused workspace, as it won't be notified of changes. I might be missing something though.

Assuming that can be resolved, the rest shouldn't be too hard, especially since Niri provides rust types for its IPC. Effectively entries would need to be added to the compositor client code to spawn a Niri client here and a new client would need to be written which implements the WorkspaceClient trait
github.com/JakeStanger/ironbar@6a06fa534a/src/clients/compositor/mod.rs (L142-L148)

<!-- gh-comment-id:2197461955 --> @JakeStanger commented on GitHub (Jun 28, 2024): Yes, happy for this to be added. I've had a brief look at Niri's IPC and it looks like it's missing events, which would make this tricky. Without those, Ironbar would have to constantly poll Niri to find the focused workspace, as it won't be notified of changes. I might be missing something though. Assuming that can be resolved, the rest shouldn't be too hard, especially since Niri provides rust types for its IPC. Effectively entries would need to be added to the compositor client code to spawn a Niri client [here](https://github.com/JakeStanger/ironbar/blob/6a06fa534a8f02aa1fa3fe04a9da59697a3fff25/src/clients/compositor/mod.rs#L38) and a new client would need to be written which implements the WorkspaceClient trait https://github.com/JakeStanger/ironbar/blob/6a06fa534a8f02aa1fa3fe04a9da59697a3fff25/src/clients/compositor/mod.rs#L142-L148
Author
Owner

@VarLad commented on GitHub (Jun 29, 2024):

@JakeStanger Does it make sense to wait for https://github.com/YaLTeR/niri/pull/453 then?

<!-- gh-comment-id:2197886343 --> @VarLad commented on GitHub (Jun 29, 2024): @JakeStanger Does it make sense to wait for https://github.com/YaLTeR/niri/pull/453 then?
Author
Owner

@JakeStanger commented on GitHub (Jun 29, 2024):

Aha. Yeah definitely so, I'll mark this as blocked for now.

<!-- gh-comment-id:2198037538 --> @JakeStanger commented on GitHub (Jun 29, 2024): Aha. Yeah definitely so, I'll mark this as blocked for now.
Author
Owner

@Brisingr05 commented on GitHub (Aug 30, 2024):

@JakeStanger Work on the event stream IPC has progressed and the niri dev is wondering if there are any design flaws that need to be worked on. There are some details in the PR linked above. I'm not a programmer but I'm willing to helping in testing.

The PR has been merged.

<!-- gh-comment-id:2321826376 --> @Brisingr05 commented on GitHub (Aug 30, 2024): @JakeStanger ~~Work on the event stream IPC has progressed and the niri dev is wondering if there are any design flaws that need to be worked on. There are some details in the PR linked above. I'm not a programmer but I'm willing to helping in testing.~~ The PR has been merged.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
JakeStanger/ironbar#3030
No description provided.