mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 09:30:45 -05:00
Ignore maximum size hints when maximizing. Should fix #327543 (see comment
2006-09-18 Elijah Newren <newren gmail com> * src/constraints.c (constrain_maximization): Ignore maximum size hints when maximizing. Should fix #327543 (see comment 4 and comment 5).
This commit is contained in:
parent
470dc30174
commit
2d73af1530
@ -1,3 +1,9 @@
|
|||||||
|
2006-09-18 Elijah Newren <newren gmail com>
|
||||||
|
|
||||||
|
* src/constraints.c (constrain_maximization): Ignore maximum size
|
||||||
|
hints when maximizing. Should fix #327543 (see comment 4 and comment
|
||||||
|
5).
|
||||||
|
|
||||||
2006-09-18 Elijah Newren <newren gmail com>
|
2006-09-18 Elijah Newren <newren gmail com>
|
||||||
|
|
||||||
* src/ui.c (filter_func): avoid a compilation warning by making
|
* src/ui.c (filter_func): avoid a compilation warning by making
|
||||||
|
@ -694,7 +694,7 @@ constrain_maximization (MetaWindow *window,
|
|||||||
gboolean check_only)
|
gboolean check_only)
|
||||||
{
|
{
|
||||||
MetaRectangle min_size, max_size, work_area;
|
MetaRectangle min_size, max_size, work_area;
|
||||||
gboolean hminbad, vminbad, hmaxbad, vmaxbad;
|
gboolean hminbad, vminbad;
|
||||||
gboolean horiz_equal, vert_equal;
|
gboolean horiz_equal, vert_equal;
|
||||||
gboolean constraint_already_satisfied;
|
gboolean constraint_already_satisfied;
|
||||||
|
|
||||||
@ -711,9 +711,7 @@ constrain_maximization (MetaWindow *window,
|
|||||||
|
|
||||||
hminbad = work_area.width < min_size.width && window->maximized_horizontally;
|
hminbad = work_area.width < min_size.width && window->maximized_horizontally;
|
||||||
vminbad = work_area.height < min_size.height && window->maximized_vertically;
|
vminbad = work_area.height < min_size.height && window->maximized_vertically;
|
||||||
hmaxbad = work_area.width > max_size.width && window->maximized_horizontally;
|
if (hminbad || vminbad)
|
||||||
vmaxbad = work_area.height > max_size.height && window->maximized_vertically;
|
|
||||||
if (hminbad || vminbad || hmaxbad || vmaxbad)
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
/* Determine whether constraint is already satisfied; exit if it is */
|
/* Determine whether constraint is already satisfied; exit if it is */
|
||||||
@ -841,8 +839,13 @@ constrain_size_limits (MetaWindow *window,
|
|||||||
|
|
||||||
/* Determine whether constraint is already satisfied; exit if it is */
|
/* Determine whether constraint is already satisfied; exit if it is */
|
||||||
get_size_limits (window, info->fgeom, FALSE, &min_size, &max_size);
|
get_size_limits (window, info->fgeom, FALSE, &min_size, &max_size);
|
||||||
too_big = !meta_rectangle_could_fit_rect (&info->current, &min_size);
|
/* We ignore max-size limits for maximized windows; see #327543 */
|
||||||
too_small = !meta_rectangle_could_fit_rect (&max_size, &info->current);
|
if (window->maximized_horizontally)
|
||||||
|
max_size.width = MAX (max_size.width, info->current.width);
|
||||||
|
if (window->maximized_vertically)
|
||||||
|
max_size.height = MAX (max_size.height, info->current.height);
|
||||||
|
too_small = !meta_rectangle_could_fit_rect (&info->current, &min_size);
|
||||||
|
too_big = !meta_rectangle_could_fit_rect (&max_size, &info->current);
|
||||||
constraint_already_satisfied = !too_big && !too_small;
|
constraint_already_satisfied = !too_big && !too_small;
|
||||||
if (check_only || constraint_already_satisfied)
|
if (check_only || constraint_already_satisfied)
|
||||||
return constraint_already_satisfied;
|
return constraint_already_satisfied;
|
||||||
|
Loading…
Reference in New Issue
Block a user