-
Notifications
You must be signed in to change notification settings - Fork 78
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
wlroots 0.17 #281
wlroots 0.17 #281
Conversation
https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3527 |
50fb260
to
32e41af
Compare
I have just checked it very very quickly. Hope I could give it a try soon. |
Build fails on not being able to find xwayland for some reason, will take a look at that later. |
You can fix CI like this. Change xwayland alpine package to xwayland-dev But there's other compile errors |
https://github.com/OctopusET/cage/actions/runs/6953804611/job/18919514519 Here are the compile error logs. |
This sway patch will be helpful for fixing this compile error. wlroots changed It's also included on their breaking changes of 0.17.0 release (https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.17.0) wlroots MR: |
e27edad
to
46a80d2
Compare
Indeed, I had missed the xwayland portion of this in Should be all good now. |
@@ -191,19 +191,6 @@ handle_output_commit(struct wl_listener *listener, void *data) | |||
} | |||
} | |||
|
|||
static void |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reading release notes for wlroots 0.17.0, it seems the WLR_OUTPUT_STATE_MODE
flag is not expected to be handled in handle_output_commit()
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right, we need to add WLR_OUTPUT_STATE_MODE
to OUTPUT_CONFIG_UPDATED
.
Maybe we also need to view_position_all()
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are no longer expected to monitor mode changes in the commit handler, as this has moved to request_state.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, we still need to notify wlr-output-management-v1 clients of mode changes: #297
46a80d2
to
2edecb8
Compare
Nit: please avoid using prefixes such as "chore", this isn't something we do in cage. |
2edecb8
to
3d4f3fd
Compare
The session is now stored explicitly, with wlr_backend_get_session being dropped.
3d4f3fd
to
c23b7fb
Compare
The chore commits are gone - coming up with good summaries for all those commits was by far the hardest part of this PR... |
c23b7fb
to
e8839a2
Compare
xwayland.c
Outdated
@@ -167,9 +167,9 @@ handle_xwayland_surface_new(struct wl_listener *listener, void *data) | |||
xwayland_view->xwayland_surface = xwayland_surface; | |||
|
|||
xwayland_view->map.notify = handle_xwayland_surface_map; | |||
wl_signal_add(&xwayland_surface->events.map, &xwayland_view->map); | |||
wl_signal_add(&xwayland_surface->surface->events.map, &xwayland_view->map); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So… Unfortunately this won't work :/ the surface is not available before the associate
event fires, and becomes invalid when the dissociate
event fires…
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah sorry, had missed that.
"ci: No need to test multiple compilers": can we discuss this separately maybe? |
"output: Implement request_state event listener": hmm, instead of having to call the config update function everytime we might need to, I'd prefer to keep the output commit event handler. That would avoid mistakes where we forget to update the config. |
Any chance you have some time to have a look at this again @kennylevinsen? |
28bfc0f
to
34d2cf1
Compare
This is replaced by monitoring for WLR_OUTPUT_STATE_MODE on commit.
For xwayland we must listen on associate/dissociate to set up and tear down the map/unmap event handlers instead of during surface create/destroy.
The latter implemented the KDE protocol which has been dropped.
wlroots as a subproject now yields the xwayland meson option to its parent. We need to match the type for this to work. This also adds support for auto mode, where xwayland is used if present but no warning is given otherwise.
wlroots backends no longer change state on their own, and instead send a request_state event. Monitor this event and apply any state we receive.
We previously used the wlr_output's built-in pending state and wlr_output_rollback. The modern state API is much nicer.
34d2cf1
to
27ef163
Compare
Sorry, had missed the notification for comments!
Not a big fan of checking things over and over when something is only rarely triggered from a few explicit places. Either way, I reverted to the commit handler. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Makes cage build against wlroots master. We are still lacking an output request_state handler though.