From 97b03230fda37fecb08ffb38d83e33d4c86aa7be Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Thu, 10 Dec 2009 23:33:00 +0000 Subject: - Require gnome-themes rather than nodoka-metacity-theme (rhbz 532455, 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) --- ...licit-raises-from-same-client-not-just-sa.patch | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 Allow-explicit-raises-from-same-client-not-just-sa.patch (limited to 'Allow-explicit-raises-from-same-client-not-just-sa.patch') 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 +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 ++#include /* For display->resource_mask */ + #include + + #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 -- cgit