Skip to content
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

Support Niri out of the box #650

Open
VarLad opened this issue Jun 28, 2024 · 4 comments · May be fixed by #726
Open

Support Niri out of the box #650

VarLad opened this issue Jun 28, 2024 · 4 comments · May be fixed by #726
Labels
enhancement New feature or request

Comments

@VarLad
Copy link

VarLad commented Jun 28, 2024

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?

@VarLad VarLad added the enhancement New feature or request label Jun 28, 2024
@JakeStanger
Copy link
Owner

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

pub trait WorkspaceClient: Debug + Send + Sync {
/// Requests the workspace with this name is focused.
fn focus(&self, name: String) -> Result<()>;
/// Creates a new to workspace event receiver.
fn subscribe_workspace_change(&self) -> broadcast::Receiver<WorkspaceUpdate>;
}

@VarLad
Copy link
Author

VarLad commented Jun 29, 2024

@JakeStanger Does it make sense to wait for YaLTeR/niri#453 then?

@JakeStanger
Copy link
Owner

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

@JakeStanger JakeStanger added the blocked This issue is pending another issue or other development being completed. label Jun 29, 2024
@Brisingr05
Copy link

Brisingr05 commented 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.

@anant-357 anant-357 linked a pull request Sep 8, 2024 that will close this issue
@JakeStanger JakeStanger removed blocked This issue is pending another issue or other development being completed. labels Sep 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants