aboutsummaryrefslogtreecommitdiffstats
path: root/include/sway/layers.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/sway/layers.h')
-rw-r--r--include/sway/layers.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/include/sway/layers.h b/include/sway/layers.h
index 51878fc9..01d066d5 100644
--- a/include/sway/layers.h
+++ b/include/sway/layers.h
@@ -5,6 +5,11 @@
5#include <wlr/types/wlr_surface.h> 5#include <wlr/types/wlr_surface.h>
6#include <wlr/types/wlr_layer_shell_v1.h> 6#include <wlr/types/wlr_layer_shell_v1.h>
7 7
8enum layer_parent {
9 LAYER_PARENT_LAYER,
10 LAYER_PARENT_POPUP,
11};
12
8struct sway_layer_surface { 13struct sway_layer_surface {
9 struct wlr_layer_surface_v1 *layer_surface; 14 struct wlr_layer_surface_v1 *layer_surface;
10 struct wl_list link; 15 struct wl_list link;
@@ -14,11 +19,26 @@ struct sway_layer_surface {
14 struct wl_listener unmap; 19 struct wl_listener unmap;
15 struct wl_listener surface_commit; 20 struct wl_listener surface_commit;
16 struct wl_listener output_destroy; 21 struct wl_listener output_destroy;
22 struct wl_listener new_popup;
17 23
18 bool configured; 24 bool configured;
19 struct wlr_box geo; 25 struct wlr_box geo;
20}; 26};
21 27
28struct sway_layer_popup {
29 struct wlr_xdg_popup *wlr_popup;
30 enum layer_parent parent_type;
31 union {
32 struct sway_layer_surface *parent_layer;
33 struct sway_layer_popup *parent_popup;
34 };
35 struct wl_listener map;
36 struct wl_listener unmap;
37 struct wl_listener destroy;
38 struct wl_listener commit;
39 struct wl_listener new_popup;
40};
41
22struct sway_output; 42struct sway_output;
23void arrange_layers(struct sway_output *output); 43void arrange_layers(struct sway_output *output);
24 44