summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Bloomfield <PeterB@src.gnome.org>2007-11-07 04:25:57 +0000
committerPeter Bloomfield <PeterB@src.gnome.org>2007-11-07 04:25:57 +0000
commit6fa43455143e127add0432df2842bc889f9a0115 (patch)
treec8d43f1f10a3c1366654b0652472e4040c881e40
parentd0523744b7482fc2cea58f8b740924b0a3338f40 (diff)
downloadmetacity-6fa43455143e127add0432df2842bc889f9a0115.tar.gz
save unmaximized part of client root coords
svn path=/trunk/; revision=3375
-rw-r--r--ChangeLog5
-rw-r--r--src/window.c20
2 files changed, 23 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 3ec7497c..4251c59b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2007-11-06 Peter Bloomfield <pbloomfield@bellsouth.net>
+ * src/window.c (meta_window_move_resize_internal): save
+ unmaximized part of client root coords.
+
+2007-11-06 Peter Bloomfield <pbloomfield@bellsouth.net>
+
* src/window.c (meta_window_move_resize_internal): do not save
client root coords while window is maximized.
diff --git a/src/window.c b/src/window.c
index 7ff07fe7..eb769829 100644
--- a/src/window.c
+++ b/src/window.c
@@ -3481,8 +3481,24 @@ meta_window_move_resize_internal (MetaWindow *window,
* we want user_rect to reflect user position/size changes OR the initial
* placement of the window.
*/
- if ((is_user_action || !window->placed) && !META_WINDOW_MAXIMIZED (window))
- meta_window_get_client_root_coords (window, &window->user_rect);
+ if (is_user_action || !window->placed)
+ {
+ MetaRectangle user_rect;
+
+ meta_window_get_client_root_coords (window, &user_rect);
+
+ if (!window->maximized_horizontally)
+ {
+ window->user_rect.x = user_rect.x;
+ window->user_rect.width = user_rect.width;
+ }
+
+ if (!window->maximized_vertically)
+ {
+ window->user_rect.y = user_rect.y;
+ window->user_rect.height = user_rect.height;
+ }
+ }
if (need_move_frame || need_resize_frame ||
need_move_client || need_resize_client)