diff -Nru nautilus-3.4.2/debian/changelog nautilus-3.4.2/debian/changelog --- nautilus-3.4.2/debian/changelog 2012-06-16 06:49:36.000000000 +0000 +++ nautilus-3.4.2/debian/changelog 2012-08-03 12:54:44.000000000 +0000 @@ -1,10 +1,10 @@ -nautilus (1:3.4.2-0ubuntu3.1~stracciatellappa+precise1) precise; urgency=low +nautilus (1:3.4.2-0ubuntu4.1~stracciatellappa+precise1) precise; urgency=low [ Ubuntu ] - * debian/patches/git_bookmark_place_dnd.patch: - - "places-sidebar: allow dropping of files to bookmarks" (lp: #874386) - * debian/patches/git_image_properties_wrapping.patch: - - "image-properties: set the description label to wrap" (lp: #396279) + * debian/patches/21_correct_timestamp_use_fix_focus_issue.patch: + - "Use the correct timestamp when creating a new nautilus window.", + that should fix nautilus dialog opening unfocussed, + thanks Andrea Azzarone (lp: #781931) [ Stracciatella PPA ] * Rebuild for gnome stracciatella ppa @@ -19,12 +19,22 @@ 14_bring_del_instead_ctrl_del.patch, 15_use-ubuntu-help.patch, 20_static_unity_quicklist.patch, + 21_correct_timestamp_use_fix_focus_issue.patch, dont_wrap_labels_after_dots.patch * debian/control - disabled build-depend to liblaunchpad-integration-3.0-dev, libunity-dev - added build-depend to libpackagekit-glib2-dev - -- Gianvito Cavasoli Sat, 16 Jun 2012 08:46:25 +0200 + -- Gianvito Cavasoli Fri, 03 Aug 2012 14:53:43 +0200 + +nautilus (1:3.4.2-0ubuntu4) precise-proposed; urgency=low + + * debian/patches/21_correct_timestamp_use_fix_focus_issue.patch: + - "Use the correct timestamp when creating a new nautilus window.", + that should fix nautilus dialog opening unfocussed, + thanks Andrea Azzarone (lp: #781931) + + -- Sebastien Bacher Thu, 19 Jul 2012 12:13:19 +0200 nautilus (1:3.4.2-0ubuntu3) precise-proposed; urgency=low diff -Nru nautilus-3.4.2/debian/patches/21_correct_timestamp_use_fix_focus_issue.patch nautilus-3.4.2/debian/patches/21_correct_timestamp_use_fix_focus_issue.patch --- nautilus-3.4.2/debian/patches/21_correct_timestamp_use_fix_focus_issue.patch 1970-01-01 00:00:00.000000000 +0000 +++ nautilus-3.4.2/debian/patches/21_correct_timestamp_use_fix_focus_issue.patch 2012-07-19 10:20:38.000000000 +0000 @@ -0,0 +1,160 @@ +Index: nautilus-3.4.2/src/nautilus-application.c +=================================================================== +--- nautilus-3.4.2.orig/src/nautilus-application.c 2012-07-18 11:46:55.335726314 +0200 ++++ nautilus-3.4.2/src/nautilus-application.c 2012-07-18 12:06:53.185666129 +0200 +@@ -77,6 +77,8 @@ + #include + #include + ++#include ++ + #ifdef HAVE_UNITY + #include "src/unity-bookmarks-handler.h" + #endif +@@ -113,6 +115,7 @@ + + gboolean no_desktop; + gchar *geometry; ++ guint64 initial_timestamp; + }; + + static gboolean +@@ -486,6 +489,7 @@ + + window = g_object_new (NAUTILUS_TYPE_WINDOW, + "screen", screen, ++ "initial-timestamp", application->priv->initial_timestamp, + NULL); + + g_signal_connect_data (window, "delete_event", +@@ -773,6 +777,51 @@ + self->priv->geometry); + } + ++static void ++nautilus_application_before_emit (GApplication *application, ++ GVariant *platform_data) ++{ ++ GVariantIter iter; ++ const gchar *key; ++ GVariant *value; ++ ++ /* chain to parent */ ++ G_APPLICATION_CLASS (nautilus_application_parent_class)->before_emit (application, platform_data); ++ ++ g_variant_iter_init (&iter, platform_data); ++ while (g_variant_iter_loop (&iter, "{sv}", &key, &value)) { ++ if (strcmp (key, "initial-timestamp") == 0) { ++ NAUTILUS_APPLICATION (application)->priv->initial_timestamp = g_variant_get_uint64 (value); ++ } ++ } ++} ++ ++static void ++nautilus_application_add_platform_data (GApplication *application, ++ GVariantBuilder *builder) ++{ ++ /* chain to parent */ ++ G_APPLICATION_CLASS (nautilus_application_parent_class)->add_platform_data (application, builder); ++ ++ /* dummy change property to get a timestamp */ ++ Display *xdisplay = GDK_DISPLAY_XDISPLAY ((gdk_display_get_default ())); ++ Window xid = XCreateSimpleWindow (xdisplay, DefaultRootWindow (xdisplay), 0, 0, 1, 1, 0, 0, 0); ++ ++ XSetWindowAttributes a; ++ a.event_mask = PropertyChangeMask; ++ XChangeWindowAttributes (xdisplay, xid, CWEventMask, &a); ++ ++ XChangeProperty (xdisplay, xid, XA_WM_CLASS, XA_STRING, 8, PropModeAppend, NULL, 0); ++ ++ XEvent ev; ++ XWindowEvent (xdisplay, xid, PropertyChangeMask, &ev); ++ ++ g_variant_builder_add (builder, "{sv}", "initial-timestamp", ++ g_variant_new_uint64 (ev.xproperty.time)); ++ ++ XDestroyWindow (xdisplay, xid); ++} ++ + static GObject * + nautilus_application_constructor (GType type, + guint n_construct_params, +@@ -1226,6 +1275,8 @@ + application_class->quit_mainloop = nautilus_application_quit_mainloop; + application_class->open = nautilus_application_open; + application_class->local_command_line = nautilus_application_local_command_line; ++ application_class->add_platform_data = nautilus_application_add_platform_data; ++ application_class->before_emit = nautilus_application_before_emit; + + gtkapp_class = GTK_APPLICATION_CLASS (class); + gtkapp_class->window_removed = nautilus_application_window_removed; +Index: nautilus-3.4.2/src/nautilus-window-private.h +=================================================================== +--- nautilus-3.4.2.orig/src/nautilus-window-private.h 2012-05-14 21:37:55.000000000 +0200 ++++ nautilus-3.4.2/src/nautilus-window-private.h 2012-07-18 11:55:50.314379130 +0200 +@@ -102,6 +102,7 @@ + gboolean disable_chrome; + + guint sidebar_width_handler_id; ++ guint64 initial_timestamp; + }; + + /* window geometry */ +Index: nautilus-3.4.2/src/nautilus-window.c +=================================================================== +--- nautilus-3.4.2.orig/src/nautilus-window.c 2012-07-18 11:46:55.227725779 +0200 ++++ nautilus-3.4.2/src/nautilus-window.c 2012-07-18 11:59:28.499461046 +0200 +@@ -100,6 +100,7 @@ + + enum { + PROP_DISABLE_CHROME = 1, ++ PROP_INITIAL_TIMESTAMP, + NUM_PROPERTIES, + }; + +@@ -634,6 +635,9 @@ + case PROP_DISABLE_CHROME: + window->details->disable_chrome = g_value_get_boolean (value); + break; ++ case PROP_INITIAL_TIMESTAMP: ++ window->details->initial_timestamp = g_value_get_uint64 (value); ++ break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, arg_id, pspec); + break; +@@ -654,6 +658,9 @@ + case PROP_DISABLE_CHROME: + g_value_set_boolean (value, window->details->disable_chrome); + break; ++ case PROP_INITIAL_TIMESTAMP: ++ g_value_set_uint64 (value, window->details->initial_timestamp); ++ break; + } + } + +@@ -784,7 +791,7 @@ + nautilus_window_pane_grab_focus (window->details->active_pane); + + /* All slots and panes visible, show window */ +- gtk_widget_show (GTK_WIDGET (window)); ++ gtk_window_present_with_time (GTK_WINDOW (window), window->details->initial_timestamp); + } + + static void +@@ -1953,6 +1960,16 @@ + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS); + ++ properties[PROP_INITIAL_TIMESTAMP] = ++ g_param_spec_uint64 ("initial-timestamp", ++ "Initial timestamp", ++ "Set initial timestamp", ++ 0, ++ G_MAXUINT, ++ 0, ++ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | ++ G_PARAM_STATIC_STRINGS); ++ + signals[GO_UP] = + g_signal_new ("go_up", + G_TYPE_FROM_CLASS (class), diff -Nru nautilus-3.4.2/debian/patches/series nautilus-3.4.2/debian/patches/series --- nautilus-3.4.2/debian/patches/series 2012-06-16 06:50:30.000000000 +0000 +++ nautilus-3.4.2/debian/patches/series 2012-08-03 12:55:12.000000000 +0000 @@ -16,3 +16,4 @@ #dont_wrap_labels_after_dots.patch git_bookmark_place_dnd.patch git_image_properties_wrapping.patch +#21_correct_timestamp_use_fix_focus_issue.patch