toplevel-capture: partial initial implementation

Missing:
- xwayland child windows
- xwayland unmanaged windows, e.g. popups / menus / ...
- xdg child window positioning
- xdg subsurfaces (test-case: mate-terminal settings listboxes)
- xdg popup positioning
This commit is contained in:
Consolatis 2025-07-06 01:04:55 +02:00
parent 379f06b1e8
commit facf3856cb
8 changed files with 100 additions and 0 deletions

View file

@ -2482,6 +2482,10 @@ view_init(struct view *view)
view->title = xstrdup("");
view->app_id = xstrdup("");
view->capture.scene = wlr_scene_create();
view->capture.scene->restack_xwayland_surfaces = false;
wl_list_init(&view->capture.on_capture_source_destroy.link);
}
void
@ -2503,6 +2507,9 @@ view_destroy(struct view *view)
wl_list_remove(&view->request_fullscreen.link);
wl_list_remove(&view->set_title.link);
wl_list_remove(&view->destroy.link);
wl_list_remove(&view->capture.on_capture_source_destroy.link);
wlr_scene_node_destroy(&view->capture.scene->tree.node);
if (view->foreign_toplevel) {
foreign_toplevel_destroy(view->foreign_toplevel);