Actually maximize after placement. See #116285.

2003-06-29  Rob Adams  <robadams@ucla.edu>

	* src/constraints.c (meta_window_constrain): Actually maximize
	after placement.  See #116285.
This commit is contained in:
Rob Adams 2003-06-29 22:33:28 +00:00 committed by Rob Adams
parent 788ea66b1f
commit 311f435120
2 changed files with 9 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2003-06-29 Rob Adams <robadams@ucla.edu>
* src/constraints.c (meta_window_constrain): Actually maximize
after placement. See #116285.
2003-06-26 Havoc Pennington <hp@pobox.com> 2003-06-26 Havoc Pennington <hp@pobox.com>
* src/workspace.c (meta_workspace_invalidate_work_area): nuke the * src/workspace.c (meta_workspace_invalidate_work_area): nuke the

View File

@ -1233,6 +1233,7 @@ meta_window_constrain (MetaWindow *window,
{ {
ConstraintInfo info; ConstraintInfo info;
MetaRectangle current; MetaRectangle current;
gboolean did_placement;
#define OUTER_WIDTH(rect) ((rect).width + info.fgeom.left_width + info.fgeom.right_width) #define OUTER_WIDTH(rect) ((rect).width + info.fgeom.left_width + info.fgeom.right_width)
#define OUTER_HEIGHT(rect) ((rect).height + info.fgeom.top_height + info.fgeom.bottom_height) #define OUTER_HEIGHT(rect) ((rect).height + info.fgeom.top_height + info.fgeom.bottom_height)
@ -1272,6 +1273,7 @@ meta_window_constrain (MetaWindow *window,
* maximized/fullscreen windows until they are unmaximized * maximized/fullscreen windows until they are unmaximized
* and unfullscreened * and unfullscreened
*/ */
did_placement = FALSE;
if (!window->placed && if (!window->placed &&
window->calc_placement && window->calc_placement &&
!window->maximized && !window->maximized &&
@ -1281,6 +1283,7 @@ meta_window_constrain (MetaWindow *window,
meta_window_place (window, orig_fgeom, current.x, current.y, meta_window_place (window, orig_fgeom, current.x, current.y,
&placed_rect.x, &placed_rect.y); &placed_rect.x, &placed_rect.y);
did_placement = TRUE;
/* placing the window may have changed the xinerama. Find the /* placing the window may have changed the xinerama. Find the
* new xinerama and update the ConstraintInfo * new xinerama and update the ConstraintInfo
@ -1305,7 +1308,7 @@ meta_window_constrain (MetaWindow *window,
} }
if (window->maximize_after_placement && if (window->maximize_after_placement &&
window->placed) (window->placed || did_placement))
{ {
window->maximize_after_placement = FALSE; window->maximize_after_placement = FALSE;
meta_window_maximize_internal (window, new); meta_window_maximize_internal (window, new);