aboutsummaryrefslogtreecommitdiffstats
path: root/sway/desktop/xwayland.c
diff options
context:
space:
mode:
authorLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-06-26 14:24:15 +1000
committerLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-06-26 14:24:15 +1000
commite8001e6fbe827f6ae6842cf9f221edb322bb570e (patch)
tree806530a903cfb330a1a54b9c9366f21a01133a38 /sway/desktop/xwayland.c
parentRename view's free callback to destroy (diff)
downloadsway-e8001e6fbe827f6ae6842cf9f221edb322bb570e.tar.gz
sway-e8001e6fbe827f6ae6842cf9f221edb322bb570e.tar.zst
sway-e8001e6fbe827f6ae6842cf9f221edb322bb570e.zip
Damage output when views toggle fullscreen
Also add workspace to the transaction when a view maps in fullscreen mode.
Diffstat (limited to 'sway/desktop/xwayland.c')
-rw-r--r--sway/desktop/xwayland.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/sway/desktop/xwayland.c b/sway/desktop/xwayland.c
index eea8420d..720ea2fd 100644
--- a/sway/desktop/xwayland.c
+++ b/sway/desktop/xwayland.c
@@ -286,8 +286,11 @@ static void handle_map(struct wl_listener *listener, void *data) {
286 286
287 if (xsurface->fullscreen) { 287 if (xsurface->fullscreen) {
288 view_set_fullscreen(view, true); 288 view_set_fullscreen(view, true);
289 struct sway_container *ws = container_parent(view->swayc, C_WORKSPACE);
290 arrange_and_commit(ws);
291 } else {
292 arrange_and_commit(view->swayc->parent);
289 } 293 }
290 arrange_and_commit(view->swayc->parent);
291} 294}
292 295
293static void handle_destroy(struct wl_listener *listener, void *data) { 296static void handle_destroy(struct wl_listener *listener, void *data) {
@@ -337,7 +340,12 @@ static void handle_request_fullscreen(struct wl_listener *listener, void *data)
337 return; 340 return;
338 } 341 }
339 view_set_fullscreen(view, xsurface->fullscreen); 342 view_set_fullscreen(view, xsurface->fullscreen);
340 arrange_and_commit(view->swayc); 343
344 struct sway_container *ws = container_parent(view->swayc, C_WORKSPACE);
345 struct sway_transaction *transaction = transaction_create();
346 arrange_windows(ws, transaction);
347 transaction_add_damage(transaction, container_get_box(ws->parent));
348 transaction_commit(transaction);
341} 349}
342 350
343static void handle_set_title(struct wl_listener *listener, void *data) { 351static void handle_set_title(struct wl_listener *listener, void *data) {