diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-06-06 22:57:34 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-06-09 10:11:25 +1000 |
commit | bb66e6d578fdc68fb33d0fde921390d74f20bb31 (patch) | |
tree | 99d3763eee97acb870c16a762c0ee40af787c295 /sway/desktop/xwayland.c | |
parent | Make main properties be the pending state (diff) | |
download | sway-bb66e6d578fdc68fb33d0fde921390d74f20bb31.tar.gz sway-bb66e6d578fdc68fb33d0fde921390d74f20bb31.tar.zst sway-bb66e6d578fdc68fb33d0fde921390d74f20bb31.zip |
Refactor everything that needs to arrange windows
* The arrange_foo functions are now replaced with arrange_and_commit, or
with manually created transactions and arrange_windows x2.
* The arrange functions are now only called from the highest level
functions rather than from both high level and low level functions.
* Due to the previous point, view_set_fullscreen_raw and
view_set_fullscreen are both merged into one function again.
* Floating and fullscreen are now working with transactions.
Diffstat (limited to 'sway/desktop/xwayland.c')
-rw-r--r-- | sway/desktop/xwayland.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sway/desktop/xwayland.c b/sway/desktop/xwayland.c index d8442530..70929d48 100644 --- a/sway/desktop/xwayland.c +++ b/sway/desktop/xwayland.c | |||
@@ -11,6 +11,7 @@ | |||
11 | #include "sway/input/seat.h" | 11 | #include "sway/input/seat.h" |
12 | #include "sway/output.h" | 12 | #include "sway/output.h" |
13 | #include "sway/server.h" | 13 | #include "sway/server.h" |
14 | #include "sway/tree/arrange.h" | ||
14 | #include "sway/tree/container.h" | 15 | #include "sway/tree/container.h" |
15 | #include "sway/tree/layout.h" | 16 | #include "sway/tree/layout.h" |
16 | #include "sway/tree/view.h" | 17 | #include "sway/tree/view.h" |
@@ -292,6 +293,7 @@ static void handle_map(struct wl_listener *listener, void *data) { | |||
292 | if (xsurface->fullscreen) { | 293 | if (xsurface->fullscreen) { |
293 | view_set_fullscreen(view, true); | 294 | view_set_fullscreen(view, true); |
294 | } | 295 | } |
296 | arrange_and_commit(view->swayc); | ||
295 | } | 297 | } |
296 | 298 | ||
297 | static void handle_destroy(struct wl_listener *listener, void *data) { | 299 | static void handle_destroy(struct wl_listener *listener, void *data) { |
@@ -325,6 +327,7 @@ static void handle_request_fullscreen(struct wl_listener *listener, void *data) | |||
325 | return; | 327 | return; |
326 | } | 328 | } |
327 | view_set_fullscreen(view, xsurface->fullscreen); | 329 | view_set_fullscreen(view, xsurface->fullscreen); |
330 | arrange_and_commit(view->swayc); | ||
328 | } | 331 | } |
329 | 332 | ||
330 | static void handle_set_title(struct wl_listener *listener, void *data) { | 333 | static void handle_set_title(struct wl_listener *listener, void *data) { |