mirror of
https://github.com/brl/mutter.git
synced 2024-11-23 08:30:42 -05:00
window: Fix portrait orientation check for tiling
Use work area from the monitor that the window is currently on to determine if tiling should be allowed. Window tiling is disabled for monitors with portrait orientation, but the work area we use to detect portrait orientation is taken from the monitor that currently has the mouse pointer. This works fine for edge tiling using the mouse, but this is broken when using keybindings for window tiling because your mouse pointer could be on a different monitor that has horizontal orientation. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3199>
This commit is contained in:
parent
81a12a7db4
commit
3bfcb6d1b9
@ -3045,15 +3045,15 @@ meta_window_can_tile_maximized (MetaWindow *window)
|
|||||||
gboolean
|
gboolean
|
||||||
meta_window_can_tile_side_by_side (MetaWindow *window)
|
meta_window_can_tile_side_by_side (MetaWindow *window)
|
||||||
{
|
{
|
||||||
int monitor;
|
|
||||||
MtkRectangle tile_area;
|
MtkRectangle tile_area;
|
||||||
MtkRectangle client_rect;
|
MtkRectangle client_rect;
|
||||||
|
|
||||||
if (!meta_window_can_tile_maximized (window))
|
if (!meta_window_can_tile_maximized (window))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
monitor = meta_display_get_current_monitor (window->display);
|
meta_window_get_work_area_for_monitor (window,
|
||||||
meta_window_get_work_area_for_monitor (window, monitor, &tile_area);
|
window->monitor->number,
|
||||||
|
&tile_area);
|
||||||
|
|
||||||
/* Do not allow tiling in portrait orientation */
|
/* Do not allow tiling in portrait orientation */
|
||||||
if (tile_area.height > tile_area.width)
|
if (tile_area.height > tile_area.width)
|
||||||
|
Loading…
Reference in New Issue
Block a user