ext-foreign-toplevel-list: Implement protocol

References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4543
This commit is contained in:
Merlin Lex 2024-02-11 12:20:15 +01:00 committed by Simon Ser
parent 88b2abf5f2
commit 1b5515400d
5 changed files with 54 additions and 0 deletions

View file

@ -7,6 +7,7 @@
#include <wlr/render/wlr_renderer.h>
#include <wlr/types/wlr_compositor.h>
#include <wlr/types/wlr_data_device.h>
#include <wlr/types/wlr_ext_foreign_toplevel_list_v1.h>
#include <wlr/types/wlr_input_method_v2.h>
#include <wlr/types/wlr_foreign_toplevel_management_v1.h>
#include <wlr/types/wlr_drm_lease_v1.h>
@ -116,6 +117,7 @@ struct sway_server {
struct wl_listener output_power_manager_set_mode;
struct wlr_input_method_manager_v2 *input_method;
struct wlr_text_input_manager_v3 *text_input;
struct wlr_ext_foreign_toplevel_list_v1 *foreign_toplevel_list;
struct wlr_foreign_toplevel_manager_v1 *foreign_toplevel_manager;
struct wlr_content_type_manager_v1 *content_type_manager_v1;
struct wlr_data_control_manager_v1 *data_control_manager_v1;

View file

@ -84,6 +84,9 @@ struct sway_view {
// transaction state. Updated on every commit.
struct wlr_box geometry;
struct wlr_ext_foreign_toplevel_handle_v1 *ext_foreign_toplevel;
struct wl_listener ext_foreign_destroy;
struct wlr_foreign_toplevel_handle_v1 *foreign_toplevel;
struct wl_listener foreign_activate_request;
struct wl_listener foreign_fullscreen_request;
@ -284,6 +287,8 @@ struct sway_view *view_from_wlr_xwayland_surface(
#endif
struct sway_view *view_from_wlr_surface(struct wlr_surface *surface);
void view_update_app_id(struct sway_view *view);
/**
* Re-read the view's title property and update any relevant title bars.
* The force argument makes it recreate the title bars even if the title hasn't