diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/sway/server.h | 5 | ||||
-rw-r--r-- | include/sway/tree/view.h | 27 |
2 files changed, 32 insertions, 0 deletions
diff --git a/include/sway/server.h b/include/sway/server.h index ac685bf8..d04ea896 100644 --- a/include/sway/server.h +++ b/include/sway/server.h | |||
@@ -8,6 +8,7 @@ | |||
8 | #include <wlr/types/wlr_data_device.h> | 8 | #include <wlr/types/wlr_data_device.h> |
9 | #include <wlr/types/wlr_layer_shell.h> | 9 | #include <wlr/types/wlr_layer_shell.h> |
10 | #include <wlr/types/wlr_xdg_shell_v6.h> | 10 | #include <wlr/types/wlr_xdg_shell_v6.h> |
11 | #include <wlr/types/wlr_xdg_shell.h> | ||
11 | #include <wlr/render/wlr_renderer.h> | 12 | #include <wlr/render/wlr_renderer.h> |
12 | // TODO WLR: make Xwayland optional | 13 | // TODO WLR: make Xwayland optional |
13 | #include <wlr/xwayland.h> | 14 | #include <wlr/xwayland.h> |
@@ -33,6 +34,9 @@ struct sway_server { | |||
33 | struct wlr_xdg_shell_v6 *xdg_shell_v6; | 34 | struct wlr_xdg_shell_v6 *xdg_shell_v6; |
34 | struct wl_listener xdg_shell_v6_surface; | 35 | struct wl_listener xdg_shell_v6_surface; |
35 | 36 | ||
37 | struct wlr_xdg_shell *xdg_shell; | ||
38 | struct wl_listener xdg_shell_surface; | ||
39 | |||
36 | struct wlr_xwayland *xwayland; | 40 | struct wlr_xwayland *xwayland; |
37 | struct wlr_xcursor_manager *xcursor_manager; | 41 | struct wlr_xcursor_manager *xcursor_manager; |
38 | struct wl_listener xwayland_surface; | 42 | struct wl_listener xwayland_surface; |
@@ -52,6 +56,7 @@ void handle_new_output(struct wl_listener *listener, void *data); | |||
52 | 56 | ||
53 | void handle_layer_shell_surface(struct wl_listener *listener, void *data); | 57 | void handle_layer_shell_surface(struct wl_listener *listener, void *data); |
54 | void handle_xdg_shell_v6_surface(struct wl_listener *listener, void *data); | 58 | void handle_xdg_shell_v6_surface(struct wl_listener *listener, void *data); |
59 | void handle_xdg_shell_surface(struct wl_listener *listener, void *data); | ||
55 | void handle_xwayland_surface(struct wl_listener *listener, void *data); | 60 | void handle_xwayland_surface(struct wl_listener *listener, void *data); |
56 | void handle_wl_shell_surface(struct wl_listener *listener, void *data); | 61 | void handle_wl_shell_surface(struct wl_listener *listener, void *data); |
57 | 62 | ||
diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h index 8091fe0c..17e579c8 100644 --- a/include/sway/tree/view.h +++ b/include/sway/tree/view.h | |||
@@ -12,6 +12,7 @@ struct sway_container; | |||
12 | enum sway_view_type { | 12 | enum sway_view_type { |
13 | SWAY_VIEW_WL_SHELL, | 13 | SWAY_VIEW_WL_SHELL, |
14 | SWAY_VIEW_XDG_SHELL_V6, | 14 | SWAY_VIEW_XDG_SHELL_V6, |
15 | SWAY_VIEW_XDG_SHELL, | ||
15 | SWAY_VIEW_XWAYLAND, | 16 | SWAY_VIEW_XWAYLAND, |
16 | }; | 17 | }; |
17 | 18 | ||
@@ -54,6 +55,7 @@ struct sway_view { | |||
54 | 55 | ||
55 | union { | 56 | union { |
56 | struct wlr_xdg_surface_v6 *wlr_xdg_surface_v6; | 57 | struct wlr_xdg_surface_v6 *wlr_xdg_surface_v6; |
58 | struct wlr_xdg_surface *wlr_xdg_surface; | ||
57 | struct wlr_xwayland_surface *wlr_xwayland_surface; | 59 | struct wlr_xwayland_surface *wlr_xwayland_surface; |
58 | struct wlr_wl_shell_surface *wlr_wl_shell_surface; | 60 | struct wlr_wl_shell_surface *wlr_wl_shell_surface; |
59 | }; | 61 | }; |
@@ -82,6 +84,22 @@ struct sway_xdg_shell_v6_view { | |||
82 | int pending_width, pending_height; | 84 | int pending_width, pending_height; |
83 | }; | 85 | }; |
84 | 86 | ||
87 | struct sway_xdg_shell_view { | ||
88 | struct sway_view view; | ||
89 | |||
90 | struct wl_listener commit; | ||
91 | struct wl_listener request_move; | ||
92 | struct wl_listener request_resize; | ||
93 | struct wl_listener request_maximize; | ||
94 | struct wl_listener request_fullscreen; | ||
95 | struct wl_listener new_popup; | ||
96 | struct wl_listener map; | ||
97 | struct wl_listener unmap; | ||
98 | struct wl_listener destroy; | ||
99 | |||
100 | int pending_width, pending_height; | ||
101 | }; | ||
102 | |||
85 | struct sway_xwayland_view { | 103 | struct sway_xwayland_view { |
86 | struct sway_view view; | 104 | struct sway_view view; |
87 | 105 | ||
@@ -156,6 +174,15 @@ struct sway_xdg_popup_v6 { | |||
156 | struct wl_listener destroy; | 174 | struct wl_listener destroy; |
157 | }; | 175 | }; |
158 | 176 | ||
177 | struct sway_xdg_popup { | ||
178 | struct sway_view_child child; | ||
179 | |||
180 | struct wlr_xdg_surface *wlr_xdg_surface; | ||
181 | |||
182 | struct wl_listener new_popup; | ||
183 | struct wl_listener destroy; | ||
184 | }; | ||
185 | |||
159 | const char *view_get_title(struct sway_view *view); | 186 | const char *view_get_title(struct sway_view *view); |
160 | 187 | ||
161 | const char *view_get_app_id(struct sway_view *view); | 188 | const char *view_get_app_id(struct sway_view *view); |