From ff7a1082ffb9c2072c9f8676d29b964cd7118995 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Tue, 1 Mar 2011 10:25:55 -0500 Subject: Upstream git snapshot Includes Alt-` binding which we really want for gnome-shell Drop upstreamed patches Switch to my auto-autogen snippet which automatically invokes configure, so we can build from a pure git archive Instead of using autoreconf, just rm -f configure and let autogen do the work --- ...cations-to-raise-windows-when-raise_on_cl.patch | 31 ----- ...licit-raises-from-same-client-not-just-sa.patch | 73 ----------- Dont-warn-about-a-missing-session-file.patch | 36 ------ ...RestartStyleHint-to-RestartIfRunning-when.patch | 140 --------------------- libs.patch | 12 -- metacity.spec | 38 +++--- no-lame-dialog.patch | 133 -------------------- title-click.patch | 11 -- 8 files changed, 21 insertions(+), 453 deletions(-) delete mode 100644 Allow-applications-to-raise-windows-when-raise_on_cl.patch delete mode 100644 Allow-explicit-raises-from-same-client-not-just-sa.patch delete mode 100644 Dont-warn-about-a-missing-session-file.patch delete mode 100644 Should-set-RestartStyleHint-to-RestartIfRunning-when.patch delete mode 100644 libs.patch delete mode 100644 no-lame-dialog.patch delete mode 100644 title-click.patch diff --git a/Allow-applications-to-raise-windows-when-raise_on_cl.patch b/Allow-applications-to-raise-windows-when-raise_on_cl.patch deleted file mode 100644 index 20d8dfa..0000000 --- a/Allow-applications-to-raise-windows-when-raise_on_cl.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 55d4c4cc9455f348b5bc455675004a0e035ea31d Mon Sep 17 00:00:00 2001 -From: Owen W. Taylor -Date: Tue, 17 Nov 2009 17:24:53 -0500 -Subject: [PATCH] Allow applications to raise windows when raise_on_click is off - -Whether Metacity honors a raise request from an application should -not be affected by the raise_on_click setting; remove a check that -seems to have been added in error. - -https://bugzilla.gnome.org/show_bug.cgi?id=445447 ---- - src/core/window.c | 3 +-- - 1 files changed, 1 insertions(+), 2 deletions(-) - -diff --git a/src/core/window.c b/src/core/window.c -index b481ccf..db59de1 100644 ---- a/src/core/window.c -+++ b/src/core/window.c -@@ -4716,8 +4716,7 @@ meta_window_configure_request (MetaWindow *window, - { - MetaWindow *active_window; - active_window = window->display->expected_focus_window; -- if (meta_prefs_get_disable_workarounds () || -- !meta_prefs_get_raise_on_click ()) -+ if (meta_prefs_get_disable_workarounds ()) - { - meta_topic (META_DEBUG_STACK, - "%s sent an xconfigure stacking request; this is " --- -1.6.5.2 - diff --git a/Allow-explicit-raises-from-same-client-not-just-sa.patch b/Allow-explicit-raises-from-same-client-not-just-sa.patch deleted file mode 100644 index 2db720a..0000000 --- a/Allow-explicit-raises-from-same-client-not-just-sa.patch +++ /dev/null @@ -1,73 +0,0 @@ -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 diff --git a/Dont-warn-about-a-missing-session-file.patch b/Dont-warn-about-a-missing-session-file.patch deleted file mode 100644 index 6173646..0000000 --- a/Dont-warn-about-a-missing-session-file.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 3b06d1045cc990a8610bdbd5c9b83440b1b6e932 Mon Sep 17 00:00:00 2001 -From: Tomislav Vujec -Date: Tue, 17 Nov 2009 19:42:38 -0500 -Subject: [PATCH] Don't warn about a missing session file - -When started without session related command line parameters (e.g. from -gnome-session), metacity picks up client_id from the DESKTOP_AUTOSTART_ID -environment variable. Unfortunately, there is no way to distinguish if this was -passed from a config file, representing old saved session, or generated by -gnome-session, therefore load_state is attempted in each case. If the client_id -is generated, there will be no session file, and metacity will report a -warning. - -Just remove the warning so that users won't always find a warning at the -start of their .xsession-errors. - -https://bugzilla.gnome.org/show_bug.cgi?id=577576 ---- - src/core/session.c | 2 -- - 1 files changed, 0 insertions(+), 2 deletions(-) - -diff --git a/src/core/session.c b/src/core/session.c -index 7e3b389..32fda97 100644 ---- a/src/core/session.c -+++ b/src/core/session.c -@@ -1098,8 +1098,6 @@ load_state (const char *previous_save_file) - { - /* oh, just give up */ - -- meta_warning (_("Failed to read saved session file %s: %s\n"), -- canonical_session_file, error->message); - g_error_free (error); - g_free (session_file); - g_free (canonical_session_file); --- -1.6.5.2 \ No newline at end of file diff --git a/Should-set-RestartStyleHint-to-RestartIfRunning-when.patch b/Should-set-RestartStyleHint-to-RestartIfRunning-when.patch deleted file mode 100644 index c674d13..0000000 --- a/Should-set-RestartStyleHint-to-RestartIfRunning-when.patch +++ /dev/null @@ -1,140 +0,0 @@ -From a3de65d5d1861f755ced7cad291fbbd4f1b8ef51 Mon Sep 17 00:00:00 2001 -From: Owen W. Taylor -Date: Sat, 22 Aug 2009 15:00:57 -0400 -Subject: [PATCH] Should set RestartStyleHint to RestartIfRunning when replaced - -This reverts most of commit abbd057eb967e6ab462ffe305f41b2b04d417b25; - - - It's fine to call meta_session_shutdown() after the display - is closed, since it's talking over the ICE connection - - We should not call warn_about_lame_clients_and_finish_interact() - unless we are interacting with the window manager in a session - save. - -However, the part of abbd057 that fixed accessing freed memory was -fixing a real problem; this patches does the same thing in a simpler -way by fixing an obvious type in meta_display_close() where it was -NULL'ing out the local variable 'display' rather than the global -variable 'the_display' and adding keeping the check in meta_finalize() -that was added in abbd057. - -The order of calling meta_session_shutdown() and -calling meta_display_close() is reverted back to the old order to -make it clear that it's OK if the display way already closed previously. - -http://bugzilla.gnome.org/show_bug.cgi?id=588119 ---- - src/core/display-private.h | 2 +- - src/core/display.c | 16 ++++------------ - src/core/main.c | 5 ++--- - src/core/session.c | 8 -------- - 4 files changed, 7 insertions(+), 24 deletions(-) - -diff --git a/src/core/display-private.h b/src/core/display-private.h -index 19287f3..9c8ebc6 100644 ---- a/src/core/display-private.h -+++ b/src/core/display-private.h -@@ -329,7 +329,7 @@ MetaScreen* meta_display_screen_for_xwindow (MetaDisplay *display, - void meta_display_grab (MetaDisplay *display); - void meta_display_ungrab (MetaDisplay *display); - --void meta_display_unmanage_screen (MetaDisplay **display, -+void meta_display_unmanage_screen (MetaDisplay *display, - MetaScreen *screen, - guint32 timestamp); - -diff --git a/src/core/display.c b/src/core/display.c -index 55c374a..8e35a35 100644 ---- a/src/core/display.c -+++ b/src/core/display.c -@@ -926,7 +926,7 @@ meta_display_close (MetaDisplay *display, - meta_compositor_destroy (display->compositor); - - g_free (display); -- display = NULL; -+ the_display = NULL; - - meta_quit (META_EXIT_SUCCESS); - } -@@ -4762,13 +4762,10 @@ process_selection_clear (MetaDisplay *display, - meta_verbose ("Got selection clear for screen %d on display %s\n", - screen->number, display->name); - -- meta_display_unmanage_screen (&display, -+ meta_display_unmanage_screen (display, - screen, - event->xselectionclear.time); - -- if (!display) -- the_display = NULL; -- - /* display and screen may both be invalid memory... */ - - return; -@@ -4790,12 +4787,10 @@ process_selection_clear (MetaDisplay *display, - } - - void --meta_display_unmanage_screen (MetaDisplay **displayp, -+meta_display_unmanage_screen (MetaDisplay *display, - MetaScreen *screen, - guint32 timestamp) - { -- MetaDisplay *display = *displayp; -- - meta_verbose ("Unmanaging screen %d on display %s\n", - screen->number, display->name); - -@@ -4805,10 +4800,7 @@ meta_display_unmanage_screen (MetaDisplay **displayp, - display->screens = g_slist_remove (display->screens, screen); - - if (display->screens == NULL) -- { -- meta_display_close (display, timestamp); -- *displayp = NULL; -- } -+ meta_display_close (display, timestamp); - } - - void -diff --git a/src/core/main.c b/src/core/main.c -index a36a396..44d317e 100644 ---- a/src/core/main.c -+++ b/src/core/main.c -@@ -361,12 +361,11 @@ static void - meta_finalize (void) - { - MetaDisplay *display = meta_get_display(); -- -- meta_session_shutdown (); -- - if (display) - meta_display_close (display, - CurrentTime); /* I doubt correct timestamps matter here */ -+ -+ meta_session_shutdown (); - } - - static void -diff --git a/src/core/session.c b/src/core/session.c -index 7e3b389..0d69350 100644 ---- a/src/core/session.c -+++ b/src/core/session.c -@@ -376,14 +376,6 @@ meta_session_shutdown (void) - SmProp *props[1]; - char hint = SmRestartIfRunning; - -- if (!meta_get_display ()) -- { -- meta_verbose ("Cannot close session because there is no display"); -- return; -- } -- -- warn_about_lame_clients_and_finish_interact (FALSE); -- - if (session_connection == NULL) - return; - --- -1.6.4 - diff --git a/libs.patch b/libs.patch deleted file mode 100644 index d39a64f..0000000 --- a/libs.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up metacity-2.28.1/src/tools/Makefile.am.libs metacity-2.28.1/src/tools/Makefile.am ---- metacity-2.28.1/src/tools/Makefile.am.libs 2010-02-26 23:00:43.446410930 -0500 -+++ metacity-2.28.1/src/tools/Makefile.am 2010-02-26 23:00:55.805414773 -0500 -@@ -26,7 +26,7 @@ noinst_PROGRAMS=metacity-mag metacity-gr - - metacity_message_LDADD= @METACITY_MESSAGE_LIBS@ - metacity_window_demo_LDADD= @METACITY_WINDOW_DEMO_LIBS@ --metacity_mag_LDADD= @METACITY_WINDOW_DEMO_LIBS@ -+metacity_mag_LDADD= @METACITY_WINDOW_DEMO_LIBS@ -lm - metacity_grayscale_LDADD = @METACITY_WINDOW_DEMO_LIBS@ - - EXTRA_DIST=$(icon_DATA) diff --git a/metacity.spec b/metacity.spec index 3c66f88..3a56ded 100644 --- a/metacity.spec +++ b/metacity.spec @@ -2,16 +2,17 @@ Summary: Unobtrusive window manager Name: metacity -Version: 2.30.3 -Release: 5%{?dist} +Version: 2.32.0 +Release: 1.git20110228%{?dist} URL: http://download.gnome.org/sources/metacity/ -Source0: http://download.gnome.org/sources/metacity/2.30/metacity-%{version}.tar.bz2 +# Current metacity "tarball" was generated with +# git archive --format=tar --prefix=metacity-2.32.0-git20110228/ HEAD | bzip2 +Source0: metacity-2.32-git20110228.tar.bz2 +#Source0: http://download.gnome.org/sources/metacity/2.30/metacity-%{version}.tar.bz2 # http://bugzilla.gnome.org/show_bug.cgi?id=558723 Patch4: stop-spamming-xsession-errors.patch # http://bugzilla.gnome.org/show_bug.cgi?id=135056 Patch5: dnd-keynav.patch -# http://bugzilla.gnome.org/show_bug.cgi?id=588119 -Patch6: Should-set-RestartStyleHint-to-RestartIfRunning-when.patch # http://bugzilla.gnome.org/show_bug.cgi?id=336750 Patch10: screenshot-forkbomb.patch @@ -19,10 +20,6 @@ Patch10: screenshot-forkbomb.patch Patch11: workspaces.patch Patch12: fresh-tooltips.patch -# https://bugzilla.gnome.org/show_bug.cgi?id=567528 -Patch14: Allow-explicit-raises-from-same-client-not-just-sa.patch -# https://bugzilla.gnome.org/show_bug.cgi?id=445447 -Patch15: Allow-applications-to-raise-windows-when-raise_on_cl.patch # https://bugzilla.gnome.org/show_bug.cgi?id=598995 Patch16: Dont-focus-ancestor-window-on-a-different-workspac.patch # https://bugzilla.gnome.org/show_bug.cgi?id=599097 @@ -102,16 +99,13 @@ programs using the metacity-private library, since it is a private API. This package exists purely for technical reasons. %prep -%setup -q +%setup -q -n metacity-2.32.0-git20110228 %patch4 -p1 -b .stop-spamming-xsession-errors %patch5 -p1 -b .dnd-keynav -%patch6 -p1 -b .restart-if-running %patch10 -p1 -b .screenshot-forkbomb %patch11 -p1 -b .workspaces %patch12 -p1 -b .fresh-tooltips -%patch14 -p1 -b .raises-from-same-client -%patch15 -p1 -b .raise-on-click-stacking %patch16 -p1 -b .focus-different-workspace %patch18 -p1 -b .focus-on-motion %patch19 -p1 -b .no-focus-windows @@ -127,15 +121,16 @@ API. This package exists purely for technical reasons. cp -p %{SOURCE1} %{SOURCE2} src/ # force regeneration -rm src/metacity.schemas - -autoreconf -i -f +rm -f src/metacity.schemas %build CPPFLAGS="$CPPFLAGS -I$RPM_BUILD_ROOT%{_includedir}" export CPPFLAGS -%configure --disable-static +# Always rerun configure for now +rm -f configure +(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; fi; + %configure --disable-static) SHOULD_HAVE_DEFINED="HAVE_SM HAVE_XINERAMA HAVE_XFREE_XINERAMA HAVE_SHAPE HAVE_RANDR HAVE_STARTUP_NOTIFICATION" @@ -217,6 +212,15 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' %{_mandir}/man1/metacity-window-demo.1.gz %changelog +* Mon Feb 28 2011 Colin Walters - 2.32.0-1.git20110228 +- Upstream git snapshot + Includes Alt-` binding which we really want for gnome-shell +- Drop upstreamed patches +- Switch to my auto-autogen snippet which automatically invokes configure, + so we can build from a pure git archive +- Instead of using autoreconf, just rm -f configure and let autogen do + the work + * Tue Feb 08 2011 Fedora Release Engineering - 2.30.3-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild diff --git a/no-lame-dialog.patch b/no-lame-dialog.patch deleted file mode 100644 index fbba206..0000000 --- a/no-lame-dialog.patch +++ /dev/null @@ -1,133 +0,0 @@ ---- metacity-2.27.0/src/core/session.c 2009-02-20 10:26:32.000000000 -0500 -+++ hacked/src/core/session.c 2009-06-07 23:46:25.927041281 -0400 -@@ -82,7 +82,7 @@ - static char* load_state (const char *previous_save_file); - static void regenerate_save_file (void); - static const char* full_save_file (void); --static void warn_about_lame_clients_and_finish_interact (gboolean shutdown); -+static void finish_interact (gboolean shutdown); - - /* This is called when data is available on an ICE connection. */ - static gboolean -@@ -382,7 +382,7 @@ - return; - } - -- warn_about_lame_clients_and_finish_interact (FALSE); -+ finish_interact (FALSE); - - if (session_connection == NULL) - return; -@@ -584,7 +584,7 @@ - - current_state = STATE_DONE_WITH_INTERACT; - -- warn_about_lame_clients_and_finish_interact (shutdown); -+ finish_interact (shutdown); - } - - static void -@@ -1724,13 +1724,6 @@ - return full_save_path; - } - --static int --windows_cmp_by_title (MetaWindow *a, -- MetaWindow *b) --{ -- return g_utf8_collate (a->title, b->title); --} -- - static void - finish_interact (gboolean shutdown) - { -@@ -1742,89 +1735,4 @@ - } - } - --static void --sigchld_handler (MetaNexus *nexus, guint arg1, gpointer arg2, gpointer user_data) --{ -- gboolean shutdown = GPOINTER_TO_INT (user_data); -- -- if (arg1 == 0) /* pressed "OK" */ -- { -- finish_interact (shutdown); -- } --} -- --static void --warn_about_lame_clients_and_finish_interact (gboolean shutdown) --{ -- GSList *lame = NULL; -- GSList *windows; -- GSList *lame_details = NULL; -- GSList *tmp; -- GSList *columns = NULL; -- -- windows = meta_display_list_windows (meta_get_display ()); -- tmp = windows; -- while (tmp != NULL) -- { -- MetaWindow *window; -- -- window = tmp->data; -- -- /* only complain about normal windows, the others -- * are kind of dumb to worry about -- */ -- if (window->sm_client_id == NULL && -- window->type == META_WINDOW_NORMAL) -- lame = g_slist_prepend (lame, window); -- -- tmp = tmp->next; -- } -- -- g_slist_free (windows); -- -- if (lame == NULL) -- { -- /* No lame apps. */ -- finish_interact (shutdown); -- return; -- } -- -- columns = g_slist_prepend (columns, "Window"); -- columns = g_slist_prepend (columns, "Class"); -- -- lame = g_slist_sort (lame, (GCompareFunc) windows_cmp_by_title); -- -- tmp = lame; -- while (tmp != NULL) -- { -- MetaWindow *w = tmp->data; -- -- lame_details = g_slist_prepend (lame_details, -- w->res_class ? w->res_class : ""); -- lame_details = g_slist_prepend (lame_details, -- w->title); -- -- tmp = tmp->next; -- } -- g_slist_free (lame); -- -- meta_show_dialog("--list", -- _("These windows do not support "save current setup" " -- "and will have to be restarted manually next time " -- "you log in."), -- "240", -- meta_screen_get_screen_number (meta_get_display()->active_screen), -- NULL, NULL, -- None, -- columns, -- lame_details); -- -- g_slist_free (lame_details); -- -- g_signal_connect (sigchld_nexus, "sigchld", -- G_CALLBACK (sigchld_handler), -- GINT_TO_POINTER (shutdown)); -- --} -- - #endif /* HAVE_SM */ diff --git a/title-click.patch b/title-click.patch deleted file mode 100644 index 9c42aa4..0000000 --- a/title-click.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- metacity-2.30.0/src/core/core.c.orig 2010-03-31 21:37:39.000000000 +0100 -+++ metacity-2.30.0/src/core/core.c 2010-04-01 15:59:26.000000000 +0100 -@@ -520,7 +520,7 @@ meta_core_get_menu_accelerator (MetaMenu - switch (menu_op) - { - case META_MENU_OP_NONE: -- name = "none"; -+ /* No keybinding for this one */ - break; - case META_MENU_OP_DELETE: - name = "close"; -- cgit