diff options
| author | Victor Kareh <[email protected]> | 2026-01-20 21:21:50 -0500 |
|---|---|---|
| committer | Victor Kareh <[email protected]> | 2026-01-21 06:34:52 -0500 |
| commit | 490e2364d28aaedf3c34e3f479d817950ccaf81f (patch) | |
| tree | 405c6444995ba098b1e87cd6280b3625d49f3eac | |
| parent | 50908fbc052a67800f2c45f197d4debf5830d61f (diff) | |
| download | marco-master.tar.bz2 marco-master.tar.xz | |
Corner-tiled windows were being treated as maximized horizontally, which
is wrong. Instead, we clear all maximized flags to make sure their size
is respected on reload.
Fixes #710
| -rw-r--r-- | src/core/window.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/core/window.c b/src/core/window.c index ae0fa791..6781523c 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -2715,9 +2715,12 @@ meta_window_tile (MetaWindow *window) window->tile_mode == META_TILE_TOP_RIGHT || window->tile_mode == META_TILE_TOP_LEFT) { - MetaRectangle *saved_rect = NULL; - saved_rect = &window->saved_rect; - meta_window_maximize_internal (window, META_MAXIMIZE_HORIZONTAL, saved_rect); + /* Corner-tiled windows should not be maximized in any direction. + * Don't modify saved_rect to preserve it when corner-tiling a + * maximized window. Make sure both maximized flags are cleared + * so _NET_WM_STATE doesn't get MAXIMIZED_HORZ or MAXIMIZED_VERT set. */ + window->maximized_horizontally = FALSE; + window->maximized_vertically = FALSE; } else meta_window_save_rect (window); @@ -2735,6 +2738,7 @@ meta_window_tile (MetaWindow *window) } set_allowed_actions_hint (window); + set_net_wm_state (window); } void |
