From 068875fea689048802bbb1e1bc4c41c001e662b6 Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Wed, 27 Jan 2010 14:30:35 +0000 Subject: - Update to 2.28.1, remove 7 patches now applied upstream --- ...rease-bell-rate-limit-from-1-s-to-1-100ms.patch | 34 ---- ...ibcanberra-to-cache-alert-desktop-switch-.patch | 42 ----- ...-window-type-hint-for-self-drawn-tooltips.patch | 30 ---- Add-XFCE-Terminal-as-a-terminal.patch | 28 ---- cm-selection-timestamp.patch | 43 ------ default-theme.patch | 12 -- metacity-2.28-IceCloseConnection.patch | 46 ------ metacity-2.28-visual-bell.patch | 41 ----- metacity-canberra.patch | 172 --------------------- metacity-dont-do-bad-stuff-on-sigterm.patch | 64 -------- metacity-dont-force-bell.patch | 11 -- metacity-option-to-force-fullscreen.patch | 142 ----------------- metacity-struts.patch | 109 ------------- metacity.spec | 32 +--- 14 files changed, 5 insertions(+), 801 deletions(-) delete mode 100644 0001-bell-increase-bell-rate-limit-from-1-s-to-1-100ms.patch delete mode 100644 0001-sound-ask-libcanberra-to-cache-alert-desktop-switch-.patch delete mode 100644 0001-tooltip-set-window-type-hint-for-self-drawn-tooltips.patch delete mode 100644 Add-XFCE-Terminal-as-a-terminal.patch delete mode 100644 cm-selection-timestamp.patch delete mode 100644 default-theme.patch delete mode 100644 metacity-2.28-IceCloseConnection.patch delete mode 100644 metacity-2.28-visual-bell.patch delete mode 100644 metacity-canberra.patch delete mode 100644 metacity-dont-do-bad-stuff-on-sigterm.patch delete mode 100644 metacity-dont-force-bell.patch delete mode 100644 metacity-option-to-force-fullscreen.patch delete mode 100644 metacity-struts.patch diff --git a/0001-bell-increase-bell-rate-limit-from-1-s-to-1-100ms.patch b/0001-bell-increase-bell-rate-limit-from-1-s-to-1-100ms.patch deleted file mode 100644 index 93fbd71..0000000 --- a/0001-bell-increase-bell-rate-limit-from-1-s-to-1-100ms.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 6558e661d22d9c2a70df8ce4bddcea083e61c328 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 28 Aug 2009 05:43:14 +0200 -Subject: [PATCH] bell: increase bell rate limit from 1/s to 1/100ms - -Right now metacity issues only 1 bell event per second. This is -feels buggy when triggering multiple alarm sounds in a terminal. - -This patch simple increases the limit to 1/100ms. 100ms is probably a -good choice since the HIG recommends that all user reaction should -happen within 100ms. With this applied pressing 'Left' in gnome-terminal -feels much more responsive. - -https://bugzilla.redhat.com/show_bug.cgi?id=498608 ---- - src/core/display.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/core/display.c b/src/core/display.c -index b1661e3..bf22a9e 100644 ---- a/src/core/display.c -+++ b/src/core/display.c -@@ -2385,7 +2385,7 @@ event_callback (XEvent *event, - { - case XkbBellNotify: - if (XSERVER_TIME_IS_BEFORE(display->last_bell_time, -- xkb_ev->time - 1000)) -+ xkb_ev->time - 100)) - { - display->last_bell_time = xkb_ev->time; - meta_bell_notify (display, xkb_ev); --- -1.6.4 - diff --git a/0001-sound-ask-libcanberra-to-cache-alert-desktop-switch-.patch b/0001-sound-ask-libcanberra-to-cache-alert-desktop-switch-.patch deleted file mode 100644 index c74b202..0000000 --- a/0001-sound-ask-libcanberra-to-cache-alert-desktop-switch-.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 84e14cd8587c470e925e2fbf1a5a13c63686bcd4 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 28 Aug 2009 05:38:17 +0200 -Subject: [PATCH] sound: ask libcanberra to cache alert/desktop switch sounds - -These sounds are good candidates for caching in the sound server, to -save a bit of CPU and make reaction faster. Hence, tell libcanberra to -cache them. ---- - src/core/bell.c | 1 + - src/core/workspace.c | 1 + - 2 files changed, 2 insertions(+), 0 deletions(-) - -diff --git a/src/core/bell.c b/src/core/bell.c -index 92d1dbd..676ebac 100644 ---- a/src/core/bell.c -+++ b/src/core/bell.c -@@ -292,6 +292,7 @@ meta_bell_notify (MetaDisplay *display, - ca_proplist_create (&p); - ca_proplist_sets (p, CA_PROP_EVENT_ID, "bell-window-system"); - ca_proplist_sets (p, CA_PROP_EVENT_DESCRIPTION, _("Bell event")); -+ ca_proplist_sets (p, CA_PROP_CANBERRA_CACHE_CONTROL, "permanent"); - - window = meta_display_lookup_x_window (display, xkb_bell_event->window); - if (!window && (display->focus_window) && (display->focus_window->frame)) -diff --git a/src/core/display.c b/src/core/display.c -index 55c374a..b1661e3 100644 -diff --git a/src/core/workspace.c b/src/core/workspace.c -index a0170a6..063f867 100644 ---- a/src/core/workspace.c -+++ b/src/core/workspace.c -@@ -358,6 +358,7 @@ static void workspace_switch_sound(MetaWorkspace *from, - ca_context_play(ca_gtk_context_get(), 1, - CA_PROP_EVENT_ID, e, - CA_PROP_EVENT_DESCRIPTION, "Desktop switched", -+ CA_PROP_CANBERRA_CACHE_CONTROL, "permanent", - NULL); - - finish: --- -1.6.4 - diff --git a/0001-tooltip-set-window-type-hint-for-self-drawn-tooltips.patch b/0001-tooltip-set-window-type-hint-for-self-drawn-tooltips.patch deleted file mode 100644 index 716a263..0000000 --- a/0001-tooltip-set-window-type-hint-for-self-drawn-tooltips.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 8132127a749b150d188631e03d36462838620a82 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 28 Aug 2009 07:29:11 +0200 -Subject: [PATCH] tooltip: set window type hint for self-drawn tooltips to GDK_WINDOW_TYPE_HINT_TOOLTIP - -libcanberra generates specific tooltip popup sounds and for that -recognizes the tooltip windows by the GtkWindowTypeHint set for them. - -This trivial patch simply sets the hint for the self-drawn tooltips -metacity uses. ---- - src/ui/fixedtip.c | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) - -diff --git a/src/ui/fixedtip.c b/src/ui/fixedtip.c -index d2b95f2..31a6082 100644 ---- a/src/ui/fixedtip.c -+++ b/src/ui/fixedtip.c -@@ -71,6 +71,8 @@ meta_fixed_tip_show (Display *xdisplay, int screen_number, - if (tip == NULL) - { - tip = gtk_window_new (GTK_WINDOW_POPUP); -+ gtk_window_set_type_hint (GTK_WINDOW(tip), GDK_WINDOW_TYPE_HINT_TOOLTIP); -+ - { - GdkScreen *gdk_screen; - GdkRectangle monitor; --- -1.6.4 - diff --git a/Add-XFCE-Terminal-as-a-terminal.patch b/Add-XFCE-Terminal-as-a-terminal.patch deleted file mode 100644 index 8a544d1..0000000 --- a/Add-XFCE-Terminal-as-a-terminal.patch +++ /dev/null @@ -1,28 +0,0 @@ -From bf7327acb41a43b2bdeee9f0855455ebaef8b816 Mon Sep 17 00:00:00 2001 -From: Owen W. Taylor -Date: Wed, 21 Oct 2009 21:11:46 -0400 -Subject: [PATCH] Add XFCE Terminal as a terminal - -Include the XFCE terminal program 'Terminal' in the list of terminals. - -https://bugzilla.gnome.org/show_bug.cgi?id=599262 ---- - src/core/window.c | 3 +++ - 1 files changed, 3 insertions(+), 0 deletions(-) - -diff --git a/src/core/window.c b/src/core/window.c -index 0ae6a01..b481ccf 100644 ---- a/src/core/window.c -+++ b/src/core/window.c -@@ -1951,6 +1951,9 @@ __window_is_terminal (MetaWindow *window) - /* mlterm ("multi lingual terminal emulator on X") */ - else if (strcmp (window->res_class, "mlterm") == 0) - return TRUE; -+ /* Terminal -- XFCE Terminal */ -+ else if (strcmp (window->res_class, "Terminal") == 0) -+ return TRUE; - - return FALSE; - } --- -1.6.5.rc2 \ No newline at end of file diff --git a/cm-selection-timestamp.patch b/cm-selection-timestamp.patch deleted file mode 100644 index 93da6dd..0000000 --- a/cm-selection-timestamp.patch +++ /dev/null @@ -1,43 +0,0 @@ -Patch from Travis Watkins -https://bugzilla.gnome.org/show_bug.cgi?id=530702 - -diff -ru metacity-2.27.0/src/core/screen.c metacity-2.27.0.new/src/core/screen.c ---- metacity-2.27.0/src/core/screen.c 2008-10-19 16:15:38.000000000 -0500 -+++ metacity-2.27.0.new/src/core/screen.c 2009-08-24 04:56:26.929023537 -0500 -@@ -2782,11 +2782,14 @@ - char selection[32]; - Atom a; - -+ screen->wm_cm_timestamp = meta_display_get_current_time_roundtrip ( -+ screen->display); -+ - g_snprintf (selection, sizeof(selection), "_NET_WM_CM_S%d", screen->number); - meta_verbose ("Setting selection: %s\n", selection); - a = XInternAtom (screen->display->xdisplay, selection, FALSE); - XSetSelectionOwner (screen->display->xdisplay, a, -- screen->wm_cm_selection_window, CurrentTime); -+ screen->wm_cm_selection_window, screen->wm_cm_timestamp); - } - - void -@@ -2797,6 +2800,7 @@ - - g_snprintf (selection, sizeof(selection), "_NET_WM_CM_S%d", screen->number); - a = XInternAtom (screen->display->xdisplay, selection, FALSE); -- XSetSelectionOwner (screen->display->xdisplay, a, None, CurrentTime); -+ XSetSelectionOwner (screen->display->xdisplay, a, -+ None, screen->wm_cm_timestamp); - } - #endif /* HAVE_COMPOSITE_EXTENSIONS */ -diff -ru metacity-2.27.0/src/core/screen-private.h metacity-2.27.0.new/src/core/screen-private.h ---- metacity-2.27.0/src/core/screen-private.h 2008-10-19 16:15:38.000000000 -0500 -+++ metacity-2.27.0.new/src/core/screen-private.h 2009-08-24 04:50:41.469785283 -0500 -@@ -113,6 +113,7 @@ - - #ifdef HAVE_COMPOSITE_EXTENSIONS - Window wm_cm_selection_window; -+ guint32 wm_cm_timestamp; - #endif - - guint work_area_idle; - diff --git a/default-theme.patch b/default-theme.patch deleted file mode 100644 index e2a8e3a..0000000 --- a/default-theme.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up metacity-2.19.55/src/metacity.schemas.in.in.default-theme metacity-2.19.55/src/metacity.schemas.in.in ---- metacity-2.19.55/src/metacity.schemas.in.in.default-theme 2007-08-12 00:19:23.000000000 -0400 -+++ metacity-2.19.55/src/metacity.schemas.in.in 2007-08-12 00:19:35.000000000 -0400 -@@ -212,7 +212,7 @@ - /apps/metacity/general/theme - metacity - string -- Clearlooks -+ Nodoka - - Current theme - diff --git a/metacity-2.28-IceCloseConnection.patch b/metacity-2.28-IceCloseConnection.patch deleted file mode 100644 index e05fc18..0000000 --- a/metacity-2.28-IceCloseConnection.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 13f6daee4752ae5b1fb61447deaca43161d5b0bc Mon Sep 17 00:00:00 2001 -From: Owen W. Taylor -Date: Thu, 17 Dec 2009 16:20:18 -0500 -Subject: [PATCH] Don't call IceCloseConnection() behind libSM's back - -The ICE connection is opened by libSM; we can't just close it when -we get an IOError on the ICE connection; instead call SmcCloseConnection() -and mark the connection as closed. This will prevent a segfault if we -exit out of the metacity main loop and get to meta_finalize(). - -https://bugzilla.gnome.org/show_bug.cgi?id=604867 ---- - src/core/session.c | 10 +++++++--- - 1 files changed, 7 insertions(+), 3 deletions(-) - -diff --git a/src/core/session.c b/src/core/session.c -index 96d8d71..2ca15c9 100644 ---- a/src/core/session.c -+++ b/src/core/session.c -@@ -84,6 +84,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 disconnect (void); - - /* This is called when data is available on an ICE connection. */ - static gboolean -@@ -106,9 +107,12 @@ process_ice_messages (GIOChannel *channel, - IcePointer context = IceGetConnectionContext (connection); - #endif - -- /* We were disconnected */ -- IceSetShutdownNegotiation (connection, False); -- IceCloseConnection (connection); -+ /* We were disconnected; close our connection to the -+ * session manager, this will result in the ICE connection -+ * being cleaned up, since it is owned by libSM. -+ */ -+ disconnect (); -+ meta_quit (META_EXIT_SUCCESS); - - return FALSE; - } --- -1.6.5.2 - diff --git a/metacity-2.28-visual-bell.patch b/metacity-2.28-visual-bell.patch deleted file mode 100644 index bdc410c..0000000 --- a/metacity-2.28-visual-bell.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 80bd3db7b6711c90af19c7ee17e86aea0b804d7c Mon Sep 17 00:00:00 2001 -From: Owen W. Taylor -Date: Fri, 20 Nov 2009 10:08:20 -0500 -Subject: [PATCH] Don't crash for visual bell on undecorated window - -When an XKB bell is sent on a undecorated window, flash the -entire screen rather than crashing trying to flash the frame. - -Based on patch by Daniel Erat -https://bugzilla.gnome.org/show_bug.cgi?id=598231 ---- - src/core/bell.c | 7 ++++--- - 1 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/src/core/bell.c b/src/core/bell.c -index 1e01cd6..9904f97 100644 ---- a/src/core/bell.c -+++ b/src/core/bell.c -@@ -231,15 +231,16 @@ bell_flash_frame (MetaDisplay *display, - - g_assert (xkb_ev->xkb_type == XkbBellNotify); - window = meta_display_lookup_x_window (display, xkb_bell_event->window); -- if (!window && (display->focus_window) && (display->focus_window->frame)) -+ if (!window) - { - window = display->focus_window; - } -- if (window) -+ if (window && window->frame) - { - bell_flash_window_frame (window); - } -- else /* revert to fullscreen flash if there's no focussed window */ -+ else /* revert to fullscreen flash if there's no focused window or if it -+ has no frame */ - { - bell_flash_fullscreen (display, xkb_ev); - } --- -1.6.5.2 - diff --git a/metacity-canberra.patch b/metacity-canberra.patch deleted file mode 100644 index 53f1441..0000000 --- a/metacity-canberra.patch +++ /dev/null @@ -1,172 +0,0 @@ ---- metacity-2.25.144/configure.in 2009-02-01 15:33:42.000000000 -0500 -+++ hacked/configure.in 2009-02-09 21:15:32.000000000 -0500 -@@ -107,7 +107,7 @@ - fi - changequote([,])dnl - --METACITY_PC_MODULES='gtk+-2.0 >= 2.10.0 pango >= 1.2.0' -+METACITY_PC_MODULES='gtk+-2.0 >= 2.10.0 pango >= 1.2.0 libcanberra-gtk' - - AC_ARG_ENABLE(gconf, - AC_HELP_STRING([--disable-gconf], ---- metacity-2.25.144/src/core/bell.c 2009-02-01 15:33:15.000000000 -0500 -+++ hacked/src/core/bell.c 2009-02-09 23:50:43.000000000 -0500 -@@ -52,6 +52,7 @@ - #include "bell.h" - #include "screen-private.h" - #include "prefs.h" -+#include - - /** - * Flashes one entire screen. This is done by making a window the size of the -@@ -223,7 +224,7 @@ - */ - static void - bell_flash_frame (MetaDisplay *display, -- XkbAnyEvent *xkb_ev) -+ XkbAnyEvent *xkb_ev) - { - XkbBellNotifyEvent *xkb_bell_event = (XkbBellNotifyEvent *) xkb_ev; - MetaWindow *window; -@@ -280,6 +281,47 @@ - /* flash something */ - if (meta_prefs_get_visual_bell ()) - bell_visual_notify (display, xkb_ev); -+ -+ if (meta_prefs_bell_is_audible ()) -+ { -+ ca_proplist *p; -+ XkbBellNotifyEvent *xkb_bell_event = (XkbBellNotifyEvent*) xkb_ev; -+ MetaWindow *window; -+ int res; -+ -+ ca_proplist_create (&p); -+ ca_proplist_sets (p, CA_PROP_EVENT_ID, "bell-window-system"); -+ ca_proplist_sets (p, CA_PROP_EVENT_DESCRIPTION, _("Bell event")); -+ ca_proplist_sets (p, CA_PROP_MEDIA_ROLE, "event"); -+ ca_proplist_sets (p, CA_PROP_CANBERRA_ENABLE, "1"); -+ -+ window = meta_display_lookup_x_window (display, xkb_bell_event->window); -+ if (!window && (display->focus_window) && (display->focus_window->frame)) -+ window = display->focus_window; -+ -+ if (window) -+ { -+ ca_proplist_sets (p, CA_PROP_WINDOW_NAME, window->title); -+ ca_proplist_setf (p, CA_PROP_WINDOW_X11_XID, "%lu", (unsigned long)window->xwindow); -+ ca_proplist_sets (p, CA_PROP_APPLICATION_NAME, window->res_name); -+ ca_proplist_setf (p, CA_PROP_APPLICATION_PROCESS_ID, "%d", window->net_wm_pid); -+ } -+ -+ /* First, we try to play a real sound ... */ -+ res = ca_context_play_full (ca_gtk_context_get (), 1, p, NULL, NULL); -+ -+ ca_proplist_destroy (p); -+ -+ if (res != CA_SUCCESS && res != CA_ERROR_DISABLED) -+ { -+ /* ...and in case that failed we use the classic X11 bell. */ -+ XkbForceDeviceBell (display->xdisplay, -+ xkb_bell_event->device, -+ xkb_bell_event->bell_class, -+ xkb_bell_event->bell_id, -+ xkb_bell_event->percent); -+ } -+ } - } - #endif /* HAVE_XKB */ - -@@ -321,8 +363,7 @@ - XkbChangeEnabledControls (display->xdisplay, - XkbUseCoreKbd, - XkbAudibleBellMask, -- meta_prefs_bell_is_audible () -- ? XkbAudibleBellMask : 0); -+ 0); - if (visual_bell_auto_reset) { - XkbSetAutoResetControls (display->xdisplay, - XkbAudibleBellMask, ---- metacity-2.25.144/src/core/workspace.c 2009-02-01 15:33:15.000000000 -0500 -+++ hacked/src/core/workspace.c 2009-02-09 21:15:32.000000000 -0500 -@@ -29,6 +29,7 @@ - #include "prefs.h" - #include - #include -+#include - - void meta_workspace_queue_calc_showing (MetaWorkspace *workspace); - static void set_active_space_hint (MetaScreen *screen); -@@ -306,6 +307,63 @@ - } - } - -+static void workspace_switch_sound(MetaWorkspace *from, -+ MetaWorkspace *to) { -+ -+ MetaWorkspaceLayout layout; -+ int i, nw, x, y, fi, ti; -+ const char *e; -+ -+ nw = meta_screen_get_n_workspaces(from->screen); -+ fi = meta_workspace_index(from); -+ ti = meta_workspace_index(to); -+ -+ meta_screen_calc_workspace_layout(from->screen, -+ nw, -+ fi, -+ &layout); -+ -+ for (i = 0; i < nw; i++) -+ if (layout.grid[i] == ti) -+ break; -+ -+ if (i >= nw) { -+ meta_bug("Failed to find destination workspace in layout\n"); -+ goto finish; -+ } -+ -+ y = i / layout.cols; -+ x = i % layout.cols; -+ -+ /* We priorize horizontal over vertical movements here. The -+ rationale for this is that horizontal movements are probably more -+ interesting for sound effects because speakers are usually -+ positioned on a horizontal and not a vertical axis. i.e. your -+ spatial "Woosh!" effects will easily be able to encode horizontal -+ movement but not such much vertical movement. */ -+ -+ if (x < layout.current_col) -+ e = "desktop-switch-left"; -+ else if (x > layout.current_col) -+ e = "desktop-switch-right"; -+ else if (y < layout.current_row) -+ e = "desktop-switch-up"; -+ else if (y > layout.current_row) -+ e = "desktop-switch-down"; -+ else { -+ meta_bug("Uh, origin and destination workspace at same logic position!\n"); -+ goto finish; -+ } -+ -+ ca_context_play(ca_gtk_context_get(), 1, -+ CA_PROP_EVENT_ID, e, -+ CA_PROP_EVENT_DESCRIPTION, "Desktop switched", -+ NULL); -+ -+ finish: -+ meta_screen_free_workspace_layout (&layout); -+} -+ - void - meta_workspace_activate_with_focus (MetaWorkspace *workspace, - MetaWindow *focus_this, -@@ -320,6 +378,9 @@ - if (workspace->screen->active_workspace == workspace) - return; - -+ if (workspace->screen->active_workspace) -+ workspace_switch_sound(workspace->screen->active_workspace, workspace); -+ - /* Note that old can be NULL; e.g. when starting up */ - old = workspace->screen->active_workspace; - diff --git a/metacity-dont-do-bad-stuff-on-sigterm.patch b/metacity-dont-do-bad-stuff-on-sigterm.patch deleted file mode 100644 index 7402e6c..0000000 --- a/metacity-dont-do-bad-stuff-on-sigterm.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff -up metacity-2.28.0/src/core/main.c.sigterm metacity-2.28.0/src/core/main.c ---- metacity-2.28.0/src/core/main.c.sigterm 2009-11-05 14:53:40.599237201 -0500 -+++ metacity-2.28.0/src/core/main.c 2009-11-05 17:28:18.601486344 -0500 -@@ -67,6 +67,7 @@ - #include - #include - #include -+#include - - /** - * The exit code we'll return to our parent process when we eventually die. -@@ -368,12 +369,25 @@ meta_finalize (void) - meta_session_shutdown (); - } - -+static int sigterm_pipe_fds[2] = { -1, -1 }; -+ - static void - sigterm_handler (int signum) - { -- meta_finalize (); -+ if (sigterm_pipe_fds[1] >= 0) -+ { -+ ssize_t bytes_written; -+ bytes_written = write (sigterm_pipe_fds[1], "", 1); -+ close (sigterm_pipe_fds[1]); -+ sigterm_pipe_fds[1] = -1; -+ } -+} - -- exit (meta_exit_code); -+static gboolean -+on_sigterm (void) -+{ -+ meta_quit (META_EXIT_SUCCESS); -+ return FALSE; - } - - static guint sigchld_signal_id = 0; -@@ -421,6 +434,7 @@ main (int argc, char **argv) - "Pango", "GLib-GObject", "GThread" - }; - guint i; -+ GIOChannel *channel; - - if (!g_thread_supported ()) - g_thread_init (NULL); -@@ -443,6 +457,16 @@ main (int argc, char **argv) - g_strerror (errno)); - #endif - -+ if (pipe (sigterm_pipe_fds) != 0) -+ g_printerr ("Failed to create SIGTERM pipe: %s\n", -+ g_strerror (errno)); -+ -+ channel = g_io_channel_unix_new (sigterm_pipe_fds[0]); -+ g_io_channel_set_flags (channel, G_IO_FLAG_NONBLOCK, NULL); -+ g_io_add_watch (channel, G_IO_IN, (GIOFunc) on_sigterm, NULL); -+ g_io_channel_set_close_on_unref (channel, TRUE); -+ g_io_channel_unref (channel); -+ - act.sa_handler = &sigterm_handler; - if (sigaction (SIGTERM, &act, NULL) < 0) - g_printerr ("Failed to register SIGTERM handler: %s\n", diff --git a/metacity-dont-force-bell.patch b/metacity-dont-force-bell.patch deleted file mode 100644 index f538caf..0000000 --- a/metacity-dont-force-bell.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up metacity-2.25.144/src/core/bell.c.no-more-brokkoli metacity-2.25.144/src/core/bell.c ---- metacity-2.25.144/src/core/bell.c.no-more-brokkoli 2009-02-21 12:04:32.447950258 -0500 -+++ metacity-2.25.144/src/core/bell.c 2009-02-21 12:04:41.191943469 -0500 -@@ -293,7 +293,6 @@ meta_bell_notify (MetaDisplay *display, - ca_proplist_sets (p, CA_PROP_EVENT_ID, "bell-window-system"); - ca_proplist_sets (p, CA_PROP_EVENT_DESCRIPTION, _("Bell event")); - ca_proplist_sets (p, CA_PROP_MEDIA_ROLE, "event"); -- ca_proplist_sets (p, CA_PROP_CANBERRA_ENABLE, "1"); - - window = meta_display_lookup_x_window (display, xkb_bell_event->window); - if (!window && (display->focus_window) && (display->focus_window->frame)) diff --git a/metacity-option-to-force-fullscreen.patch b/metacity-option-to-force-fullscreen.patch deleted file mode 100644 index f09adaf..0000000 --- a/metacity-option-to-force-fullscreen.patch +++ /dev/null @@ -1,142 +0,0 @@ -From b625ec30d99b2dcf86d8fa78b09f6d04dce3a6e0 Mon Sep 17 00:00:00 2001 -From: Tomeu Vizoso -Date: Fri, 19 Jun 2009 15:30:37 +0000 -Subject: Add a switch to disable autofullscreen'ing maximized windows without decorations - ---- -diff --git a/src/core/constraints.c b/src/core/constraints.c -index 800b293..a060d20 100644 ---- a/src/core/constraints.c -+++ b/src/core/constraints.c -@@ -27,6 +27,7 @@ - #include "constraints.h" - #include "workspace.h" - #include "place.h" -+#include "prefs.h" - - #include - #include -@@ -424,7 +425,8 @@ setup_constraint_info (ConstraintInfo *info, - /* Workaround braindead legacy apps that don't know how to - * fullscreen themselves properly. - */ -- if (meta_rectangle_equal (new, &xinerama_info->rect) && -+ if (meta_prefs_get_force_fullscreen() && -+ meta_rectangle_equal (new, &xinerama_info->rect) && - window->has_fullscreen_func && - !window->fullscreen) - { -diff --git a/src/core/main.c b/src/core/main.c -index 6c36f10..a36a396 100644 ---- a/src/core/main.c -+++ b/src/core/main.c -@@ -233,6 +233,7 @@ typedef struct - gboolean sync; - gboolean composite; - gboolean no_composite; -+ gboolean no_force_fullscreen; - } MetaArguments; - - #ifdef HAVE_COMPOSITE_EXTENSIONS -@@ -314,6 +315,12 @@ meta_parse_options (int *argc, char ***argv, - N_("Turn compositing off"), - NULL - }, -+ { -+ "no-force-fullscreen", 0, COMPOSITE_OPTS_FLAGS, G_OPTION_ARG_NONE, -+ &my_args.no_force_fullscreen, -+ N_("Don't make fullscreen windows that are maximized and have no decorations"), -+ NULL -+ }, - {NULL} - }; - GOptionContext *ctx; -@@ -584,6 +591,9 @@ main (int argc, char **argv) - if (meta_args.composite || meta_args.no_composite) - meta_prefs_set_compositing_manager (meta_args.composite); - -+ if (meta_args.no_force_fullscreen) -+ meta_prefs_set_force_fullscreen (FALSE); -+ - if (!meta_display_open ()) - meta_exit (META_EXIT_ERROR); - -diff --git a/src/core/prefs.c b/src/core/prefs.c -index 1f4fe41..6e41b3c 100644 ---- a/src/core/prefs.c -+++ b/src/core/prefs.c -@@ -95,6 +95,7 @@ static char *cursor_theme = NULL; - static int cursor_size = 24; - static gboolean compositing_manager = FALSE; - static gboolean resize_with_right_button = FALSE; -+static gboolean force_fullscreen = TRUE; - - static MetaVisualBellType visual_bell_type = META_VISUAL_BELL_FULLSCREEN_FLASH; - static MetaButtonLayout button_layout; -@@ -1751,6 +1752,9 @@ meta_preference_to_string (MetaPreference pref) - - case META_PREF_RESIZE_WITH_RIGHT_BUTTON: - return "RESIZE_WITH_RIGHT_BUTTON"; -+ -+ case META_PREF_FORCE_FULLSCREEN: -+ return "FORCE_FULLSCREEN"; - } - - return "(unknown)"; -@@ -2737,6 +2741,12 @@ meta_prefs_get_mouse_button_menu (void) - return resize_with_right_button ? 2: 3; - } - -+gboolean -+meta_prefs_get_force_fullscreen (void) -+{ -+ return force_fullscreen; -+} -+ - void - meta_prefs_set_compositing_manager (gboolean whether) - { -@@ -2797,3 +2807,10 @@ init_button_layout(void) - }; - - #endif -+ -+void -+meta_prefs_set_force_fullscreen (gboolean whether) -+{ -+ force_fullscreen = whether; -+} -+ -diff --git a/src/include/prefs.h b/src/include/prefs.h -index 2f1ce8e..a4193ff 100644 ---- a/src/include/prefs.h -+++ b/src/include/prefs.h -@@ -59,7 +59,8 @@ typedef enum - META_PREF_CURSOR_THEME, - META_PREF_CURSOR_SIZE, - META_PREF_COMPOSITING_MANAGER, -- META_PREF_RESIZE_WITH_RIGHT_BUTTON -+ META_PREF_RESIZE_WITH_RIGHT_BUTTON, -+ META_PREF_FORCE_FULLSCREEN - } MetaPreference; - - typedef void (* MetaPrefsChangedFunc) (MetaPreference pref, -@@ -114,6 +115,7 @@ void meta_prefs_change_workspace_name (int i, - const char* meta_prefs_get_cursor_theme (void); - int meta_prefs_get_cursor_size (void); - gboolean meta_prefs_get_compositing_manager (void); -+gboolean meta_prefs_get_force_fullscreen (void); - - /** - * Sets whether the compositor is turned on. -@@ -122,6 +124,8 @@ gboolean meta_prefs_get_compositing_manager (void); - */ - void meta_prefs_set_compositing_manager (gboolean whether); - -+void meta_prefs_set_force_fullscreen (gboolean whether); -+ - /* XXX FIXME This should be x-macroed, but isn't yet because it would be - * difficult (or perhaps impossible) to add the suffixes using the current - * system. It needs some more thought, perhaps after the current system --- -cgit v0.8.2 diff --git a/metacity-struts.patch b/metacity-struts.patch deleted file mode 100644 index 1ec08cb..0000000 --- a/metacity-struts.patch +++ /dev/null @@ -1,109 +0,0 @@ ---- trunk/src/core/window-props.c 2009/03/11 14:21:33 4190 -+++ trunk/src/core/window-props.c 2009/03/12 01:09:41 4191 -@@ -73,12 +73,6 @@ - ReloadValueFunc reload_func; - } MetaWindowPropHooks; - --static void init_prop_value (MetaDisplay *display, -- Atom property, -- MetaPropValue *value); --static void reload_prop_value (MetaWindow *window, -- MetaPropValue *value, -- gboolean initial); - static MetaWindowPropHooks* find_hooks (MetaDisplay *display, - Atom property); - -@@ -128,23 +122,34 @@ - g_return_if_fail (n_properties > 0); - - values = g_new0 (MetaPropValue, n_properties); -- -- i = 0; -- while (i < n_properties) -+ -+ for (i=0; idisplay, properties[i], &values[i]); -- ++i; -+ MetaWindowPropHooks *hooks = find_hooks (window->display, -+ properties[i]); -+ -+ if (!hooks || hooks->type == META_PROP_VALUE_INVALID) -+ { -+ values[i].type = META_PROP_VALUE_INVALID; -+ values[i].atom = None; -+ } -+ else -+ { -+ values[i].type = hooks->type; -+ values[i].atom = properties[i]; -+ } - } - - meta_prop_get_values (window->display, xwindow, - values, n_properties); - -- i = 0; -- while (i < n_properties) -+ for (i=0; idisplay, -+ properties[i]); -+ -+ if (hooks && hooks->reload_func != NULL) -+ (* hooks->reload_func) (window, &values[i], initial); - } - - meta_prop_free_values (values, n_properties); -@@ -152,37 +157,6 @@ - g_free (values); - } - --/* Fill in the MetaPropValue used to get the value of "property" */ --static void --init_prop_value (MetaDisplay *display, -- Atom property, -- MetaPropValue *value) --{ -- MetaWindowPropHooks *hooks = find_hooks (display, property); -- -- if (!hooks || hooks->type == META_PROP_VALUE_INVALID) -- { -- value->type = META_PROP_VALUE_INVALID; -- value->atom = None; -- } -- else -- { -- value->type = hooks->type; -- value->atom = property; -- } --} -- --static void --reload_prop_value (MetaWindow *window, -- MetaPropValue *value, -- gboolean initial) --{ -- MetaWindowPropHooks *hooks = find_hooks (window->display, value->atom); -- -- if (hooks && hooks->reload_func != NULL) -- (* hooks->reload_func) (window, value, initial); --} -- - static void - reload_wm_client_machine (MetaWindow *window, - MetaPropValue *value, -@@ -1566,6 +1540,9 @@ - display->prop_hooks_table = NULL; - } - -+/** -+ * Finds the hooks for a particular property. -+ */ - static MetaWindowPropHooks* - find_hooks (MetaDisplay *display, - Atom property) - diff --git a/metacity.spec b/metacity.spec index 57e4bd9..26ad936 100644 --- a/metacity.spec +++ b/metacity.spec @@ -2,8 +2,8 @@ Summary: Unobtrusive window manager Name: metacity -Version: 2.28.0 -Release: 15%{?dist} +Version: 2.28.1 +Release: 1%{?dist} URL: http://download.gnome.org/sources/metacity/ Source0: http://download.gnome.org/sources/metacity/2.28/metacity-%{version}.tar.bz2 # http://bugzilla.gnome.org/show_bug.cgi?id=558723 @@ -12,12 +12,6 @@ Patch4: stop-spamming-xsession-errors.patch 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=593355 -Patch7: 0001-bell-increase-bell-rate-limit-from-1-s-to-1-100ms.patch -# http://bugzilla.gnome.org/show_bug.cgi?id=593356 -Patch8: 0001-sound-ask-libcanberra-to-cache-alert-desktop-switch-.patch -# http://bugzilla.gnome.org/show_bug.cgi?id=593358 -Patch9: 0001-tooltip-set-window-type-hint-for-self-drawn-tooltips.patch # http://bugzilla.gnome.org/show_bug.cgi?id=336750 Patch10: screenshot-forkbomb.patch @@ -25,17 +19,12 @@ Patch10: screenshot-forkbomb.patch Patch11: workspaces.patch Patch12: fresh-tooltips.patch -# https://bugzilla.gnome.org/show_bug.cgi?id=600864 -# https://bugzilla.redhat.com/show_bug.cgi?id=533239 -Patch13: metacity-dont-do-bad-stuff-on-sigterm.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=599262 -Patch17: Add-XFCE-Terminal-as-a-terminal.patch # https://bugzilla.gnome.org/show_bug.cgi?id=599097 Patch18: For-mouse-and-sloppy-focus-return-to-mouse-mode-on.patch # https://bugzilla.gnome.org/show_bug.cgi?id=599248 @@ -44,16 +33,10 @@ Patch19: Add-nofocuswindows-preference-to-list-windows-that.patch Patch20: Add-a-newwindowsalwaysontop-preference.patch # https://bugzilla.gnome.org/show_bug.cgi?id=577576 Patch21: Dont-warn-about-a-missing-session-file.patch -# https://bugzilla.gnome.org/show_bug.cgi?id=530702 -Patch22: cm-selection-timestamp.patch -# https://bugzilla.gnome.org/show_bug.cgi?id=598231 -Patch23: metacity-2.28-visual-bell.patch # https://bugzilla.gnome.org/show_bug.cgi?id=559816 Patch24: metacity-2.28-empty-keybindings.patch # https://bugzilla.gnome.org/show_bug.cgi?id=604319 Patch25: metacity-2.28-xioerror-unknown-display.patch -# https://bugzilla.gnome.org/show_bug.cgi?id=604867 -Patch26: metacity-2.28-IceCloseConnection.patch License: GPLv2+ Group: User Interface/Desktops @@ -116,27 +99,19 @@ API. This package exists purely for technical reasons. %patch4 -p1 -b .stop-spamming-xsession-errors %patch5 -p1 -b .dnd-keynav %patch6 -p1 -b .restart-if-running -%patch7 -p1 -b .bell -%patch8 -p1 -b .sound-cache -%patch9 -p1 -b .tooltip %patch10 -p1 -b .screenshot-forkbomb %patch11 -p1 -b .workspaces %patch12 -p1 -b .fresh-tooltips -%patch13 -p1 -b .sigterm %patch14 -p1 -b .raises-from-same-client %patch15 -p1 -b .raise-on-click-stacking %patch16 -p1 -b .focus-different-workspace -%patch17 -p1 -b .xfce-terminal %patch18 -p1 -b .focus-on-motion %patch19 -p1 -b .no-focus-windows %patch20 -p1 -b .always-on-top %patch21 -p1 -b .missing-session -%patch22 -p1 -b .cm-selection-timestamp -%patch23 -p1 -b .visual-bell %patch24 -p1 -b .empty-keybindings %patch25 -p1 -b .xioerror-unknown-display -%patch26 -p1 -b .IceCloseConnection # force regeneration rm src/metacity.schemas @@ -244,6 +219,9 @@ fi %{_mandir}/man1/metacity-window-demo.1.gz %changelog +* Wed Jan 27 2010 Owen Taylor - 2.28.1-1 +- Update to 2.28.1, remove 7 patches now applied upstream + * Sun Jan 3 2010 Owen Taylor - 2.28.0-15 - Fix crash in _IceTransClose (rhbz 551994) The previous patch for rhbz 539905 didn't actually fix the -- cgit