summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElijah Newren <newren gmail com>2006-04-16 02:20:41 +0000
committerElijah Newren <newren@src.gnome.org>2006-04-16 02:20:41 +0000
commit7e2d5185a06a8de212b85a10ea5b3f836989510e (patch)
tree0ad8b866711d1a28929208155e4217194232da84
parent5bf3e39ef62548ce1cf9337e7b5acf094cd99413 (diff)
downloadmetacity-7e2d5185a06a8de212b85a10ea5b3f836989510e.tar.gz
Patch from Dan Sanders to fix #335076.
2006-04-15 Elijah Newren <newren gmail com> Patch from Dan Sanders to fix #335076. * src/core.c (meta_core_maximize, meta_core_toggle_maximize, meta_core_unmaximize): * src/window.c (meta_window_client_message): Raise windows on maximize/unmaximize.
-rw-r--r--ChangeLog9
-rw-r--r--src/core.c9
-rw-r--r--src/window.c24
3 files changed, 38 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index eb53c42b..954947ea 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2006-04-15 Elijah Newren <newren gmail com>
+ Patch from Dan Sanders to fix #335076.
+
+ * src/core.c (meta_core_maximize, meta_core_toggle_maximize,
+ meta_core_unmaximize):
+ * src/window.c (meta_window_client_message):
+ Raise windows on maximize/unmaximize.
+
+2006-04-15 Elijah Newren <newren gmail com>
+
* src/display.h: Patch from Andy Morum to fix the build with
--disable-xsync. #336605
diff --git a/src/core.c b/src/core.c
index eec01157..7474e838 100644
--- a/src/core.c
+++ b/src/core.c
@@ -389,6 +389,9 @@ meta_core_maximize (Display *xdisplay,
if (window == NULL || window->frame == NULL)
meta_bug ("No such frame window 0x%lx!\n", frame_xwindow);
+ if (meta_prefs_get_raise_on_click ())
+ meta_window_raise (window);
+
meta_window_maximize (window,
META_MAXIMIZE_HORIZONTAL | META_MAXIMIZE_VERTICAL);
}
@@ -406,6 +409,9 @@ meta_core_toggle_maximize (Display *xdisplay,
if (window == NULL || window->frame == NULL)
meta_bug ("No such frame window 0x%lx!\n", frame_xwindow);
+ if (meta_prefs_get_raise_on_click ())
+ meta_window_raise (window);
+
if (META_WINDOW_MAXIMIZED (window))
meta_window_unmaximize (window,
META_MAXIMIZE_HORIZONTAL | META_MAXIMIZE_VERTICAL);
@@ -427,6 +433,9 @@ meta_core_unmaximize (Display *xdisplay,
if (window == NULL || window->frame == NULL)
meta_bug ("No such frame window 0x%lx!\n", frame_xwindow);
+ if (meta_prefs_get_raise_on_click ())
+ meta_window_raise (window);
+
meta_window_unmaximize (window,
META_MAXIMIZE_HORIZONTAL | META_MAXIMIZE_VERTICAL);
}
diff --git a/src/window.c b/src/window.c
index 155fa48d..27cdd77d 100644
--- a/src/window.c
+++ b/src/window.c
@@ -4460,9 +4460,17 @@ meta_window_client_message (MetaWindow *window,
(action == _NET_WM_STATE_TOGGLE &&
!window->maximized_horizontally));
if (max && window->has_maximize_func)
- meta_window_maximize (window, META_MAXIMIZE_HORIZONTAL);
+ {
+ if (meta_prefs_get_raise_on_click ())
+ meta_window_raise (window);
+ meta_window_maximize (window, META_MAXIMIZE_HORIZONTAL);
+ }
else
- meta_window_unmaximize (window, META_MAXIMIZE_HORIZONTAL);
+ {
+ if (meta_prefs_get_raise_on_click ())
+ meta_window_raise (window);
+ meta_window_unmaximize (window, META_MAXIMIZE_HORIZONTAL);
+ }
}
if (first == display->atom_net_wm_state_maximized_vert ||
@@ -4474,9 +4482,17 @@ meta_window_client_message (MetaWindow *window,
(action == _NET_WM_STATE_TOGGLE &&
!window->maximized_vertically));
if (max && window->has_maximize_func)
- meta_window_maximize (window, META_MAXIMIZE_VERTICAL);
+ {
+ if (meta_prefs_get_raise_on_click ())
+ meta_window_raise (window);
+ meta_window_maximize (window, META_MAXIMIZE_VERTICAL);
+ }
else
- meta_window_unmaximize (window, META_MAXIMIZE_VERTICAL);
+ {
+ if (meta_prefs_get_raise_on_click ())
+ meta_window_raise (window);
+ meta_window_unmaximize (window, META_MAXIMIZE_VERTICAL);
+ }
}
if (first == display->atom_net_wm_state_modal ||