window: Maximize tiled windows when resizing to work area
Now that tiled windows are resizable, the user may grow a tiled windows until it covers the entire work area. As this makes the window state mostly indistinguishable from maximization, avoid subtle differences by properly maximizing the window in that case. https://bugzilla.gnome.org/show_bug.cgi?id=645153
This commit is contained in:
parent
00a5db71cf
commit
57e58eaf2a
@ -6147,6 +6147,24 @@ update_resize (MetaWindow *window,
|
||||
g_get_current_time (&window->display->grab_last_moveresize_time);
|
||||
}
|
||||
|
||||
static void
|
||||
maybe_maximize_tiled_window (MetaWindow *window)
|
||||
{
|
||||
MetaRectangle work_area;
|
||||
gint shake_threshold;
|
||||
|
||||
if (!META_WINDOW_TILED_SIDE_BY_SIDE (window))
|
||||
return;
|
||||
|
||||
shake_threshold = meta_prefs_get_drag_threshold ();
|
||||
|
||||
meta_window_get_work_area_for_monitor (window,
|
||||
window->tile_monitor_number,
|
||||
&work_area);
|
||||
if (window->rect.width >= work_area.width - shake_threshold)
|
||||
meta_window_maximize (window, META_MAXIMIZE_BOTH);
|
||||
}
|
||||
|
||||
void
|
||||
meta_window_update_resize (MetaWindow *window,
|
||||
gboolean snap,
|
||||
@ -6190,6 +6208,7 @@ end_grab_op (MetaWindow *window,
|
||||
modifiers & CLUTTER_SHIFT_MASK,
|
||||
x, y,
|
||||
TRUE);
|
||||
maybe_maximize_tiled_window (window);
|
||||
}
|
||||
}
|
||||
window->screen->preview_tile_mode = META_TILE_NONE;
|
||||
|
Loading…
Reference in New Issue
Block a user