kranewm

An ICCCM & EWMH compliant X11 reparenting, dynamic window manager, written in C++
git clone git clone git://git.deurzen.net/kranewm.git
Log | Files | Refs | LICENSE

commit dcc2372750b452850ab7c5e126e1b78d0987a661
parent fecc870e0c66518ee30dce5c98a9319f94089b7e
Author: deurzen <m.deurzen@tum.de>
Date:   Sun, 18 Jul 2021 01:47:43 +0200

fixes contained-in fullscreen bug

Diffstat:
Msrc/core/model.cc | 16+++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/core/model.cc b/src/core/model.cc @@ -2435,7 +2435,9 @@ Model::set_fullscreen_client(Toggle toggle, Client_ptr client) if (!client->fullscreen) return; - client->set_free_region(m_fullscreen_map.at(client)); + if (!client->contained) + client->set_free_region(m_fullscreen_map.at(client)); + client->fullscreen = false; m_conn.set_window_state( @@ -2570,14 +2572,22 @@ Model::set_contained_client(Toggle toggle, Client_ptr client) case Toggle::On: { client->contained = true; - set_fullscreen_client(toggle, client); + + Workspace_ptr workspace = get_workspace(client->workspace); + + apply_layout(workspace); + apply_stack(workspace); return; } case Toggle::Off: { client->contained = false; - set_fullscreen_client(toggle, client); + + Workspace_ptr workspace = get_workspace(client->workspace); + + apply_layout(workspace); + apply_stack(workspace); return; }