aboutsummaryrefslogtreecommitdiff
path: root/include/sway
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2019-07-05 14:45:11 -0400
committerSimon Ser <contact@emersion.fr>2019-08-14 22:10:05 +0300
commitcb8f68d74b6c9f0b9690c44a34b8a8f1c46986be (patch)
treea49f7022c65a5a11f6fbdb4c164ac3a4c9b3c2cd /include/sway
parentf36240208c57124a88cdee18fb81fa3fc69e0f0a (diff)
layer-shell: add support for popups
Diffstat (limited to 'include/sway')
-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 @@
#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);