diff options
author | Owen Taylor <otaylor@fedoraproject.org> | 2009-12-10 23:33:00 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@fedoraproject.org> | 2009-12-10 23:33:00 +0000 |
commit | 97b03230fda37fecb08ffb38d83e33d4c86aa7be (patch) | |
tree | f7068621f9cd94d5ccbf2672a0ec44133e8b85e7 /Allow-explicit-raises-from-same-client-not-just-sa.patch | |
parent | 2486a74f9da9245d4fe5cdf4a7cc880c49798fd5 (diff) | |
download | metacity-97b03230fda37fecb08ffb38d83e33d4c86aa7be.tar.gz metacity-97b03230fda37fecb08ffb38d83e33d4c86aa7be.tar.xz metacity-97b03230fda37fecb08ffb38d83e33d4c86aa7be.zip |
- Require gnome-themes rather than nodoka-metacity-theme (rhbz 532455,metacity-2_28_0-13_fc13
Stijn Hoop)
- Add patches for GNOME bugs
445447 - Application-induced window raise fails when raise_on_click off
(rhbz 526045)
530702 - compiz doesn't start if metacity compositor is enabled (rhbz
537791)
559816 - Doesn't update keybindings being disabled/cleared (rhbz 532282)
567528 - Cannot raise windows from applications in Tcl/Tk and Java (rhbz
503522)
577576 - Failed to read saved session file warning on new sessions (rhbz
493245)
598231 - When Chromium rings the bell, metacity quits(rhbz 532282)
598995 - Don't focus ancestor window on a different workspace (rhbz 237158)
599097 - For mouse and sloppy focus, return to "mouse mode" on motion (rhbz
530261)
599248 - Add no_focus_windows preference to list windows that shouldn't be
focused (rhbz 530262)
599261 - Add a new_windows_always_on_top preference (rhbz 530263)
599262 - Add XFCE Terminal as a terminal
604319 - XIOError unknown display (rhbz 537845)
Diffstat (limited to 'Allow-explicit-raises-from-same-client-not-just-sa.patch')
-rw-r--r-- | Allow-explicit-raises-from-same-client-not-just-sa.patch | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/Allow-explicit-raises-from-same-client-not-just-sa.patch b/Allow-explicit-raises-from-same-client-not-just-sa.patch new file mode 100644 index 0000000..2db720a --- /dev/null +++ b/Allow-explicit-raises-from-same-client-not-just-sa.patch @@ -0,0 +1,73 @@ +From 7e116a394689718567406837740679c1f1f0d74f Mon Sep 17 00:00:00 2001 +From: Owen W. Taylor <otaylor@fishsoup.net> +Date: Mon, 19 Oct 2009 19:41:54 -0400 +Subject: [PATCH] Allow explicit raises from same client, not just same app + +We currently allow XRaiseWindow when the same application (defined +by the window group) is focused, but the kind of old applications +that XRaiseWindow are frequently not setting the window group. + +Expand the check to allow the same X client (defined by the looking +at client ID) to raise windows above the focus window. + +https://bugzilla.gnome.org/show_bug.cgi?id=567528 +--- + src/core/window.c | 22 ++++++++++++++++++++++ + 1 files changed, 22 insertions(+), 0 deletions(-) + +diff --git a/src/core/window.c b/src/core/window.c +index 6de86ee..8d029a2 100644 +--- a/src/core/window.c ++++ b/src/core/window.c +@@ -47,6 +47,7 @@ + #include "effects.h" + + #include <X11/Xatom.h> ++#include <X11/Xlibint.h> /* For display->resource_mask */ + #include <string.h> + + #ifdef HAVE_SHAPE +@@ -72,6 +73,9 @@ static gboolean process_property_notify (MetaWindow *window, + static void meta_window_show (MetaWindow *window); + static void meta_window_hide (MetaWindow *window); + ++static gboolean meta_window_same_client (MetaWindow *window, ++ MetaWindow *other_window); ++ + static void meta_window_save_rect (MetaWindow *window); + static void save_user_window_placement (MetaWindow *window); + static void force_save_user_window_placement (MetaWindow *window); +@@ -4708,6 +4712,7 @@ meta_window_configure_request (MetaWindow *window, + } + else if (active_window && + !meta_window_same_application (window, active_window) && ++ !meta_window_same_client (window, active_window) && + XSERVER_TIME_IS_BEFORE (window->net_wm_user_time, + active_window->net_wm_user_time)) + { +@@ -7544,6 +7549,23 @@ meta_window_same_application (MetaWindow *window, + group==other_group; + } + ++/* Generally meta_window_same_application() is a better idea ++ * of "sameness", since it handles the case where multiple apps ++ * want to look like the same app or the same app wants to look ++ * like multiple apps, but in the case of workarounds for legacy ++ * applications (which likely aren't setting the group properly ++ * anyways), it may be desirable to check this as well. ++ */ ++static gboolean ++meta_window_same_client (MetaWindow *window, ++ MetaWindow *other_window) ++{ ++ int resource_mask = window->display->xdisplay->resource_mask; ++ ++ return ((window->xwindow & ~resource_mask) == ++ (other_window->xwindow & ~resource_mask)); ++} ++ + void + meta_window_refresh_resize_popup (MetaWindow *window) + { +-- +1.6.5.rc2
\ No newline at end of file |