summaryrefslogtreecommitdiffstats
path: root/include/sway/tree/view.h
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2018-08-01 22:02:12 -0400
committerLibravatar GitHub <noreply@github.com>2018-08-01 22:02:12 -0400
commit9564c73c0ddca9d7b45f0476fcaee8bd878d8345 (patch)
tree4405c7ab30e25c5234a61280a66d406921c52253 /include/sway/tree/view.h
parentMerge pull request #2264 from ianyfan/ipc (diff)
parentClose popups when changing focus (diff)
downloadsway-9564c73c0ddca9d7b45f0476fcaee8bd878d8345.tar.gz
sway-9564c73c0ddca9d7b45f0476fcaee8bd878d8345.tar.zst
sway-9564c73c0ddca9d7b45f0476fcaee8bd878d8345.zip
Merge pull request #2391 from RyanDwyer/fix-popups-v2
Fix popups (v2)
Diffstat (limited to 'include/sway/tree/view.h')
-rw-r--r--include/sway/tree/view.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h
index 800df073..620c41e0 100644
--- a/include/sway/tree/view.h
+++ b/include/sway/tree/view.h
@@ -47,7 +47,10 @@ struct sway_view_impl {
47 bool (*has_client_side_decorations)(struct sway_view *view); 47 bool (*has_client_side_decorations)(struct sway_view *view);
48 void (*for_each_surface)(struct sway_view *view, 48 void (*for_each_surface)(struct sway_view *view,
49 wlr_surface_iterator_func_t iterator, void *user_data); 49 wlr_surface_iterator_func_t iterator, void *user_data);
50 void (*for_each_popup)(struct sway_view *view,
51 wlr_surface_iterator_func_t iterator, void *user_data);
50 void (*close)(struct sway_view *view); 52 void (*close)(struct sway_view *view);
53 void (*close_popups)(struct sway_view *view);
51 void (*destroy)(struct sway_view *view); 54 void (*destroy)(struct sway_view *view);
52}; 55};
53 56
@@ -246,11 +249,22 @@ void view_set_tiled(struct sway_view *view, bool tiled);
246 249
247void view_close(struct sway_view *view); 250void view_close(struct sway_view *view);
248 251
252void view_close_popups(struct sway_view *view);
253
249void view_damage_from(struct sway_view *view); 254void view_damage_from(struct sway_view *view);
250 255
256/**
257 * Iterate all surfaces of a view (toplevels + popups).
258 */
251void view_for_each_surface(struct sway_view *view, 259void view_for_each_surface(struct sway_view *view,
252 wlr_surface_iterator_func_t iterator, void *user_data); 260 wlr_surface_iterator_func_t iterator, void *user_data);
253 261
262/**
263 * Iterate all popups recursively.
264 */
265void view_for_each_popup(struct sway_view *view,
266 wlr_surface_iterator_func_t iterator, void *user_data);
267
254// view implementation 268// view implementation
255 269
256void view_init(struct sway_view *view, enum sway_view_type type, 270void view_init(struct sway_view *view, enum sway_view_type type,