diff options
author | 2020-12-05 18:32:44 +0200 | |
---|---|---|
committer | 2020-12-07 12:30:13 +0100 | |
commit | 71725a8eae6f8196d8e13a1b50af4f8ee4ebe971 (patch) | |
tree | ce059eb969c1d9f6e5dc27f17ab944acf6c13042 /include | |
parent | input/cursor: unhide cursor on synthetic input (diff) | |
download | sway-71725a8eae6f8196d8e13a1b50af4f8ee4ebe971.tar.gz sway-71725a8eae6f8196d8e13a1b50af4f8ee4ebe971.tar.zst sway-71725a8eae6f8196d8e13a1b50af4f8ee4ebe971.zip |
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.h | 11 |
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 { | |||
20 | struct wl_listener surface_commit; | 20 | struct wl_listener surface_commit; |
21 | struct wl_listener output_destroy; | 21 | struct wl_listener output_destroy; |
22 | struct wl_listener new_popup; | 22 | struct wl_listener new_popup; |
23 | struct wl_listener new_subsurface; | ||
23 | 24 | ||
24 | struct wlr_box geo; | 25 | struct wlr_box geo; |
25 | enum zwlr_layer_shell_v1_layer layer; | 26 | enum zwlr_layer_shell_v1_layer layer; |
@@ -39,6 +40,16 @@ struct sway_layer_popup { | |||
39 | struct wl_listener new_popup; | 40 | struct wl_listener new_popup; |
40 | }; | 41 | }; |
41 | 42 | ||
43 | struct sway_layer_subsurface { | ||
44 | struct wlr_subsurface *wlr_subsurface; | ||
45 | struct sway_layer_surface *layer_surface; | ||
46 | |||
47 | struct wl_listener map; | ||
48 | struct wl_listener unmap; | ||
49 | struct wl_listener destroy; | ||
50 | struct wl_listener commit; | ||
51 | }; | ||
52 | |||
42 | struct sway_output; | 53 | struct sway_output; |
43 | void arrange_layers(struct sway_output *output); | 54 | void arrange_layers(struct sway_output *output); |
44 | 55 | ||