diff options
author | Elijah Newren <newren gmail com> | 2006-04-16 02:20:41 +0000 |
---|---|---|
committer | Elijah Newren <newren@src.gnome.org> | 2006-04-16 02:20:41 +0000 |
commit | 7e2d5185a06a8de212b85a10ea5b3f836989510e (patch) | |
tree | 0ad8b866711d1a28929208155e4217194232da84 | |
parent | 5bf3e39ef62548ce1cf9337e7b5acf094cd99413 (diff) | |
download | metacity-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-- | ChangeLog | 9 | ||||
-rw-r--r-- | src/core.c | 9 | ||||
-rw-r--r-- | src/window.c | 24 |
3 files changed, 38 insertions, 4 deletions
@@ -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 @@ -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 || |