Skip to content

feat(NiriService): Add new screencast info from git#469

Open
debuggyo wants to merge 2 commits intoignis-sh:mainfrom
debuggyo:main
Open

feat(NiriService): Add new screencast info from git#469
debuggyo wants to merge 2 commits intoignis-sh:mainfrom
debuggyo:main

Conversation

@debuggyo
Copy link
Copy Markdown
Contributor

https://yalter.github.io/niri/niri_ipc/struct.Cast.html
image

Also removed the initial unthreaded event stream since it seemed to be causing more issues than creating and seems to work fine without.
image

@regenman
Copy link
Copy Markdown
Contributor

Also removed the initial unthreaded event stream since it seemed to be causing more issues than creating and seems to work fine without.

For some background on this, see #181 (comment) - it came into existence as a way to prevent errors caused by referencing variables before they've been initialized by the event stream. Admittedly, it's not a great nor sustainable solution, as it's making assumptions we shouldn't make about the Niri IPC. But removing it altogether might lead to errors in some circumstances - as far as I understand, Ignis is designed in such a way that we expect service objects to be already initialized when the service is fully initialized, which isn't guaranteed if we rely on the threaded event stream. Maybe there's another solution to be found here?

@linkfrg
Copy link
Copy Markdown
Member

linkfrg commented Feb 18, 2026

I understand, Ignis is designed in such a way that we expect service objects to be already initialized when the service is fully initialized, which isn't guaranteed if we rely on the threaded event stream. Maybe there's another solution to be found here?

I think of solving this in #475. Services should have an initial constructor and async run() which should create D-Bus connection, socket connection and so on. The only problem to resolve is how to make the user config fully async

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants