-
Notifications
You must be signed in to change notification settings - Fork 147
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
view: Add view_move_to_front/back() with _no_focus variant #866
Conversation
I am not sure about moving An alternative solution to the PR could be to return early if the view is already the top view, so we wouldn't call Edit: struct view *top_view = wl_container_of(server->views.prev, top_view, link);
if (view->impl->move_to_front) {
view->impl->move_to_front(view);
}
if (top_view != wl_container_of(server->views.prev, top_view, link)) {
cursor_update_focus(server);
} |
Yes, this is an awkward case though since the actual multi-view interactions are done in the |
I'm good with moving these to If we wanted to be really hard on the desktop argument, we should have left all the xwayland-move-sub-view stuff in desktop.c --- but I think it is better the way we've gone (even if it's adds a bit of grey to the desktop/view division). The way John has proposed keeps the calling of
Another problem with this is that we want to be workspace specific (i.e. scene_tree orientated rather than iterating over On that note, I don't think there are any places left in the code that cares about the order the
...which helps it feel even less 'desktopy' Whilst on the topic - do we actually need the |
I think the
I actually intend to revert to using server->views + filter for current workspace (at least for Edit: |
|
This avoids calling view->impl functions from cursor.c and desktop.c. v2: Add an explicit recursion guard in cursor_update_focus().
0ba9ce1
to
b06d064
Compare
v2: Add an explicit recursion guard in |
Sweet, just looked through the diff again to verify that |
LGTM. Ready for merge? |
I had been thinking similar thoughts 😄 |
This avoids calling
view->impl
functions fromcursor.c
anddesktop.c
.No functional change intended.