don't accidentally treat maximize vertically as maximize in both

2005-05-26  Elijah Newren  <newren@gmail.com>

	* src/window.c (check_maximize_to_work_area): don't accidentally
	treat maximize vertically as maximize in both directions.  Fixes
	#302204.
This commit is contained in:
Elijah Newren 2005-05-26 18:42:55 +00:00 committed by Elijah Newren
parent eb46b01e97
commit e1891161d0
2 changed files with 20 additions and 4 deletions

View File

@ -1,8 +1,15 @@
2005-05-26 Elijah Newren <newren@gmail.com>
* src/window.c: (meta_window_new_with_attrs): put all transients
* src/window.c (check_maximize_to_work_area): don't accidentally
treat maximize vertically as maximize in both directions. Fixes
#302204.
2005-05-26 Elijah Newren <newren@gmail.com>
* src/window.c (meta_window_new_with_attrs): put all transients
of the new window, if any exist, in the calc_showing queue. Fixes
#303284.
#303284. Thanks to Billy Biggs for the testcase that made this
easy to track down.
2005-04-11 Elijah Newren <newren@gmail.com>

View File

@ -2998,8 +2998,17 @@ check_maximize_to_work_area (MetaWindow *window,
meta_window_get_outer_rect (window, &rect);
if ( rect.x >= work_area->x &&
rect.y >= work_area->y &&
/* The logic in this if is basically:
* if window's left side is at far left or offscreen AND
* window's bottom side is far top or offscreen AND
* window's right side is at far right or offscreen AND
* window's bottom side is at far bottom or offscreen
* except that we maximize windows with a size increment hint (e.g.
* terminals) should be maximized if they are "sufficiently close"
* to the above criteria...
*/
if ( rect.x <= work_area->x &&
rect.y <= work_area->y &&
(((work_area->width + work_area->x) - (rect.width + rect.x)) <
window->size_hints.width_inc) &&
(((work_area->height + work_area->y) - (rect.height + rect.y)) <