aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorVlad Pănăzan <vlad@panazan.ro>2020-12-05 18:32:44 +0200
committerSimon Ser <contact@emersion.fr>2020-12-07 12:30:13 +0100
commit71725a8eae6f8196d8e13a1b50af4f8ee4ebe971 (patch)
treece059eb969c1d9f6e5dc27f17ab944acf6c13042 /include
parentcc2c0d5966f67189be4cfc350514134d3f4c0f3c (diff)
downloadsway-71725a8eae6f8196d8e13a1b50af4f8ee4ebe971.tar.xz
Add layer shell subsurfaces
Damage subsurfaces created by layer surfaces on map, unmap and commit. This fixes the flicker of Gtk Popovers. Fixes #5617
Diffstat (limited to 'include')
-rw-r--r--include/sway/layers.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/sway/layers.h b/include/sway/layers.h
index 025776f8..457634c2 100644
--- a/include/sway/layers.h
+++ b/include/sway/layers.h
@@ -20,6 +20,7 @@ struct sway_layer_surface {
struct wl_listener surface_commit;
struct wl_listener output_destroy;
struct wl_listener new_popup;
+ struct wl_listener new_subsurface;
struct wlr_box geo;
enum zwlr_layer_shell_v1_layer layer;
@@ -39,6 +40,16 @@ struct sway_layer_popup {
struct wl_listener new_popup;
};
+struct sway_layer_subsurface {
+ struct wlr_subsurface *wlr_subsurface;
+ struct sway_layer_surface *layer_surface;
+
+ struct wl_listener map;
+ struct wl_listener unmap;
+ struct wl_listener destroy;
+ struct wl_listener commit;
+};
+
struct sway_output;
void arrange_layers(struct sway_output *output);