diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2019-03-10 18:43:22 -0400 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2019-03-10 18:43:22 -0400 |
| commit | 0733ea2ebadd9141dc1dee7259d88960d47bb366 (patch) | |
| tree | 692af2516327feefc2b3fd0bcba2c054741b62c4 | |
| parent | bc36d7ff796a81a3aefb274b385f351610893a53 (diff) | |
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) { root->fullscreen_global = NULL; } + // If the container was mapped as fullscreen and set as floating by + // criteria, it needs to be reinitialized as floating to get the proper + // size and location + if (container_is_floating(con) && (con->width == 0 || con->height == 0)) { + container_init_floating(con); + } + con->fullscreen_mode = FULLSCREEN_NONE; container_end_mouse_operation(con); ipc_event_window(con, "fullscreen_mode"); |
