Add support for toplevel capture

References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/5078
This commit is contained in:
Simon Ser 2025-05-25 19:38:05 +02:00 committed by Kenny Levinsen
parent eb8acfd7b1
commit 170c9c9525
6 changed files with 60 additions and 5 deletions

View file

@ -112,6 +112,9 @@ struct sway_server {
struct wlr_export_dmabuf_manager_v1 *export_dmabuf_manager_v1;
struct wlr_security_context_manager_v1 *security_context_manager_v1;
struct wlr_ext_foreign_toplevel_image_capture_source_manager_v1 *ext_foreign_toplevel_image_capture_source_manager_v1;
struct wl_listener new_foreign_toplevel_capture_request;
struct wlr_xdg_activation_v1 *xdg_activation_v1;
struct wl_listener xdg_activation_v1_request_activate;
struct wl_listener xdg_activation_v1_new_token;

View file

@ -69,6 +69,9 @@ struct sway_view {
struct wlr_scene_tree *content_tree;
struct wlr_scene_tree *saved_surface_tree;
struct wlr_scene *image_capture_scene;
struct wlr_ext_image_capture_source_v1 *image_capture_source;
struct sway_container *container; // NULL if unmapped and transactions finished
struct wlr_surface *surface; // NULL for unmapped views
struct sway_xdg_decoration *xdg_decoration;
@ -124,6 +127,8 @@ struct sway_view {
struct sway_xdg_shell_view {
struct sway_view view;
struct wlr_scene_tree *image_capture_tree;
struct wl_listener commit;
struct wl_listener request_move;
struct wl_listener request_resize;
@ -142,6 +147,8 @@ struct sway_xwayland_view {
struct wlr_scene_tree *surface_tree;
struct wlr_scene_surface *image_capture_scene_surface;
struct wl_listener commit;
struct wl_listener request_move;
struct wl_listener request_resize;
@ -192,10 +199,12 @@ struct sway_popup_desc {
struct sway_xdg_popup {
struct sway_view *view;
struct wlr_xdg_popup *wlr_xdg_popup;
struct wlr_scene_tree *scene_tree;
struct wlr_scene_tree *xdg_surface_tree;
struct wlr_xdg_popup *wlr_xdg_popup;
struct wlr_scene_tree *image_capture_tree;
struct sway_popup_desc desc;