Ensure WindowData minimized/maximized are mutually exclusive

The window manager can break the assumption that
fullscreen/maximized/minimized values are mutually exclusive.
This commit is contained in:
Christopher Foo 2023-05-08 20:23:45 -04:00
parent 6980b2bf17
commit e4d052e284
No known key found for this signature in database
GPG key ID: 230E20BB1A4F09C7

View file

@ -3497,8 +3497,8 @@ void DisplayServerX11::_window_changed(XEvent *event) {
// Query display server about a possible new window state.
wd.fullscreen = _window_fullscreen_check(window_id);
wd.minimized = _window_minimize_check(window_id);
wd.maximized = _window_maximize_check(window_id, "_NET_WM_STATE");
wd.maximized = _window_maximize_check(window_id, "_NET_WM_STATE") && !wd.fullscreen;
wd.minimized = _window_minimize_check(window_id) && !wd.fullscreen && !wd.maximized;
// Readjusting the window position if the window is being reparented by the window manager for decoration
Window root, parent, *children;