diff options
author | Elijah Newren <newren gmail com> | 2006-04-16 02:22:11 +0000 |
---|---|---|
committer | Elijah Newren <newren@src.gnome.org> | 2006-04-16 02:22:11 +0000 |
commit | 4ab851cea4650895585c9624885c102c189034a3 (patch) | |
tree | 393c7fb84a12c009b65cdea5676039cfdb746591 | |
parent | a0dae60517c8742757c3d67476f0e2d62c099588 (diff) | |
download | metacity-4ab851cea4650895585c9624885c102c189034a3.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-- | ChangeLog | 9 | ||||
-rw-r--r-- | src/core.c | 9 | ||||
-rw-r--r-- | src/window.c | 24 |
3 files changed, 38 insertions, 4 deletions
@@ -1,3 +1,12 @@ +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-14 Elijah Newren <newren gmail com> * configure.in: post-release version bump to 2.14.5 @@ -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 88787060..123996c2 100644 --- a/src/window.c +++ b/src/window.c @@ -4459,9 +4459,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 || @@ -4473,9 +4481,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 || |