diff options
Diffstat (limited to 'include/sway/layers.h')
-rw-r--r-- | include/sway/layers.h | 20 |
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 @@ #include <wlr/types/wlr_surface.h> #include <wlr/types/wlr_layer_shell_v1.h> +enum layer_parent { + LAYER_PARENT_LAYER, + LAYER_PARENT_POPUP, +}; + struct sway_layer_surface { struct wlr_layer_surface_v1 *layer_surface; struct wl_list link; @@ -14,11 +19,26 @@ struct sway_layer_surface { struct wl_listener unmap; struct wl_listener surface_commit; struct wl_listener output_destroy; + struct wl_listener new_popup; bool configured; struct wlr_box geo; }; +struct sway_layer_popup { + struct wlr_xdg_popup *wlr_popup; + enum layer_parent parent_type; + union { + struct sway_layer_surface *parent_layer; + struct sway_layer_popup *parent_popup; + }; + struct wl_listener map; + struct wl_listener unmap; + struct wl_listener destroy; + struct wl_listener commit; + struct wl_listener new_popup; +}; + struct sway_output; void arrange_layers(struct sway_output *output); |