diff options
author | Brian Ashworth <bosrsf04@gmail.com> | 2019-03-10 18:43:22 -0400 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2019-03-10 23:55:22 +0100 |
commit | a729bda17fb25afcf043dd740e304b8c2c1302a1 (patch) | |
tree | 692af2516327feefc2b3fd0bcba2c054741b62c4 | |
parent | meson: use pkg-config var for scdoc path (diff) | |
download | sway-a729bda17fb25afcf043dd740e304b8c2c1302a1.tar.gz sway-a729bda17fb25afcf043dd740e304b8c2c1302a1.tar.zst sway-a729bda17fb25afcf043dd740e304b8c2c1302a1.zip |
fullscreen: init floating on disable without size
If a container gets mapped as fullscreen and set to floating by
criteria, the size and location are never set for the floating
container. This adds a check in container_fullscreen_disable for a
width or height of 0 and calls container_init_floating
-rw-r--r-- | sway/tree/container.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sway/tree/container.c b/sway/tree/container.c index a6142193..93cff7ff 100644 --- a/sway/tree/container.c +++ b/sway/tree/container.c | |||
@@ -984,6 +984,13 @@ void container_fullscreen_disable(struct sway_container *con) { | |||
984 | root->fullscreen_global = NULL; | 984 | root->fullscreen_global = NULL; |
985 | } | 985 | } |
986 | 986 | ||
987 | // If the container was mapped as fullscreen and set as floating by | ||
988 | // criteria, it needs to be reinitialized as floating to get the proper | ||
989 | // size and location | ||
990 | if (container_is_floating(con) && (con->width == 0 || con->height == 0)) { | ||
991 | container_init_floating(con); | ||
992 | } | ||
993 | |||
987 | con->fullscreen_mode = FULLSCREEN_NONE; | 994 | con->fullscreen_mode = FULLSCREEN_NONE; |
988 | container_end_mouse_operation(con); | 995 | container_end_mouse_operation(con); |
989 | ipc_event_window(con, "fullscreen_mode"); | 996 | ipc_event_window(con, "fullscreen_mode"); |