aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomasz Gąsior2017-06-19 20:52:15 +0200
committerTomasz Gąsior2017-06-19 20:55:20 +0200
commitf64ebcbb4fc8477cfaa41baa4ca4ee50afe3c8fc (patch)
treebfd851e930bba0e88e248ab33078e798940e4512
parent7ac5f69bb11c10bf1f64424f3512f15ab2468ac1 (diff)
downloadaur-f64ebcbb4fc8477cfaa41baa4ca4ee50afe3c8fc.tar.gz
Patches modified. File chooser icons changed.
- Patches are divided into more files. - File chooser uses colorized icons instead symbolic. - Application menu icons is changed. - "smaller-adwaita.css" stylesheet is appended into "gtk-contained.css" instead "gtk.css".
-rw-r--r--.SRCINFO40
-rw-r--r--PKGBUILD54
-rw-r--r--csd.patch380
-rw-r--r--file-chooser.patch534
-rw-r--r--others.patch264
-rw-r--r--p__file-chooser__places-sidebar.patch124
-rw-r--r--p__file-chooser__single-click.patch26
-rw-r--r--p__file-chooser__typeahead.patch123
-rw-r--r--p__headerbar__buttons.patch50
-rw-r--r--p__headerbar__disable-csd.patch69
-rw-r--r--p__headerbar__title.patch53
-rw-r--r--p__icons__buttons.patch (renamed from icons.patch)36
-rw-r--r--p__icons__file-chooser.patch578
-rw-r--r--p__other__menubutton-menu.patch26
-rw-r--r--p__other__mnemonics-delay.patch26
-rw-r--r--p__other__scrollbar.patch25
-rw-r--r--p__other__statusbar.patch25
-rw-r--r--p__print-dialog__appearance.patch39
-rw-r--r--p__print-dialog__previewer.patch26
-rw-r--r--print-dialog.patch126
20 files changed, 1258 insertions, 1366 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 0b4d8b765c7a..ecde44e8ca53 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = gtk3-mushrooms
pkgdesc = GTK3 library with my modifications (see README).
pkgver = 3.22.15
- pkgrel = 4
+ pkgrel = 5
url = http://www.gtk.org/
install = gtk3.install
arch = i686
@@ -38,20 +38,38 @@ pkgbase = gtk3-mushrooms
optdepends = gtk3-print-backends: Printing
provides = gtk3=3.22.15
conflicts = gtk3
- source = csd.patch
- source = file-chooser.patch
- source = icons.patch
- source = others.patch
- source = print-dialog.patch
+ source = p__file-chooser__places-sidebar.patch
+ source = p__file-chooser__single-click.patch
+ source = p__file-chooser__typeahead.patch
+ source = p__headerbar__buttons.patch
+ source = p__headerbar__disable-csd.patch
+ source = p__headerbar__title.patch
+ source = p__icons__buttons.patch
+ source = p__icons__file-chooser.patch
+ source = p__other__menubutton-menu.patch
+ source = p__other__mnemonics-delay.patch
+ source = p__other__scrollbar.patch
+ source = p__other__statusbar.patch
+ source = p__print-dialog__appearance.patch
+ source = p__print-dialog__previewer.patch
source = smaller-adwaita.css
source = https://github.com/GNOME/gtk/archive/3.22.15.zip
source = settings.ini
source = gtk-query-immodules-3.0.hook
- sha256sums = b0b1cb2dc65e91acd473d7c3c966867ef9945ebf376268e41ce870e725e291c2
- sha256sums = b7d5da21262fe46275131799d3403489e803c8a303b3ee1650e88a4ddb6cae11
- sha256sums = cfb3121fb174ea8718a0dc184417338c5dfd819237e233d78bf43fb51bb06c91
- sha256sums = ac119908c6a763ece6114ae3b5cd5d8c232207ce734d975e0ada22379610fc7d
- sha256sums = be7800734fc59e49c34ee2f806738eba8b606d46ac61bc3f50fa3cc69ae594f0
+ sha256sums = e2d1425b2d377db426b56fcf127d245aef6570af0145d4c3ec7dff75a0af11d9
+ sha256sums = 79e69afe150a0393be17f1f8fc65c7c10540ef631a6ea657b01eaf0a99f5ffc5
+ sha256sums = 1824f7136c05dfc2657a6cc7cc45fae5ededb9f06e899e28982a068824123ac2
+ sha256sums = 49c9847239511c2db0be46cb8f660c2c4a43a45b3deed4443eb449daf9ceaf21
+ sha256sums = 1eac1a085ec83e4c340cdbe97d146e902497115ca29b8278eb645e0b7fce352e
+ sha256sums = c064edcc5e183c7ccd9d764a3f6e5039ff9052039407a7978e5362d6499b46bd
+ sha256sums = ee7fd84ea670406cdf92e8710872431123a92ce93b51e9a3ea9b7898a5ba42d9
+ sha256sums = f7d4dc007352b6f04bef467420fb8b3ed43fbef3cc5928370f926ce22af93ab3
+ sha256sums = f33c1fc18a02eb04a91be6218642ffd7cfa7bfc2c4c1656c413eb78d904862cf
+ sha256sums = ccc9ecc561c56e470a4dced055bafd6ae108c6b86e2a56f965a14afe04d35f62
+ sha256sums = cd6967c6b46581752b2587a6e294950065187e10606987d71b8422b2370ca755
+ sha256sums = d7855f0122bb10f96463433bf60481e2a9d5f435e6618d72254454973872411d
+ sha256sums = 9dd136016d59b7b3fe8746c722a6adb9f30aa1dcbf5bf37f0055bb1af5e4d27c
+ sha256sums = 65d8e125c74798d2a1d1e872ee4332b3a3f6332d8860963e9f3e4c8c6f41cb92
sha256sums = 0afbd995148ce6e03010b572d69533e4d250a2e5f60323422b16a407ff162885
sha256sums = c3ab786779a6a74765a56e31aaa0fe9123feee222185f0c3ae94acfb2e61a0dd
sha256sums = 01fc1d81dc82c4a052ac6e25bf9a04e7647267cc3017bc91f9ce3e63e5eb9202
diff --git a/PKGBUILD b/PKGBUILD
index a2f55a506559..007468b65f8a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,7 +5,7 @@
pkgname=gtk3-mushrooms
pkgver=3.22.15
-pkgrel=4
+pkgrel=5
pkgdesc="GTK3 library with my modifications (see README)."
url="http://www.gtk.org/"
install=gtk3.install
@@ -25,11 +25,21 @@ makedepends=(
gobject-introspection libcanberra gtk-doc rest libcups glib2-docs
)
source=(
- "csd.patch"
- "file-chooser.patch"
- "icons.patch"
- "others.patch"
- "print-dialog.patch"
+ "p__file-chooser__places-sidebar.patch"
+ "p__file-chooser__single-click.patch"
+ "p__file-chooser__typeahead.patch"
+ "p__headerbar__buttons.patch"
+ "p__headerbar__disable-csd.patch"
+ "p__headerbar__title.patch"
+ "p__icons__buttons.patch"
+ "p__icons__file-chooser.patch"
+ "p__other__menubutton-menu.patch"
+ "p__other__mnemonics-delay.patch"
+ "p__other__scrollbar.patch"
+ "p__other__statusbar.patch"
+ "p__print-dialog__appearance.patch"
+ "p__print-dialog__previewer.patch"
+
"smaller-adwaita.css"
"https://github.com/GNOME/gtk/archive/$pkgver.zip"
@@ -37,11 +47,21 @@ source=(
"gtk-query-immodules-3.0.hook"
)
sha256sums=(
- "b0b1cb2dc65e91acd473d7c3c966867ef9945ebf376268e41ce870e725e291c2"
- "b7d5da21262fe46275131799d3403489e803c8a303b3ee1650e88a4ddb6cae11"
- "cfb3121fb174ea8718a0dc184417338c5dfd819237e233d78bf43fb51bb06c91"
- "ac119908c6a763ece6114ae3b5cd5d8c232207ce734d975e0ada22379610fc7d"
- "be7800734fc59e49c34ee2f806738eba8b606d46ac61bc3f50fa3cc69ae594f0"
+ "e2d1425b2d377db426b56fcf127d245aef6570af0145d4c3ec7dff75a0af11d9"
+ "79e69afe150a0393be17f1f8fc65c7c10540ef631a6ea657b01eaf0a99f5ffc5"
+ "1824f7136c05dfc2657a6cc7cc45fae5ededb9f06e899e28982a068824123ac2"
+ "49c9847239511c2db0be46cb8f660c2c4a43a45b3deed4443eb449daf9ceaf21"
+ "1eac1a085ec83e4c340cdbe97d146e902497115ca29b8278eb645e0b7fce352e"
+ "c064edcc5e183c7ccd9d764a3f6e5039ff9052039407a7978e5362d6499b46bd"
+ "ee7fd84ea670406cdf92e8710872431123a92ce93b51e9a3ea9b7898a5ba42d9"
+ "f7d4dc007352b6f04bef467420fb8b3ed43fbef3cc5928370f926ce22af93ab3"
+ "f33c1fc18a02eb04a91be6218642ffd7cfa7bfc2c4c1656c413eb78d904862cf"
+ "ccc9ecc561c56e470a4dced055bafd6ae108c6b86e2a56f965a14afe04d35f62"
+ "cd6967c6b46581752b2587a6e294950065187e10606987d71b8422b2370ca755"
+ "d7855f0122bb10f96463433bf60481e2a9d5f435e6618d72254454973872411d"
+ "9dd136016d59b7b3fe8746c722a6adb9f30aa1dcbf5bf37f0055bb1af5e4d27c"
+ "65d8e125c74798d2a1d1e872ee4332b3a3f6332d8860963e9f3e4c8c6f41cb92"
+
"0afbd995148ce6e03010b572d69533e4d250a2e5f60323422b16a407ff162885"
"c3ab786779a6a74765a56e31aaa0fe9123feee222185f0c3ae94acfb2e61a0dd"
@@ -52,14 +72,12 @@ sha256sums=(
prepare() {
cd "$srcdir/gtk-$pkgver/gtk"
- patch -p 3 -i "$srcdir/csd.patch"
- patch -p 3 -i "$srcdir/file-chooser.patch"
- patch -p 3 -i "$srcdir/icons.patch"
- patch -p 3 -i "$srcdir/others.patch"
- patch -p 3 -i "$srcdir/print-dialog.patch"
+ for patchfile in $srcdir/p__*.patch; do
+ patch -p 3 -i "$patchfile"
+ done
- cat "$srcdir/smaller-adwaita.css" >> "theme/Adwaita/gtk.css"
- cat "$srcdir/smaller-adwaita.css" >> "theme/Adwaita/gtk-dark.css"
+ cat "$srcdir/smaller-adwaita.css" >> "theme/Adwaita/gtk-contained.css"
+ cat "$srcdir/smaller-adwaita.css" >> "theme/Adwaita/gtk-contained-dark.css"
cd "$srcdir/gtk-$pkgver"
NOCONFIGURE=1 ./autogen.sh
diff --git a/csd.patch b/csd.patch
deleted file mode 100644
index 45f997c4bb7b..000000000000
--- a/csd.patch
+++ /dev/null
@@ -1,380 +0,0 @@
-diff -U 25 -r -Z -B ./org/gtk/gtkheaderbar.c ./mod/gtk/gtkheaderbar.c
---- ./org/gtk/gtkheaderbar.c 2017-05-11 21:09:33.000000000 +0200
-+++ ./mod/gtk/gtkheaderbar.c 2017-06-02 03:04:08.330400587 +0200
-@@ -301,51 +301,51 @@
-
- direction = gtk_widget_get_direction (widget);
-
- g_object_get (gtk_widget_get_settings (widget),
- "gtk-shell-shows-app-menu", &shown_by_shell,
- "gtk-decoration-layout", &layout_desc,
- NULL);
-
- if (priv->decoration_layout_set)
- {
- g_free (layout_desc);
- layout_desc = g_strdup (priv->decoration_layout);
- }
-
- window = GTK_WINDOW (toplevel);
-
- if (!shown_by_shell && gtk_window_get_application (window))
- menu = gtk_application_get_app_menu (gtk_window_get_application (window));
- else
- menu = NULL;
-
- is_sovereign_window = (!gtk_window_get_modal (window) &&
- gtk_window_get_transient_for (window) == NULL &&
- gtk_window_get_type_hint (window) == GDK_WINDOW_TYPE_HINT_NORMAL);
-
-- tokens = g_strsplit (layout_desc, ":", 2);
-+ tokens = g_strsplit ("menu", ":", 2);
- if (tokens)
- {
- for (i = 0; i < 2; i++)
- {
- GtkWidget *box;
- GtkWidget *separator;
- int n_children = 0;
-
- if (tokens[i] == NULL)
- break;
-
- t = g_strsplit (tokens[i], ",", -1);
-
- separator = gtk_separator_new (GTK_ORIENTATION_VERTICAL);
- gtk_widget_set_no_show_all (separator, TRUE);
- gtk_style_context_add_class (gtk_widget_get_style_context (separator), "titlebutton");
-
- box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, priv->spacing);
-
- for (j = 0; t[j]; j++)
- {
- GtkWidget *button = NULL;
- GtkWidget *image = NULL;
- AtkObject *accessible;
-
-@@ -362,52 +362,52 @@
- if (!_gtk_header_bar_update_window_icon (bar, window))
- {
- gtk_widget_destroy (button);
- priv->titlebar_icon = NULL;
- button = NULL;
- }
- }
- else if (strcmp (t[j], "menu") == 0 &&
- menu != NULL &&
- is_sovereign_window)
- {
- button = gtk_menu_button_new ();
- gtk_widget_set_valign (button, GTK_ALIGN_CENTER);
- gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (button), menu);
- gtk_menu_button_set_use_popover (GTK_MENU_BUTTON (button), TRUE);
- gtk_style_context_add_class (gtk_widget_get_style_context (button), "titlebutton");
- gtk_style_context_add_class (gtk_widget_get_style_context (button), "appmenu");
- image = gtk_image_new ();
- gtk_container_add (GTK_CONTAINER (button), image);
- gtk_widget_set_can_focus (button, FALSE);
- gtk_widget_show_all (button);
- accessible = gtk_widget_get_accessible (button);
- if (GTK_IS_ACCESSIBLE (accessible))
- atk_object_set_name (accessible, _("Application menu"));
- priv->titlebar_icon = image;
-- if (!_gtk_header_bar_update_window_icon (bar, window))
-- gtk_image_set_from_icon_name (GTK_IMAGE (priv->titlebar_icon), "process-stop-symbolic", GTK_ICON_SIZE_MENU);
-+ if (TRUE || !_gtk_header_bar_update_window_icon (bar, window))
-+ gtk_image_set_from_icon_name (GTK_IMAGE (priv->titlebar_icon), "view-more-symbolic", GTK_ICON_SIZE_MENU);
- }
- else if (strcmp (t[j], "minimize") == 0 &&
- is_sovereign_window)
- {
- button = gtk_button_new ();
- gtk_widget_set_valign (button, GTK_ALIGN_CENTER);
- gtk_style_context_add_class (gtk_widget_get_style_context (button), "titlebutton");
- gtk_style_context_add_class (gtk_widget_get_style_context (button), "minimize");
- image = gtk_image_new_from_icon_name ("window-minimize-symbolic", GTK_ICON_SIZE_MENU);
- g_object_set (image, "use-fallback", TRUE, NULL);
- gtk_container_add (GTK_CONTAINER (button), image);
- gtk_widget_set_can_focus (button, FALSE);
- gtk_widget_show_all (button);
- g_signal_connect_swapped (button, "clicked",
- G_CALLBACK (gtk_window_iconify), window);
- accessible = gtk_widget_get_accessible (button);
- if (GTK_IS_ACCESSIBLE (accessible))
- atk_object_set_name (accessible, _("Minimize"));
- }
- else if (strcmp (t[j], "maximize") == 0 &&
- gtk_window_get_resizable (window) &&
- is_sovereign_window)
- {
- const gchar *icon_name;
- gboolean maximized = gtk_window_is_maximized (window);
-@@ -1262,52 +1262,51 @@
- * gtk_header_bar_set_title:
- * @bar: a #GtkHeaderBar
- * @title: (allow-none): a title, or %NULL
- *
- * Sets the title of the #GtkHeaderBar. The title should help a user
- * identify the current view. A good title should not include the
- * application name.
- *
- * Since: 3.10
- */
- void
- gtk_header_bar_set_title (GtkHeaderBar *bar,
- const gchar *title)
- {
- GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
- gchar *new_title;
-
- g_return_if_fail (GTK_IS_HEADER_BAR (bar));
-
- new_title = g_strdup (title);
- g_free (priv->title);
- priv->title = new_title;
-
- if (priv->title_label != NULL)
- {
-- gtk_label_set_label (GTK_LABEL (priv->title_label), priv->title);
-- gtk_widget_queue_resize (GTK_WIDGET (bar));
-+ gtk_widget_set_visible (GTK_WIDGET (priv->title_label), FALSE);
- }
-
- g_object_notify_by_pspec (G_OBJECT (bar), header_bar_props[PROP_TITLE]);
- }
-
- /**
- * gtk_header_bar_get_title:
- * @bar: a #GtkHeaderBar
- *
- * Retrieves the title of the header. See gtk_header_bar_set_title().
- *
- * Returns: (nullable): the title of the header, or %NULL if none has
- * been set explicitly. The returned string is owned by the widget
- * and must not be modified or freed.
- *
- * Since: 3.10
- */
- const gchar *
- gtk_header_bar_get_title (GtkHeaderBar *bar)
- {
- GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
-
- g_return_val_if_fail (GTK_IS_HEADER_BAR (bar), NULL);
-
- return priv->title;
-diff -U 25 -r -Z -B ./org/gtk/gtkstylecontext.h ./mod/gtk/gtkstylecontext.h
---- ./org/gtk/gtkstylecontext.h 2017-05-11 21:09:33.000000000 +0200
-+++ ./mod/gtk/gtkstylecontext.h 2017-06-02 03:04:08.330400587 +0200
-@@ -796,51 +796,51 @@
- */
- #define GTK_STYLE_CLASS_TITLEBAR "titlebar"
-
- /**
- * GTK_STYLE_CLASS_TITLE:
- *
- * A CSS class used for the title label in a titlebar in
- * a toplevel window.
- *
- * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.14
- */
- #define GTK_STYLE_CLASS_TITLE "title"
-
- /**
- * GTK_STYLE_CLASS_SUBTITLE:
- *
- * A CSS class used for the subtitle label in a titlebar in
- * a toplevel window.
- *
- * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.14
- */
--#define GTK_STYLE_CLASS_SUBTITLE "subtitle"
-+#define GTK_STYLE_CLASS_SUBTITLE "title"
-
- /**
- * GTK_STYLE_CLASS_NEEDS_ATTENTION:
- *
- * A CSS class used when an element needs the user attention,
- * for instance a button in a stack switcher corresponding to
- * a hidden page that changed state.
- *
- * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.12
- */
- #define GTK_STYLE_CLASS_NEEDS_ATTENTION "needs-attention"
-
- /**
- * GTK_STYLE_CLASS_SUGGESTED_ACTION:
- *
- * A CSS class used when an action (usually a button) is the
- * primary suggested action in a specific context.
- *
- * Refer to individual widget documentation for used style classes.
- *
- * Since: 3.12
- */
- #define GTK_STYLE_CLASS_SUGGESTED_ACTION "suggested-action"
-diff -U 25 -r -Z -B ./org/gtk/gtkwindow.c ./mod/gtk/gtkwindow.c
---- ./org/gtk/gtkwindow.c 2017-05-11 21:09:33.000000000 +0200
-+++ ./mod/gtk/gtkwindow.c 2017-06-02 03:04:08.333733920 +0200
-@@ -4098,50 +4098,51 @@
- visual = gdk_screen_get_rgba_visual (screen);
- if (!visual)
- return FALSE;
- }
- #endif
-
- #ifdef GDK_WINDOWING_WIN32
- if (GDK_IS_WIN32_DISPLAY (display))
- {
- if (!gdk_screen_is_composited (screen))
- return FALSE;
-
- /* We need a visual with alpha */
- visual = gdk_screen_get_rgba_visual (screen);
- if (!visual)
- return FALSE;
- }
- #endif
-
- return TRUE;
- }
-
- static void
- gtk_window_enable_csd (GtkWindow *window)
- {
-+ return;
- GtkWindowPrivate *priv = window->priv;
- GtkWidget *widget = GTK_WIDGET (window);
- GdkVisual *visual;
-
- /* We need a visual with alpha for client shadows */
- if (priv->use_client_shadow)
- {
- visual = gdk_screen_get_rgba_visual (gtk_widget_get_screen (widget));
- if (visual != NULL)
- gtk_widget_set_visual (widget, visual);
-
- gtk_style_context_add_class (gtk_widget_get_style_context (widget), GTK_STYLE_CLASS_CSD);
- }
- else
- {
- gtk_style_context_add_class (gtk_widget_get_style_context (widget), "solid-csd");
- }
-
- priv->client_decorated = TRUE;
- }
-
- static void
- on_titlebar_title_notify (GtkHeaderBar *titlebar,
- GParamSpec *pspec,
- GtkWindow *self)
-@@ -6045,50 +6046,51 @@
-
- titlebar = gtk_header_bar_new ();
- g_object_set (titlebar,
- "title", priv->title ? priv->title : get_default_title (),
- "has-subtitle", FALSE,
- "show-close-button", TRUE,
- NULL);
- context = gtk_widget_get_style_context (titlebar);
- gtk_style_context_add_class (context, GTK_STYLE_CLASS_TITLEBAR);
- gtk_style_context_add_class (context, "default-decoration");
-
- return titlebar;
- }
-
- void
- _gtk_window_request_csd (GtkWindow *window)
- {
- GtkWindowPrivate *priv = window->priv;
-
- priv->csd_requested = TRUE;
- }
-
- static gboolean
- gtk_window_should_use_csd (GtkWindow *window)
- {
-+ return FALSE;
- GtkWindowPrivate *priv = window->priv;
- const gchar *csd_env;
-
- if (priv->csd_requested)
- return TRUE;
-
- if (!priv->decorated)
- return FALSE;
-
- if (priv->type == GTK_WINDOW_POPUP)
- return FALSE;
-
- csd_env = g_getenv ("GTK_CSD");
-
- #ifdef GDK_WINDOWING_BROADWAY
- if (GDK_IS_BROADWAY_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
- return TRUE;
- #endif
-
- #ifdef GDK_WINDOWING_WAYLAND
- if (GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
- return TRUE;
- #endif
-
- #ifdef GDK_WINDOWING_MIR
-@@ -9071,50 +9073,51 @@
- if (maximized)
- gtk_widget_set_sensitive (menuitem, FALSE);
- gtk_widget_show (menuitem);
- g_signal_connect (G_OBJECT (menuitem), "activate",
- G_CALLBACK (ontop_window_clicked), window);
- gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), menuitem);
-
- menuitem = gtk_separator_menu_item_new ();
- gtk_widget_show (menuitem);
- gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), menuitem);
-
- menuitem = gtk_menu_item_new_with_label (_("Close"));
- gtk_widget_show (menuitem);
- if (!priv->deletable)
- gtk_widget_set_sensitive (menuitem, FALSE);
- g_signal_connect (G_OBJECT (menuitem), "activate",
- G_CALLBACK (close_window_clicked), window);
- gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), menuitem);
- gtk_menu_popup_at_pointer (GTK_MENU (priv->popup_menu), (GdkEvent *) event);
- }
-
- static void
- gtk_window_do_popup (GtkWindow *window,
- GdkEventButton *event)
- {
-+ return;
- if (!gdk_window_show_window_menu (_gtk_widget_get_window (GTK_WIDGET (window)),
- (GdkEvent *) event))
- gtk_window_do_popup_fallback (window, event);
- }
-
- /*********************************
- * Functions related to resizing *
- *********************************/
-
- static void
- geometry_size_to_pixels (GdkGeometry *geometry,
- guint flags,
- gint *width,
- gint *height)
- {
- gint base_width = 0;
- gint base_height = 0;
- gint min_width = 0;
- gint min_height = 0;
- gint width_inc = 1;
- gint height_inc = 1;
-
- if (flags & GDK_HINT_BASE_SIZE)
- {
- base_width = geometry->base_width;
diff --git a/file-chooser.patch b/file-chooser.patch
deleted file mode 100644
index 95804f556965..000000000000
--- a/file-chooser.patch
+++ /dev/null
@@ -1,534 +0,0 @@
-diff -U 25 -r -Z -B ./org/gtk/gtkfilechooserdialog.c ./mod/gtk/gtkfilechooserdialog.c
---- ./org/gtk/gtkfilechooserdialog.c 2017-05-11 21:09:33.000000000 +0200
-+++ ./mod/gtk/gtkfilechooserdialog.c 2017-06-02 01:38:38.023479724 +0200
-@@ -472,52 +472,50 @@
-
- static void
- setup_search (GtkFileChooserDialog *dialog)
- {
- gboolean use_header;
-
- if (dialog->priv->search_setup)
- return;
-
- dialog->priv->search_setup = TRUE;
-
- g_object_get (dialog, "use-header-bar", &use_header, NULL);
- if (use_header)
- {
- GtkWidget *button;
- GtkWidget *image;
- GtkWidget *header;
-
- button = gtk_toggle_button_new ();
- gtk_widget_set_focus_on_click (button, FALSE);
- gtk_widget_set_valign (button, GTK_ALIGN_CENTER);
- image = gtk_image_new_from_icon_name ("edit-find-symbolic", GTK_ICON_SIZE_MENU);
- gtk_container_add (GTK_CONTAINER (button), image);
- gtk_style_context_add_class (gtk_widget_get_style_context (button), "image-button");
- gtk_style_context_remove_class (gtk_widget_get_style_context (button), "text-button");
-- gtk_widget_show (image);
-- gtk_widget_show (button);
-
- header = gtk_dialog_get_header_bar (GTK_DIALOG (dialog));
- gtk_header_bar_pack_end (GTK_HEADER_BAR (header), button);
-
- g_object_bind_property (button, "active",
- dialog->priv->widget, "search-mode",
- G_BINDING_BIDIRECTIONAL);
- g_object_bind_property (dialog->priv->widget, "subtitle",
- header, "subtitle",
- G_BINDING_SYNC_CREATE);
-
- gtk_container_forall (GTK_CONTAINER (header), add_button, dialog);
- }
- }
-
- static void
- setup_save_entry (GtkFileChooserDialog *dialog)
- {
- gboolean use_header;
- GtkFileChooserAction action;
- gboolean need_entry;
- GtkWidget *header;
-
- g_object_get (dialog,
- "use-header-bar", &use_header,
-diff -U 25 -r -Z -B ./org/gtk/gtkfilechooserwidget.c ./mod/gtk/gtkfilechooserwidget.c
---- ./org/gtk/gtkfilechooserwidget.c 2017-05-11 21:09:33.000000000 +0200
-+++ ./mod/gtk/gtkfilechooserwidget.c 2017-06-02 01:38:51.116813706 +0200
-@@ -2400,51 +2400,51 @@
- }
-
- /* Callback used when a button is pressed on the file list. We trap button 3 to
- * bring up a popup menu.
- */
- static gboolean
- list_button_press_event_cb (GtkWidget *widget,
- GdkEventButton *event,
- GtkFileChooserWidget *impl)
- {
- GtkFileChooserWidgetPrivate *priv = impl->priv;
- static gboolean in_press = FALSE;
- GtkTreePath *path;
- GtkTreeViewColumn *column;
- GdkDevice *device;
- gboolean modify, extend, is_touchscreen;
-
- if (in_press)
- return FALSE;
-
- device = gdk_event_get_source_device ((GdkEvent *) event);
- is_touchscreen = gtk_simulate_touchscreen () ||
- gdk_device_get_source (device) == GDK_SOURCE_TOUCHSCREEN;
-
- get_selection_modifiers (widget, event, &modify, &extend);
-- if (!is_touchscreen &&
-+ if (FALSE && !is_touchscreen &&
- !modify && !extend &&
- event->type == GDK_BUTTON_PRESS &&
- event->button == GDK_BUTTON_PRIMARY &&
- gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (priv->browse_files_tree_view),
- event->x, event->y,
- &path, &column, NULL, NULL))
- {
- GtkTreeSelection *selection;
-
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
- if (gtk_tree_selection_path_is_selected (selection, path))
- {
- list_row_activated (GTK_TREE_VIEW (priv->browse_files_tree_view), path, column, impl);
- gtk_tree_path_free (path);
- return TRUE;
- }
-
- gtk_tree_path_free (path);
- }
-
- if (!gdk_event_triggers_context_menu ((GdkEvent *) event))
- return FALSE;
-
- in_press = TRUE;
- gtk_widget_event (priv->browse_files_tree_view, (GdkEvent *) event);
-@@ -2456,51 +2456,50 @@
- }
-
- static void
- long_press_cb (GtkGesture *gesture,
- gdouble x,
- gdouble y,
- GtkFileChooserWidget *impl)
- {
- file_list_show_popover (impl, x, y);
- }
-
- typedef struct {
- OperationMode operation_mode;
- gint general_column;
- gint model_column;
- } ColumnMap;
-
- /* Sets the sort column IDs for the file list; needs to be done whenever we
- * change the model on the treeview.
- */
- static void
- file_list_set_sort_column_ids (GtkFileChooserWidget *impl)
- {
- GtkFileChooserWidgetPrivate *priv = impl->priv;
-
-- gtk_tree_view_set_search_column (GTK_TREE_VIEW (priv->browse_files_tree_view), -1);
-
- gtk_tree_view_column_set_sort_column_id (priv->list_name_column, MODEL_COL_NAME);
- gtk_tree_view_column_set_sort_column_id (priv->list_time_column, MODEL_COL_TIME);
- gtk_tree_view_column_set_sort_column_id (priv->list_size_column, MODEL_COL_SIZE);
- gtk_tree_view_column_set_sort_column_id (priv->list_location_column, MODEL_COL_LOCATION_TEXT);
- }
-
- static gboolean
- file_list_query_tooltip_cb (GtkWidget *widget,
- gint x,
- gint y,
- gboolean keyboard_tip,
- GtkTooltip *tooltip,
- gpointer user_data)
- {
- GtkFileChooserWidget *impl = user_data;
- GtkFileChooserWidgetPrivate *priv = impl->priv;
- GtkTreeModel *model;
- GtkTreePath *path;
- GtkTreeIter iter;
- GFile *file;
- gchar *filename;
-
- if (priv->operation_mode == OPERATION_MODE_BROWSE)
- return FALSE;
-@@ -3226,50 +3225,52 @@
- operation_mode_set (GtkFileChooserWidget *impl, OperationMode mode)
- {
- GtkFileChooserWidgetPrivate *priv = impl->priv;
- OperationMode old_mode;
-
- operation_mode_stop (impl, priv->operation_mode);
-
- old_mode = priv->operation_mode;
- priv->operation_mode = mode;
-
- switch (priv->operation_mode)
- {
- case OPERATION_MODE_ENTER_LOCATION:
- operation_mode_set_enter_location (impl);
- break;
-
- case OPERATION_MODE_OTHER_LOCATIONS:
- operation_mode_set_other_locations (impl);
- break;
-
- case OPERATION_MODE_BROWSE:
- operation_mode_set_browse (impl);
- break;
-
- case OPERATION_MODE_SEARCH:
-+ priv->operation_mode = old_mode;
-+ return;
- operation_mode_set_search (impl);
- break;
-
- case OPERATION_MODE_RECENT:
- operation_mode_set_recent (impl);
- break;
-
- default:
- g_assert_not_reached ();
- return;
- }
-
- if ((old_mode == OPERATION_MODE_SEARCH) != (mode == OPERATION_MODE_SEARCH))
- g_object_notify (G_OBJECT (impl), "search-mode");
-
- g_object_notify (G_OBJECT (impl), "subtitle");
- }
-
- /* This function is basically a do_all function.
- *
- * It sets the visibility on all the widgets based on the current state, and
- * moves the custom_widget if needed.
- */
- static void
- update_appearance (GtkFileChooserWidget *impl)
-@@ -7497,51 +7498,50 @@
-
- _gtk_file_system_model_set_filter (priv->recent_model, priv->current_filter);
- gtk_tree_sortable_set_default_sort_func (GTK_TREE_SORTABLE (priv->recent_model),
- recent_sort_func,
- impl, NULL);
- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (priv->recent_model),
- GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID,
- GTK_SORT_DESCENDING);
- }
-
- typedef struct
- {
- GtkFileChooserWidget *impl;
- GList *items;
- } RecentLoadData;
-
- static void
- recent_idle_cleanup (gpointer data)
- {
- RecentLoadData *load_data = data;
- GtkFileChooserWidget *impl = load_data->impl;
- GtkFileChooserWidgetPrivate *priv = impl->priv;
-
- gtk_tree_view_set_model (GTK_TREE_VIEW (priv->browse_files_tree_view),
- GTK_TREE_MODEL (priv->recent_model));
-- gtk_tree_view_set_search_column (GTK_TREE_VIEW (priv->browse_files_tree_view), -1);
-
- gtk_tree_view_column_set_sort_column_id (priv->list_name_column, -1);
- gtk_tree_view_column_set_sort_column_id (priv->list_time_column, -1);
- gtk_tree_view_column_set_sort_column_id (priv->list_size_column, -1);
- gtk_tree_view_column_set_sort_column_id (priv->list_location_column, -1);
-
- update_columns (impl, TRUE, _("Accessed"));
-
- set_busy_cursor (impl, FALSE);
-
- priv->load_recent_id = 0;
-
- g_free (load_data);
- }
-
- /* Populates the file system model with the GtkRecentInfo* items
- * in the provided list; frees the items
- */
- static void
- populate_model_with_recent_items (GtkFileChooserWidget *impl,
- GList *items)
- {
- GtkFileChooserWidgetPrivate *priv = impl->priv;
- gint limit;
- GList *l;
-diff -U 25 -r -Z -B ./org/gtk/gtkplacessidebar.c ./mod/gtk/gtkplacessidebar.c
---- ./org/gtk/gtkplacessidebar.c 2017-05-11 21:09:33.000000000 +0200
-+++ ./mod/gtk/gtkplacessidebar.c 2017-06-01 23:09:34.146885403 +0200
-@@ -574,50 +574,51 @@
- g_object_unref (home_dir);
- g_object_unref (location);
-
- return res;
- }
-
- static void
- open_home (GtkPlacesSidebar *sidebar)
- {
- const gchar *home_path;
- GFile *home_dir;
-
- home_path = g_get_home_dir ();
- if (!home_path)
- return;
-
- home_dir = g_file_new_for_path (home_path);
- emit_open_location (sidebar, home_dir, 0);
-
- g_object_unref (home_dir);
- }
-
- static void
- add_special_dirs (GtkPlacesSidebar *sidebar)
- {
-+ return;
- GList *dirs;
- gint index;
-
- dirs = NULL;
- for (index = 0; index < G_USER_N_DIRECTORIES; index++)
- {
- const gchar *path;
- GFile *root;
- GIcon *icon;
- gchar *name;
- gchar *mount_uri;
- gchar *tooltip;
-
- if (!_gtk_bookmarks_manager_get_is_xdg_dir_builtin (index))
- continue;
-
- path = g_get_user_special_dir (index);
-
- /* XDG resets special dirs to the home directory in case
- * it's not finiding what it expects. We don't want the home
- * to be added multiple times in that weird configuration.
- */
- if (path == NULL ||
- path_is_home_dir (path) ||
- g_list_find_custom (dirs, path, (GCompareFunc) g_strcmp0) != NULL)
-@@ -1227,51 +1228,51 @@
- tooltip = g_file_get_parse_name (root);
- add_place (sidebar, PLACES_MOUNTED_VOLUME,
- SECTION_COMPUTER,
- name, icon, mount_uri,
- NULL, NULL, mount, 0, tooltip);
- g_object_unref (root);
- g_object_unref (mount);
- g_object_unref (icon);
- g_free (name);
- g_free (mount_uri);
- g_free (tooltip);
- }
- g_list_free (mounts);
-
- /* add bookmarks */
- bookmarks = _gtk_bookmarks_manager_list_bookmarks (sidebar->bookmarks_manager);
-
- for (sl = bookmarks, index = 0; sl; sl = sl->next, index++)
- {
- gboolean is_native;
- BookmarkQueryClosure *clos;
-
- root = sl->data;
- is_native = g_file_is_native (root);
-
-- if (_gtk_bookmarks_manager_get_is_builtin (sidebar->bookmarks_manager, root))
-+ if (FALSE && _gtk_bookmarks_manager_get_is_builtin (sidebar->bookmarks_manager, root))
- continue;
-
- if (sidebar->local_only && !is_native)
- continue;
-
- clos = g_slice_new (BookmarkQueryClosure);
- clos->sidebar = sidebar;
- clos->index = index;
- clos->is_native = is_native;
- g_file_query_info_async (root,
- "standard::display-name,standard::symbolic-icon",
- G_FILE_QUERY_INFO_NONE,
- G_PRIORITY_DEFAULT,
- sidebar->cancellable,
- on_bookmark_query_info_complete,
- clos);
- }
-
- g_slist_free_full (bookmarks, g_object_unref);
-
- /* Add new bookmark row */
- new_bookmark_icon = g_themed_icon_new ("bookmark-new-symbolic");
- sidebar->new_bookmark_row = add_place (sidebar, PLACES_DROP_FEEDBACK,
- SECTION_BOOKMARKS,
- _("New bookmark"), new_bookmark_icon, NULL,
-@@ -3852,51 +3853,51 @@
- gtk_target_list_add_text_targets (sidebar->source_targets, 0);
-
- g_signal_connect (sidebar->list_box, "motion-notify-event",
- G_CALLBACK (on_motion_notify_event), sidebar);
- g_signal_connect (sidebar->list_box, "drag-begin",
- G_CALLBACK (drag_begin_callback), sidebar);
- g_signal_connect (sidebar->list_box, "drag-motion",
- G_CALLBACK (drag_motion_callback), sidebar);
- g_signal_connect (sidebar->list_box, "drag-data-get",
- G_CALLBACK (drag_data_get_callback), sidebar);
- g_signal_connect (sidebar->list_box, "drag-data-received",
- G_CALLBACK (drag_data_received_callback), sidebar);
- g_signal_connect (sidebar->list_box, "drag-drop",
- G_CALLBACK (drag_drop_callback), sidebar);
- g_signal_connect (sidebar->list_box, "drag-end",
- G_CALLBACK (drag_end_callback), sidebar);
- g_signal_connect (sidebar->list_box, "drag-leave",
- G_CALLBACK (drag_leave_callback), sidebar);
- sidebar->drag_row = NULL;
- sidebar->row_placeholder = NULL;
- sidebar->dragging_over = FALSE;
- sidebar->drag_data_info = DND_UNKNOWN;
-
- gtk_container_add (GTK_CONTAINER (sidebar), sidebar->list_box);
-
-- sidebar->hostname = g_strdup (_("Computer"));
-+ sidebar->hostname = g_strdup (_("File System"));
- sidebar->hostnamed_cancellable = g_cancellable_new ();
- g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM,
- G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES,
- NULL,
- "org.freedesktop.hostname1",
- "/org/freedesktop/hostname1",
- "org.freedesktop.hostname1",
- sidebar->hostnamed_cancellable,
- hostname_proxy_new_cb,
- sidebar);
-
- sidebar->drop_state = DROP_STATE_NORMAL;
-
- /* Don't bother trying to trace this across hierarchy changes... */
- sidebar->gtk_settings = gtk_settings_get_default ();
- g_signal_connect (sidebar->gtk_settings, "notify::gtk-shell-shows-desktop",
- G_CALLBACK (shell_shows_desktop_changed), sidebar);
- g_object_get (sidebar->gtk_settings, "gtk-shell-shows-desktop", &show_desktop, NULL);
- sidebar->show_desktop = show_desktop;
-
- /* populate the sidebar */
- update_places (sidebar);
-
- add_actions (sidebar);
- }
-diff -U 25 -r -Z -B ./org/gtk/ui/gtkfilechooserwidget.ui ./mod/gtk/ui/gtkfilechooserwidget.ui
---- ./org/gtk/ui/gtkfilechooserwidget.ui 2017-05-11 21:09:33.000000000 +0200
-+++ ./mod/gtk/ui/gtkfilechooserwidget.ui 2017-06-02 03:00:47.383723964 +0200
-@@ -1,44 +1,45 @@
- <?xml version="1.0" encoding="UTF-8"?>
- <interface domain="gtk30">
- <!-- interface-requires gtk+ 3.10 -->
- <!-- interface-requires gtkprivate 3.10 -->
- <template class="GtkFileChooserWidget" parent="GtkBox">
- <property name="orientation">vertical</property>
- <child>
- <object class="GtkBox" id="browse_widgets_box">
- <property name="visible">1</property>
- <property name="orientation">vertical</property>
- <child>
- <object class="GtkPaned" id="browse_widgets_hpaned">
- <property name="visible">1</property>
- <child>
- <object class="GtkPlacesSidebar" id="places_sidebar">
- <property name="visible">1</property>
- <property name="hscrollbar-policy">never</property>
- <property name="local-only">1</property>
-- <property name="show-other-locations">1</property>
-+ <property name="show-other-locations">0</property>
-+ <property name="show-trash">0</property>
- <style>
- <class name="sidebar"/>
- </style>
- <signal name="open-location" handler="places_sidebar_open_location_cb" swapped="no"/>
- <signal name="show-error-message" handler="places_sidebar_show_error_message_cb" swapped="no"/>
- <signal name="show-other-locations-with-flags" handler="places_sidebar_show_other_locations_with_flags_cb" swapped="no"/>
- </object>
- <packing>
- <property name="resize">0</property>
- <property name="shrink">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox">
- <property name="visible">1</property>
- <property name="orientation">vertical</property>
- <child>
- <object class="GtkRevealer" id="browse_header_revealer">
- <property name="visible">1</property>
- <property name="hexpand">1</property>
- <child>
- <object class="GtkBox">
- <property name="visible">1</property>
- <property name="name">pathbarbox</property>
- <property name="orientation">vertical</property>
-@@ -140,51 +141,52 @@
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="list_and_preview_box">
- <property name="visible">1</property>
- <property name="spacing">12</property>
- <child>
- <object class="GtkStack" id="browse_files_stack">
- <property name="visible">1</property>
- <property name="transition-type">crossfade</property>
- <style>
- <class name="view"/>
- </style>
- <child>
- <object class="GtkBox">
- <property name="visible">1</property>
- <property name="orientation">vertical</property>
- <child>
- <object class="GtkScrolledWindow" id="browse_files_swin">
- <property name="visible">1</property>
- <property name="hscrollbar-policy">never</property>
- <child>
- <object class="GtkTreeView" id="browse_files_tree_view">
- <property name="visible">1</property>
- <property name="has-tooltip">1</property>
-- <property name="enable-search">0</property>
-+ <property name="enable-search">1</property>
-+ <property name="search-column">0</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="browse_files_tree_view-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes">Files</property>
- </object>
- </child>
- <signal name="button-press-event" handler="list_button_press_event_cb" swapped="no"/>
- <signal name="drag-data-received" handler="file_list_drag_data_received_cb" swapped="no"/>
- <signal name="drag-drop" handler="file_list_drag_drop_cb" swapped="no"/>
- <signal name="drag-begin" handler="file_list_drag_begin_cb" swapped="no"/>
- <signal name="drag-motion" handler="file_list_drag_motion_cb" swapped="no"/>
- <signal name="drag-end" handler="file_list_drag_end_cb" swapped="no"/>
- <signal name="key-press-event" handler="browse_files_key_press_event_cb" swapped="no"/>
- <signal name="popup-menu" handler="list_popup_menu_cb" swapped="no"/>
- <signal name="query-tooltip" handler="file_list_query_tooltip_cb" swapped="no"/>
- <signal name="row-activated" handler="list_row_activated" swapped="no"/>
- <signal name="cursor-changed" handler="list_cursor_changed" swapped="no"/>
- <child internal-child="selection">
- <object class="GtkTreeSelection" id="treeview-selection2">
- <signal name="changed" handler="list_selection_changed" swapped="no"/>
- </object>
- </child>
- <child>
- <object class="GtkTreeViewColumn" id="list_name_column">
- <property name="title" translatable="yes">Name</property>
- <property name="resizable">1</property>
diff --git a/others.patch b/others.patch
deleted file mode 100644
index 6ab483cf82bd..000000000000
--- a/others.patch
+++ /dev/null
@@ -1,264 +0,0 @@
-diff -U 25 -r -Z -B ./org/gtk/gtkmenubutton.c ./mod/gtk/gtkmenubutton.c
---- ./org/gtk/gtkmenubutton.c 2017-05-11 21:09:33.000000000 +0200
-+++ ./mod/gtk/gtkmenubutton.c 2017-06-02 03:09:05.707081988 +0200
-@@ -801,51 +801,51 @@
- * actions will be connected as documented for these functions.
- *
- * If #GtkMenuButton:popup or #GtkMenuButton:popover are already set,
- * their content will be lost and replaced by the newly created popup.
- *
- * Since: 3.6
- */
- void
- gtk_menu_button_set_menu_model (GtkMenuButton *menu_button,
- GMenuModel *menu_model)
- {
- GtkMenuButtonPrivate *priv;
-
- g_return_if_fail (GTK_IS_MENU_BUTTON (menu_button));
- g_return_if_fail (G_IS_MENU_MODEL (menu_model) || menu_model == NULL);
-
- priv = menu_button->priv;
-
- g_object_freeze_notify (G_OBJECT (menu_button));
-
- if (menu_model)
- g_object_ref (menu_model);
-
- if (menu_model)
- {
-- if (priv->use_popover)
-+ if (FALSE && priv->use_popover)
- {
- GtkWidget *popover;
-
- popover = gtk_popover_new_from_model (GTK_WIDGET (menu_button), menu_model);
- gtk_menu_button_set_popover (menu_button, popover);
- }
- else
- {
- GtkWidget *menu;
-
- menu = gtk_menu_new_from_model (menu_model);
- gtk_widget_show_all (menu);
- gtk_menu_button_set_popup (menu_button, menu);
- }
- }
- else
- {
- gtk_menu_button_set_popup (menu_button, NULL);
- gtk_menu_button_set_popover (menu_button, NULL);
- }
-
- priv->model = menu_model;
- g_object_notify_by_pspec (G_OBJECT (menu_button), menu_button_props[PROP_MENU_MODEL]);
-
- g_object_thaw_notify (G_OBJECT (menu_button));
-diff -U 25 -r -Z -B ./org/gtk/gtkscrolledwindow.c ./mod/gtk/gtkscrolledwindow.c
---- ./org/gtk/gtkscrolledwindow.c 2017-05-11 21:09:33.000000000 +0200
-+++ ./mod/gtk/gtkscrolledwindow.c 2017-06-02 03:09:05.713748655 +0200
-@@ -4378,51 +4378,51 @@
- static void
- gtk_scrolled_window_sync_use_indicators (GtkScrolledWindow *scrolled_window)
- {
- GtkScrolledWindowPrivate *priv = scrolled_window->priv;
-
- if (priv->use_indicators)
- {
- setup_indicator (scrolled_window, &priv->hindicator, priv->hscrollbar);
- setup_indicator (scrolled_window, &priv->vindicator, priv->vscrollbar);
- }
- else
- {
- remove_indicator (scrolled_window, &priv->hindicator);
- remove_indicator (scrolled_window, &priv->vindicator);
- }
- }
-
- static void
- gtk_scrolled_window_update_use_indicators (GtkScrolledWindow *scrolled_window)
- {
- GtkScrolledWindowPrivate *priv = scrolled_window->priv;
- gboolean use_indicators;
-
- use_indicators = priv->overlay_scrolling;
-
-- if (g_strcmp0 (g_getenv ("GTK_OVERLAY_SCROLLING"), "0") == 0)
-+ if (TRUE || g_strcmp0 (g_getenv ("GTK_OVERLAY_SCROLLING"), "0") == 0)
- use_indicators = FALSE;
-
- if (priv->use_indicators != use_indicators)
- {
- priv->use_indicators = use_indicators;
-
- if (gtk_widget_get_realized (GTK_WIDGET (scrolled_window)))
- gtk_scrolled_window_sync_use_indicators (scrolled_window);
-
- gtk_widget_queue_resize (GTK_WIDGET (scrolled_window));
- }
- }
-
- static void
- gtk_scrolled_window_realize (GtkWidget *widget)
- {
- GtkScrolledWindow *scrolled_window = GTK_SCROLLED_WINDOW (widget);
- GtkScrolledWindowPrivate *priv = scrolled_window->priv;
- GdkWindow *window;
- GtkAllocation allocation;
- GdkWindowAttr attributes;
- gint attributes_mask;
-
- gtk_widget_get_allocation (widget, &allocation);
-
-diff -U 25 -r -Z -B ./org/gtk/gtksettings.c ./mod/gtk/gtksettings.c
---- ./org/gtk/gtksettings.c 2017-05-11 21:09:33.000000000 +0200
-+++ ./mod/gtk/gtksettings.c 2017-06-02 03:09:05.713748655 +0200
-@@ -1701,51 +1701,51 @@
- * 'PRIMARY' clipboard content at the cursor location.
- *
- * Since: 3.4
- */
- result = settings_install_property_parser (class,
- g_param_spec_boolean ("gtk-enable-primary-paste",
- P_("Enable primary paste"),
- P_("Whether a middle click on a mouse should paste the 'PRIMARY' clipboard content at the cursor location."),
- TRUE,
- GTK_PARAM_READWRITE),
- NULL);
- g_assert (result == PROP_ENABLE_PRIMARY_PASTE);
-
- /**
- * GtkSettings:gtk-recent-files-enabled:
- *
- * Whether GTK+ should keep track of items inside the recently used
- * resources list. If set to %FALSE, the list will always be empty.
- *
- * Since: 3.8
- */
- result = settings_install_property_parser (class,
- g_param_spec_boolean ("gtk-recent-files-enabled",
- P_("Recent Files Enabled"),
- P_("Whether GTK+ remembers recent files"),
-- TRUE,
-+ FALSE,
- GTK_PARAM_READWRITE),
- NULL);
- g_assert (result == PROP_RECENT_FILES_ENABLED);
-
- /**
- * GtkSettings:gtk-long-press-time:
- *
- * The time for a button or touch press to be considered a "long press".
- *
- * Since: 3.14
- */
- result = settings_install_property_parser (class,
- g_param_spec_uint ("gtk-long-press-time",
- P_("Long press time"),
- P_("Time for a button/touch press to be considered a long press (in milliseconds)"),
- 0, G_MAXINT, 500,
- GTK_PARAM_READWRITE),
- NULL);
- g_assert (result == PROP_LONG_PRESS_TIME);
-
- /**
- * GtkSettings:gtk-keynav-use-caret:
- *
- * Whether GTK+ should make sure that text can be navigated with
- * a caret, even if it is not editable. This is useful when using
-diff -U 25 -r -Z -B ./org/gtk/gtkwindow.c ./mod/gtk/gtkwindow.c
---- ./org/gtk/gtkwindow.c 2017-05-11 21:09:33.000000000 +0200
-+++ ./mod/gtk/gtkwindow.c 2017-06-02 03:09:05.717081989 +0200
-@@ -129,51 +129,51 @@
- *
- * # CSS nodes
- *
- * |[<!-- language="plain" -->
- * window.background
- * ├── decoration
- * ├── <titlebar child>.titlebar [.default-decoration]
- * ╰── <child>
- * ]|
- *
- * GtkWindow has a main CSS node with name window and style class .background,
- * and a subnode with name decoration.
- *
- * Style classes that are typically used with the main CSS node are .csd (when
- * client-side decorations are in use), .solid-csd (for client-side decorations
- * without invisible borders), .ssd (used by mutter when rendering server-side
- * decorations). GtkWindow also represents window states with the following
- * style classes on the main node: .tiled, .maximized, .fullscreen. Specialized
- * types of window often add their own discriminating style classes, such as
- * .popup or .tooltip.
- *
- * GtkWindow adds the .titlebar and .default-decoration style classes to the
- * widget that is added as a titlebar child.
- */
-
--#define MNEMONICS_DELAY 300 /* ms */
-+#define MNEMONICS_DELAY 0 /* ms */
- #define NO_CONTENT_CHILD_NAT 200
- /* In case the content (excluding header bar and shadows) of the window
- * would be empty, either because there is no visible child widget or only an
- * empty container widget, we use NO_CONTENT_CHILD_NAT as natural width/height
- * instead.
- */
-
- typedef struct _GtkWindowPopover GtkWindowPopover;
-
- struct _GtkWindowPopover
- {
- GtkWidget *widget;
- GtkWidget *parent;
- GdkWindow *window;
- GtkPositionType pos;
- cairo_rectangle_int_t rect;
- gulong unmap_id;
- guint clamp_allocation : 1;
- };
-
- struct _GtkWindowPrivate
- {
- GtkMnemonicHash *mnemonic_hash;
-
- GtkWidget *attach_widget;
-diff -U 25 -r -Z -B ./org/gtk/ui/gtkstatusbar.ui ./mod/gtk/ui/gtkstatusbar.ui
---- ./org/gtk/ui/gtkstatusbar.ui 2017-05-11 21:09:33.000000000 +0200
-+++ ./mod/gtk/ui/gtkstatusbar.ui 2017-06-02 03:09:05.720415322 +0200
-@@ -1,34 +1,34 @@
- <?xml version="1.0" encoding="UTF-8"?>
- <interface domain="gtk30">
- <!-- interface-requires gtk+ 3.10 -->
- <template class="GtkStatusbar" parent="GtkBox">
- <property name="spacing">2</property>
- <property name="margin-start">10</property>
- <property name="margin-end">10</property>
-- <property name="margin-top">6</property>
-- <property name="margin-bottom">6</property>
-+ <property name="margin-top">1</property>
-+ <property name="margin-bottom">1</property>
- <child>
- <object class="GtkFrame" id="frame">
- <property name="visible">1</property>
- <property name="shadow-type">none</property>
- <child>
- <object class="GtkBox" id="message_area">
- <property name="visible">1</property>
- <property name="spacing">4</property>
- <property name="margin">4</property>
- <child>
- <object class="GtkLabel" id="label">
- <property name="visible">1</property>
- <property name="halign">start</property>
- <property name="valign">center</property>
- <property name="ellipsize">end</property>
- <property name="single-line-mode">1</property>
- </object>
- </child>
- </object>
- </child>
- <child type="label_item"/>
- </object>
- <packing>
- <property name="expand">1</property>
- </packing>
diff --git a/p__file-chooser__places-sidebar.patch b/p__file-chooser__places-sidebar.patch
new file mode 100644
index 000000000000..2708b5c4064c
--- /dev/null
+++ b/p__file-chooser__places-sidebar.patch
@@ -0,0 +1,124 @@
+diff -U 10 -r -Z -B ./org/gtk/gtkfilechooserwidget.c ./mod/gtk/gtkfilechooserwidget.c
+--- ./org/gtk/gtkfilechooserwidget.c 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/gtkfilechooserwidget.c 2017-06-18 23:16:33.350844489 +0200
+@@ -3954,21 +3954,21 @@
+ }
+
+ static gboolean
+ recent_files_setting_is_enabled (GtkFileChooserWidget *impl)
+ {
+ GtkSettings *settings;
+ gboolean enabled;
+
+ settings = gtk_widget_get_settings (GTK_WIDGET (impl));
+ g_object_get (settings, "gtk-recent-files-enabled", &enabled, NULL);
+- return enabled;
++ return FALSE;
+ }
+
+ /* Sets the file chooser to showing Recent Files or $CWD, depending on the
+ * user’s settings.
+ */
+ static void
+ set_startup_mode (GtkFileChooserWidget *impl)
+ {
+ GtkFileChooserWidgetPrivate *priv = impl->priv;
+ GtkRevealerTransitionType revealer_transition;
+diff -U 10 -r -Z -B ./org/gtk/gtkplacessidebar.c ./mod/gtk/gtkplacessidebar.c
+--- ./org/gtk/gtkplacessidebar.c 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/gtkplacessidebar.c 2017-06-18 23:15:17.254174052 +0200
+@@ -589,20 +589,21 @@
+
+ home_dir = g_file_new_for_path (home_path);
+ emit_open_location (sidebar, home_dir, 0);
+
+ g_object_unref (home_dir);
+ }
+
+ static void
+ add_special_dirs (GtkPlacesSidebar *sidebar)
+ {
++ return;
+ GList *dirs;
+ gint index;
+
+ dirs = NULL;
+ for (index = 0; index < G_USER_N_DIRECTORIES; index++)
+ {
+ const gchar *path;
+ GFile *root;
+ GIcon *icon;
+ gchar *name;
+@@ -1242,22 +1243,20 @@
+ bookmarks = _gtk_bookmarks_manager_list_bookmarks (sidebar->bookmarks_manager);
+
+ for (sl = bookmarks, index = 0; sl; sl = sl->next, index++)
+ {
+ gboolean is_native;
+ BookmarkQueryClosure *clos;
+
+ root = sl->data;
+ is_native = g_file_is_native (root);
+
+- if (_gtk_bookmarks_manager_get_is_builtin (sidebar->bookmarks_manager, root))
+- continue;
+
+ if (sidebar->local_only && !is_native)
+ continue;
+
+ clos = g_slice_new (BookmarkQueryClosure);
+ clos->sidebar = sidebar;
+ clos->index = index;
+ clos->is_native = is_native;
+ g_file_query_info_async (root,
+ "standard::display-name,standard::symbolic-icon",
+@@ -3867,21 +3866,21 @@
+ G_CALLBACK (drag_end_callback), sidebar);
+ g_signal_connect (sidebar->list_box, "drag-leave",
+ G_CALLBACK (drag_leave_callback), sidebar);
+ sidebar->drag_row = NULL;
+ sidebar->row_placeholder = NULL;
+ sidebar->dragging_over = FALSE;
+ sidebar->drag_data_info = DND_UNKNOWN;
+
+ gtk_container_add (GTK_CONTAINER (sidebar), sidebar->list_box);
+
+- sidebar->hostname = g_strdup (_("Computer"));
++ sidebar->hostname = g_strdup (_("File System"));
+ sidebar->hostnamed_cancellable = g_cancellable_new ();
+ g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM,
+ G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES,
+ NULL,
+ "org.freedesktop.hostname1",
+ "/org/freedesktop/hostname1",
+ "org.freedesktop.hostname1",
+ sidebar->hostnamed_cancellable,
+ hostname_proxy_new_cb,
+ sidebar);
+diff -U 10 -r -Z -B ./org/gtk/ui/gtkfilechooserwidget.ui ./mod/gtk/ui/gtkfilechooserwidget.ui
+--- ./org/gtk/ui/gtkfilechooserwidget.ui 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/ui/gtkfilechooserwidget.ui 2017-06-18 23:15:17.257507386 +0200
+@@ -9,21 +9,22 @@
+ <property name="visible">1</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkPaned" id="browse_widgets_hpaned">
+ <property name="visible">1</property>
+ <child>
+ <object class="GtkPlacesSidebar" id="places_sidebar">
+ <property name="visible">1</property>
+ <property name="hscrollbar-policy">never</property>
+ <property name="local-only">1</property>
+- <property name="show-other-locations">1</property>
++ <property name="show-other-locations">0</property>
++ <property name="show-trash">0</property>
+ <style>
+ <class name="sidebar"/>
+ </style>
+ <signal name="open-location" handler="places_sidebar_open_location_cb" swapped="no"/>
+ <signal name="show-error-message" handler="places_sidebar_show_error_message_cb" swapped="no"/>
+ <signal name="show-other-locations-with-flags" handler="places_sidebar_show_other_locations_with_flags_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="resize">0</property>
+ <property name="shrink">0</property>
diff --git a/p__file-chooser__single-click.patch b/p__file-chooser__single-click.patch
new file mode 100644
index 000000000000..b6e372c0ede7
--- /dev/null
+++ b/p__file-chooser__single-click.patch
@@ -0,0 +1,26 @@
+diff -U 10 -r -Z -B ./org/gtk/gtkfilechooserwidget.c ./mod/gtk/gtkfilechooserwidget.c
+--- ./org/gtk/gtkfilechooserwidget.c 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/gtkfilechooserwidget.c 2017-06-18 19:21:13.476811543 +0200
+@@ -2415,21 +2415,21 @@
+ gboolean modify, extend, is_touchscreen;
+
+ if (in_press)
+ return FALSE;
+
+ device = gdk_event_get_source_device ((GdkEvent *) event);
+ is_touchscreen = gtk_simulate_touchscreen () ||
+ gdk_device_get_source (device) == GDK_SOURCE_TOUCHSCREEN;
+
+ get_selection_modifiers (widget, event, &modify, &extend);
+- if (!is_touchscreen &&
++ if (FALSE && !is_touchscreen &&
+ !modify && !extend &&
+ event->type == GDK_BUTTON_PRESS &&
+ event->button == GDK_BUTTON_PRIMARY &&
+ gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (priv->browse_files_tree_view),
+ event->x, event->y,
+ &path, &column, NULL, NULL))
+ {
+ GtkTreeSelection *selection;
+
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
diff --git a/p__file-chooser__typeahead.patch b/p__file-chooser__typeahead.patch
new file mode 100644
index 000000000000..99947b24044c
--- /dev/null
+++ b/p__file-chooser__typeahead.patch
@@ -0,0 +1,123 @@
+diff -U 10 -r -Z -B ./org/gtk/gtkfilechooserdialog.c ./mod/gtk/gtkfilechooserdialog.c
+--- ./org/gtk/gtkfilechooserdialog.c 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/gtkfilechooserdialog.c 2017-06-18 19:25:59.210159033 +0200
+@@ -487,22 +487,20 @@
+ GtkWidget *image;
+ GtkWidget *header;
+
+ button = gtk_toggle_button_new ();
+ gtk_widget_set_focus_on_click (button, FALSE);
+ gtk_widget_set_valign (button, GTK_ALIGN_CENTER);
+ image = gtk_image_new_from_icon_name ("edit-find-symbolic", GTK_ICON_SIZE_MENU);
+ gtk_container_add (GTK_CONTAINER (button), image);
+ gtk_style_context_add_class (gtk_widget_get_style_context (button), "image-button");
+ gtk_style_context_remove_class (gtk_widget_get_style_context (button), "text-button");
+- gtk_widget_show (image);
+- gtk_widget_show (button);
+
+ header = gtk_dialog_get_header_bar (GTK_DIALOG (dialog));
+ gtk_header_bar_pack_end (GTK_HEADER_BAR (header), button);
+
+ g_object_bind_property (button, "active",
+ dialog->priv->widget, "search-mode",
+ G_BINDING_BIDIRECTIONAL);
+ g_object_bind_property (dialog->priv->widget, "subtitle",
+ header, "subtitle",
+ G_BINDING_SYNC_CREATE);
+diff -U 10 -r -Z -B ./org/gtk/gtkfilechooserwidget.c ./mod/gtk/gtkfilechooserwidget.c
+--- ./org/gtk/gtkfilechooserwidget.c 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/gtkfilechooserwidget.c 2017-06-18 19:27:16.950162886 +0200
+@@ -2471,21 +2471,20 @@
+ } ColumnMap;
+
+ /* Sets the sort column IDs for the file list; needs to be done whenever we
+ * change the model on the treeview.
+ */
+ static void
+ file_list_set_sort_column_ids (GtkFileChooserWidget *impl)
+ {
+ GtkFileChooserWidgetPrivate *priv = impl->priv;
+
+- gtk_tree_view_set_search_column (GTK_TREE_VIEW (priv->browse_files_tree_view), -1);
+
+ gtk_tree_view_column_set_sort_column_id (priv->list_name_column, MODEL_COL_NAME);
+ gtk_tree_view_column_set_sort_column_id (priv->list_time_column, MODEL_COL_TIME);
+ gtk_tree_view_column_set_sort_column_id (priv->list_size_column, MODEL_COL_SIZE);
+ gtk_tree_view_column_set_sort_column_id (priv->list_location_column, MODEL_COL_LOCATION_TEXT);
+ }
+
+ static gboolean
+ file_list_query_tooltip_cb (GtkWidget *widget,
+ gint x,
+@@ -3241,20 +3240,22 @@
+
+ case OPERATION_MODE_OTHER_LOCATIONS:
+ operation_mode_set_other_locations (impl);
+ break;
+
+ case OPERATION_MODE_BROWSE:
+ operation_mode_set_browse (impl);
+ break;
+
+ case OPERATION_MODE_SEARCH:
++ priv->operation_mode = old_mode;
++ return;
+ operation_mode_set_search (impl);
+ break;
+
+ case OPERATION_MODE_RECENT:
+ operation_mode_set_recent (impl);
+ break;
+
+ default:
+ g_assert_not_reached ();
+ return;
+@@ -7512,21 +7513,20 @@
+
+ static void
+ recent_idle_cleanup (gpointer data)
+ {
+ RecentLoadData *load_data = data;
+ GtkFileChooserWidget *impl = load_data->impl;
+ GtkFileChooserWidgetPrivate *priv = impl->priv;
+
+ gtk_tree_view_set_model (GTK_TREE_VIEW (priv->browse_files_tree_view),
+ GTK_TREE_MODEL (priv->recent_model));
+- gtk_tree_view_set_search_column (GTK_TREE_VIEW (priv->browse_files_tree_view), -1);
+
+ gtk_tree_view_column_set_sort_column_id (priv->list_name_column, -1);
+ gtk_tree_view_column_set_sort_column_id (priv->list_time_column, -1);
+ gtk_tree_view_column_set_sort_column_id (priv->list_size_column, -1);
+ gtk_tree_view_column_set_sort_column_id (priv->list_location_column, -1);
+
+ update_columns (impl, TRUE, _("Accessed"));
+
+ set_busy_cursor (impl, FALSE);
+
+diff -U 10 -r -Z -B ./org/gtk/ui/gtkfilechooserwidget.ui ./mod/gtk/ui/gtkfilechooserwidget.ui
+--- ./org/gtk/ui/gtkfilechooserwidget.ui 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/ui/gtkfilechooserwidget.ui 2017-06-18 19:28:50.943500877 +0200
+@@ -155,21 +155,22 @@
+ <property name="visible">1</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkScrolledWindow" id="browse_files_swin">
+ <property name="visible">1</property>
+ <property name="hscrollbar-policy">never</property>
+ <child>
+ <object class="GtkTreeView" id="browse_files_tree_view">
+ <property name="visible">1</property>
+ <property name="has-tooltip">1</property>
+- <property name="enable-search">0</property>
++ <property name="enable-search">1</property>
++ <property name="search-column">0</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="browse_files_tree_view-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes">Files</property>
+ </object>
+ </child>
+ <signal name="button-press-event" handler="list_button_press_event_cb" swapped="no"/>
+ <signal name="drag-data-received" handler="file_list_drag_data_received_cb" swapped="no"/>
+ <signal name="drag-drop" handler="file_list_drag_drop_cb" swapped="no"/>
+ <signal name="drag-begin" handler="file_list_drag_begin_cb" swapped="no"/>
+ <signal name="drag-motion" handler="file_list_drag_motion_cb" swapped="no"/>
diff --git a/p__headerbar__buttons.patch b/p__headerbar__buttons.patch
new file mode 100644
index 000000000000..aeed1c7f65bc
--- /dev/null
+++ b/p__headerbar__buttons.patch
@@ -0,0 +1,50 @@
+diff -U 10 -r -Z -B ./org/gtk/gtkheaderbar.c ./mod/gtk/gtkheaderbar.c
+--- ./org/gtk/gtkheaderbar.c 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/gtkheaderbar.c 2017-06-18 20:02:34.716934483 +0200
+@@ -316,21 +316,21 @@
+
+ if (!shown_by_shell && gtk_window_get_application (window))
+ menu = gtk_application_get_app_menu (gtk_window_get_application (window));
+ else
+ menu = NULL;
+
+ is_sovereign_window = (!gtk_window_get_modal (window) &&
+ gtk_window_get_transient_for (window) == NULL &&
+ gtk_window_get_type_hint (window) == GDK_WINDOW_TYPE_HINT_NORMAL);
+
+- tokens = g_strsplit (layout_desc, ":", 2);
++ tokens = g_strsplit ("menu", ":", 2);
+ if (tokens)
+ {
+ for (i = 0; i < 2; i++)
+ {
+ GtkWidget *box;
+ GtkWidget *separator;
+ int n_children = 0;
+
+ if (tokens[i] == NULL)
+ break;
+@@ -377,22 +377,21 @@
+ gtk_style_context_add_class (gtk_widget_get_style_context (button), "titlebutton");
+ gtk_style_context_add_class (gtk_widget_get_style_context (button), "appmenu");
+ image = gtk_image_new ();
+ gtk_container_add (GTK_CONTAINER (button), image);
+ gtk_widget_set_can_focus (button, FALSE);
+ gtk_widget_show_all (button);
+ accessible = gtk_widget_get_accessible (button);
+ if (GTK_IS_ACCESSIBLE (accessible))
+ atk_object_set_name (accessible, _("Application menu"));
+ priv->titlebar_icon = image;
+- if (!_gtk_header_bar_update_window_icon (bar, window))
+- gtk_image_set_from_icon_name (GTK_IMAGE (priv->titlebar_icon), "process-stop-symbolic", GTK_ICON_SIZE_MENU);
++ gtk_image_set_from_icon_name (GTK_IMAGE (priv->titlebar_icon), "pan-down-symbolic", GTK_ICON_SIZE_MENU);
+ }
+ else if (strcmp (t[j], "minimize") == 0 &&
+ is_sovereign_window)
+ {
+ button = gtk_button_new ();
+ gtk_widget_set_valign (button, GTK_ALIGN_CENTER);
+ gtk_style_context_add_class (gtk_widget_get_style_context (button), "titlebutton");
+ gtk_style_context_add_class (gtk_widget_get_style_context (button), "minimize");
+ image = gtk_image_new_from_icon_name ("window-minimize-symbolic", GTK_ICON_SIZE_MENU);
+ g_object_set (image, "use-fallback", TRUE, NULL);
diff --git a/p__headerbar__disable-csd.patch b/p__headerbar__disable-csd.patch
new file mode 100644
index 000000000000..1773e1d3a33c
--- /dev/null
+++ b/p__headerbar__disable-csd.patch
@@ -0,0 +1,69 @@
+diff -U 10 -r -Z -B ./org/gtk/gtkwindow.c ./mod/gtk/gtkwindow.c
+--- ./org/gtk/gtkwindow.c 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/gtkwindow.c 2017-06-18 21:34:15.757207050 +0200
+@@ -4113,20 +4113,21 @@
+ return FALSE;
+ }
+ #endif
+
+ return TRUE;
+ }
+
+ static void
+ gtk_window_enable_csd (GtkWindow *window)
+ {
++ return;
+ GtkWindowPrivate *priv = window->priv;
+ GtkWidget *widget = GTK_WIDGET (window);
+ GdkVisual *visual;
+
+ /* We need a visual with alpha for client shadows */
+ if (priv->use_client_shadow)
+ {
+ visual = gdk_screen_get_rgba_visual (gtk_widget_get_screen (widget));
+ if (visual != NULL)
+ gtk_widget_set_visual (widget, visual);
+@@ -6060,20 +6061,21 @@
+ _gtk_window_request_csd (GtkWindow *window)
+ {
+ GtkWindowPrivate *priv = window->priv;
+
+ priv->csd_requested = TRUE;
+ }
+
+ static gboolean
+ gtk_window_should_use_csd (GtkWindow *window)
+ {
++ return FALSE;
+ GtkWindowPrivate *priv = window->priv;
+ const gchar *csd_env;
+
+ if (priv->csd_requested)
+ return TRUE;
+
+ if (!priv->decorated)
+ return FALSE;
+
+ if (priv->type == GTK_WINDOW_POPUP)
+@@ -9086,20 +9088,21 @@
+ g_signal_connect (G_OBJECT (menuitem), "activate",
+ G_CALLBACK (close_window_clicked), window);
+ gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), menuitem);
+ gtk_menu_popup_at_pointer (GTK_MENU (priv->popup_menu), (GdkEvent *) event);
+ }
+
+ static void
+ gtk_window_do_popup (GtkWindow *window,
+ GdkEventButton *event)
+ {
++ return;
+ if (!gdk_window_show_window_menu (_gtk_widget_get_window (GTK_WIDGET (window)),
+ (GdkEvent *) event))
+ gtk_window_do_popup_fallback (window, event);
+ }
+
+ /*********************************
+ * Functions related to resizing *
+ *********************************/
+
+ static void
diff --git a/p__headerbar__title.patch b/p__headerbar__title.patch
new file mode 100644
index 000000000000..37230c23187b
--- /dev/null
+++ b/p__headerbar__title.patch
@@ -0,0 +1,53 @@
+diff -U 10 -r -Z -B ./org/gtk/gtkheaderbar.c ./mod/gtk/gtkheaderbar.c
+--- ./org/gtk/gtkheaderbar.c 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/gtkheaderbar.c 2017-06-18 19:58:02.796921011 +0200
+@@ -1277,22 +1277,21 @@
+ gchar *new_title;
+
+ g_return_if_fail (GTK_IS_HEADER_BAR (bar));
+
+ new_title = g_strdup (title);
+ g_free (priv->title);
+ priv->title = new_title;
+
+ if (priv->title_label != NULL)
+ {
+- gtk_label_set_label (GTK_LABEL (priv->title_label), priv->title);
+- gtk_widget_queue_resize (GTK_WIDGET (bar));
++ gtk_widget_set_visible (GTK_WIDGET (priv->title_label), FALSE);
+ }
+
+ g_object_notify_by_pspec (G_OBJECT (bar), header_bar_props[PROP_TITLE]);
+ }
+
+ /**
+ * gtk_header_bar_get_title:
+ * @bar: a #GtkHeaderBar
+ *
+ * Retrieves the title of the header. See gtk_header_bar_set_title().
+diff -U 10 -r -Z -B ./org/gtk/gtkstylecontext.h ./mod/gtk/gtkstylecontext.h
+--- ./org/gtk/gtkstylecontext.h 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/gtkstylecontext.h 2017-06-18 19:58:44.023589720 +0200
+@@ -811,21 +811,21 @@
+ /**
+ * GTK_STYLE_CLASS_SUBTITLE:
+ *
+ * A CSS class used for the subtitle label in a titlebar in
+ * a toplevel window.
+ *
+ * Refer to individual widget documentation for used style classes.
+ *
+ * Since: 3.14
+ */
+-#define GTK_STYLE_CLASS_SUBTITLE "subtitle"
++#define GTK_STYLE_CLASS_SUBTITLE "title"
+
+ /**
+ * GTK_STYLE_CLASS_NEEDS_ATTENTION:
+ *
+ * A CSS class used when an element needs the user attention,
+ * for instance a button in a stack switcher corresponding to
+ * a hidden page that changed state.
+ *
+ * Refer to individual widget documentation for used style classes.
+ *
diff --git a/icons.patch b/p__icons__buttons.patch
index 848d0e21248c..bbd3a3015f5a 100644
--- a/icons.patch
+++ b/p__icons__buttons.patch
@@ -1,22 +1,7 @@
-diff -U 25 -r -Z -B ./org/gtk/gtkbutton.c ./mod/gtk/gtkbutton.c
+diff -U 10 -r -Z -B ./org/gtk/gtkbutton.c ./mod/gtk/gtkbutton.c
--- ./org/gtk/gtkbutton.c 2017-05-11 21:09:33.000000000 +0200
-+++ ./mod/gtk/gtkbutton.c 2017-06-03 00:58:36.244202195 +0200
-@@ -2149,50 +2149,71 @@
- for_size,
- minimum_size, natural_size,
- minimum_baseline, natural_baseline);
- }
-
- /**
- * gtk_button_set_label:
- * @button: a #GtkButton
- * @label: a string
- *
- * Sets the text of the label of the button to @str. This text is
- * also used to select the stock item if gtk_button_set_use_stock()
- * is used.
- *
- * This will also clear any previously set labels.
++++ ./mod/gtk/gtkbutton.c 2017-06-18 20:08:57.103620097 +0200
+@@ -2164,20 +2164,41 @@
*/
void
gtk_button_set_label (GtkButton *button,
@@ -58,18 +43,3 @@ diff -U 25 -r -Z -B ./org/gtk/gtkbutton.c ./mod/gtk/gtkbutton.c
g_object_notify_by_pspec (G_OBJECT (button), props[PROP_LABEL]);
}
-
- /**
- * gtk_button_get_label:
- * @button: a #GtkButton
- *
- * Fetches the text from the label of the button, as set by
- * gtk_button_set_label(). If the label text has not
- * been set the return value will be %NULL. This will be the
- * case if you create an empty button with gtk_button_new() to
- * use as a container.
- *
- * Returns: The text of the label widget. This string is owned
- * by the widget and must not be modified or freed.
- */
- const gchar *
diff --git a/p__icons__file-chooser.patch b/p__icons__file-chooser.patch
new file mode 100644
index 000000000000..a59b582ddc04
--- /dev/null
+++ b/p__icons__file-chooser.patch
@@ -0,0 +1,578 @@
+diff -U 10 -r -Z -B ./org/gtk/gtkfilesystem.c ./mod/gtk/gtkfilesystem.c
+--- ./org/gtk/gtkfilesystem.c 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/gtkfilesystem.c 2017-06-19 20:18:05.980166455 +0200
+@@ -770,27 +770,27 @@
+
+ g_object_unref (icon);
+
+ return surface;
+ }
+
+ GIcon *
+ _gtk_file_system_volume_get_symbolic_icon (GtkFileSystemVolume *volume)
+ {
+ if (IS_ROOT_VOLUME (volume))
+- return g_themed_icon_new ("drive-harddisk-symbolic");
++ return g_themed_icon_new ("drive-harddisk");
+ else if (G_IS_DRIVE (volume))
+- return g_drive_get_symbolic_icon (G_DRIVE (volume));
++ return g_drive_get_icon (G_DRIVE (volume));
+ else if (G_IS_VOLUME (volume))
+- return g_volume_get_symbolic_icon (G_VOLUME (volume));
++ return g_volume_get_icon (G_VOLUME (volume));
+ else if (G_IS_MOUNT (volume))
+- return g_mount_get_symbolic_icon (G_MOUNT (volume));
++ return g_mount_get_icon (G_MOUNT (volume));
+ else
+ return NULL;
+ }
+
+ GtkFileSystemVolume *
+ _gtk_file_system_volume_ref (GtkFileSystemVolume *volume)
+ {
+ if (IS_ROOT_VOLUME (volume))
+ return volume;
+
+diff -U 10 -r -Z -B ./org/gtk/gtkpathbar.c ./mod/gtk/gtkpathbar.c
+--- ./org/gtk/gtkpathbar.c 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/gtkpathbar.c 2017-06-19 20:13:53.890153964 +0200
+@@ -1266,21 +1266,21 @@
+
+ if (!data->button_data->button)
+ {
+ g_free (data->button_data);
+ goto out;
+ }
+
+ if (cancelled || error)
+ goto out;
+
+- icon = g_file_info_get_symbolic_icon (info);
++ icon = g_file_info_get_icon (info);
+ gtk_image_set_from_gicon (GTK_IMAGE (data->button_data->image), icon, GTK_ICON_SIZE_BUTTON);
+
+ switch (data->button_data->type)
+ {
+ case HOME_BUTTON:
+ g_set_object (&data->path_bar->priv->home_icon, icon);
+ break;
+
+ case DESKTOP_BUTTON:
+ g_set_object (&data->path_bar->priv->desktop_icon, icon);
+@@ -1332,21 +1332,21 @@
+ data = g_new0 (struct SetButtonImageData, 1);
+ data->path_bar = path_bar;
+ data->button_data = button_data;
+
+ if (button_data->cancellable)
+ g_cancellable_cancel (button_data->cancellable);
+
+ button_data->cancellable =
+ _gtk_file_system_get_info (path_bar->priv->file_system,
+ path_bar->priv->home_file,
+- "standard::symbolic-icon",
++ "standard::icon",
+ set_button_image_get_info_cb,
+ data);
+ break;
+
+ case DESKTOP_BUTTON:
+ if (path_bar->priv->desktop_icon != NULL)
+ {
+ gtk_image_set_from_gicon (GTK_IMAGE (button_data->image), path_bar->priv->desktop_icon, GTK_ICON_SIZE_BUTTON);
+ break;
+ }
+@@ -1354,21 +1354,21 @@
+ data = g_new0 (struct SetButtonImageData, 1);
+ data->path_bar = path_bar;
+ data->button_data = button_data;
+
+ if (button_data->cancellable)
+ g_cancellable_cancel (button_data->cancellable);
+
+ button_data->cancellable =
+ _gtk_file_system_get_info (path_bar->priv->file_system,
+ path_bar->priv->desktop_file,
+- "standard::symbolic-icon",
++ "standard::icon",
+ set_button_image_get_info_cb,
+ data);
+ break;
+ default:
+ break;
+ }
+ }
+
+ static void
+ button_data_free (ButtonData *button_data)
+diff -U 10 -r -Z -B ./org/gtk/gtkplacessidebar.c ./mod/gtk/gtkplacessidebar.c
+--- ./org/gtk/gtkplacessidebar.c 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/gtkplacessidebar.c 2017-06-19 20:13:53.896820632 +0200
+@@ -240,39 +240,39 @@
+ PROP_SHOW_CONNECT_TO_SERVER,
+ PROP_SHOW_ENTER_LOCATION,
+ PROP_SHOW_TRASH,
+ PROP_LOCAL_ONLY,
+ PROP_SHOW_OTHER_LOCATIONS,
+ PROP_POPULATE_ALL,
+ NUM_PROPERTIES
+ };
+
+ /* Names for themed icons */
+-#define ICON_NAME_HOME "user-home-symbolic"
+-#define ICON_NAME_DESKTOP "user-desktop-symbolic"
+-#define ICON_NAME_FILESYSTEM "drive-harddisk-symbolic"
+-#define ICON_NAME_EJECT "media-eject-symbolic"
+-#define ICON_NAME_NETWORK "network-workgroup-symbolic"
+-#define ICON_NAME_NETWORK_SERVER "network-server-symbolic"
+-#define ICON_NAME_FOLDER_NETWORK "folder-remote-symbolic"
+-#define ICON_NAME_OTHER_LOCATIONS "list-add-symbolic"
+-
+-#define ICON_NAME_FOLDER "folder-symbolic"
+-#define ICON_NAME_FOLDER_DESKTOP "user-desktop-symbolic"
+-#define ICON_NAME_FOLDER_DOCUMENTS "folder-documents-symbolic"
+-#define ICON_NAME_FOLDER_DOWNLOAD "folder-download-symbolic"
+-#define ICON_NAME_FOLDER_MUSIC "folder-music-symbolic"
+-#define ICON_NAME_FOLDER_PICTURES "folder-pictures-symbolic"
+-#define ICON_NAME_FOLDER_PUBLIC_SHARE "folder-publicshare-symbolic"
+-#define ICON_NAME_FOLDER_TEMPLATES "folder-templates-symbolic"
+-#define ICON_NAME_FOLDER_VIDEOS "folder-videos-symbolic"
+-#define ICON_NAME_FOLDER_SAVED_SEARCH "folder-saved-search-symbolic"
++#define ICON_NAME_HOME "user-home"
++#define ICON_NAME_DESKTOP "user-desktop"
++#define ICON_NAME_FILESYSTEM "drive-harddisk"
++#define ICON_NAME_EJECT "media-eject"
++#define ICON_NAME_NETWORK "network-workgroup"
++#define ICON_NAME_NETWORK_SERVER "network-server"
++#define ICON_NAME_FOLDER_NETWORK "folder-remote"
++#define ICON_NAME_OTHER_LOCATIONS "list-add"
++
++#define ICON_NAME_FOLDER "folder"
++#define ICON_NAME_FOLDER_DESKTOP "user-desktop"
++#define ICON_NAME_FOLDER_DOCUMENTS "folder-documents"
++#define ICON_NAME_FOLDER_DOWNLOAD "folder-download"
++#define ICON_NAME_FOLDER_MUSIC "folder-music"
++#define ICON_NAME_FOLDER_PICTURES "folder-pictures"
++#define ICON_NAME_FOLDER_PUBLIC_SHARE "folder-publicshare"
++#define ICON_NAME_FOLDER_TEMPLATES "folder-templates"
++#define ICON_NAME_FOLDER_VIDEOS "folder-videos"
++#define ICON_NAME_FOLDER_SAVED_SEARCH "folder-saved-search"
+
+ static guint places_sidebar_signals [LAST_SIGNAL] = { 0 };
+ static GParamSpec *properties[NUM_PROPERTIES] = { NULL, };
+
+ static gboolean eject_or_unmount_bookmark (GtkSidebarRow *row);
+ static gboolean eject_or_unmount_selection (GtkPlacesSidebar *sidebar);
+ static void check_unmount_and_eject (GMount *mount,
+ GVolume *volume,
+ GDrive *drive,
+ gboolean *show_unmount,
+@@ -740,21 +740,21 @@
+
+ if (info)
+ {
+ gchar *uri;
+ gchar *tooltip;
+ const gchar *name;
+ GIcon *icon;
+ int pos = 0;
+
+ name = g_file_info_get_display_name (info);
+- icon = g_file_info_get_symbolic_icon (info);
++ icon = g_file_info_get_icon (info);
+ uri = g_file_get_uri (file);
+ tooltip = g_file_get_parse_name (file);
+
+ /* XXX: we could avoid this by using an ancillary closure
+ * with the index coming from add_application_shortcuts(),
+ * but in terms of algorithmic overhead, the application
+ * shortcuts is not going to be really big
+ */
+ pos = g_slist_index (sidebar->shortcuts, file);
+
+@@ -781,21 +781,21 @@
+ {
+ GFile *file = l->data;
+
+ if (!should_show_file (sidebar, file))
+ continue;
+
+ if (file_is_shown (sidebar, file))
+ continue;
+
+ g_file_query_info_async (file,
+- "standard::display-name,standard::symbolic-icon",
++ "standard::display-name,standard::icon",
+ G_FILE_QUERY_INFO_NONE,
+ G_PRIORITY_DEFAULT,
+ sidebar->cancellable,
+ on_app_shortcuts_query_complete,
+ sidebar);
+ }
+ }
+
+ typedef struct {
+ GtkPlacesSidebar *sidebar;
+@@ -830,21 +830,21 @@
+ /* Don't add non-UTF-8 bookmarks */
+ bookmark_name = g_file_get_basename (root);
+ if (!g_utf8_validate (bookmark_name, -1, NULL))
+ {
+ g_free (bookmark_name);
+ goto out;
+ }
+ }
+
+ if (info)
+- icon = g_object_ref (g_file_info_get_symbolic_icon (info));
++ icon = g_object_ref (g_file_info_get_icon (info));
+ else
+ icon = g_themed_icon_new_with_default_fallbacks (clos->is_native ? ICON_NAME_FOLDER : ICON_NAME_FOLDER_NETWORK);
+
+ mount_uri = g_file_get_uri (root);
+ tooltip = g_file_get_parse_name (root);
+
+ add_place (sidebar, PLACES_BOOKMARK,
+ SECTION_BOOKMARKS,
+ bookmark_name, icon, mount_uri,
+ NULL, NULL, NULL, clos->index,
+@@ -937,21 +937,21 @@
+ gtk_container_foreach (GTK_CONTAINER (sidebar->list_box),
+ (GtkCallback) gtk_widget_destroy,
+ NULL);
+
+ network_mounts = network_volumes = NULL;
+
+ /* add built-in places */
+ if (should_show_recent (sidebar))
+ {
+ mount_uri = "recent:///";
+- icon = g_themed_icon_new_with_default_fallbacks ("document-open-recent-symbolic");
++ icon = g_themed_icon_new_with_default_fallbacks ("document-open-recent");
+ add_place (sidebar, PLACES_BUILT_IN,
+ SECTION_COMPUTER,
+ _("Recent"), icon, mount_uri,
+ NULL, NULL, NULL, 0,
+ _("Recent files"));
+ g_object_unref (icon);
+ }
+
+ /* home folder */
+ home_uri = get_home_directory_uri ();
+@@ -1039,21 +1039,21 @@
+ if (sidebar->show_other_locations && !is_external_volume (volume))
+ {
+ g_object_unref (volume);
+ continue;
+ }
+
+ mount = g_volume_get_mount (volume);
+ if (mount != NULL)
+ {
+ /* Show mounted volume in the sidebar */
+- icon = g_mount_get_symbolic_icon (mount);
++ icon = g_mount_get_icon (mount);
+ root = g_mount_get_default_location (mount);
+ mount_uri = g_file_get_uri (root);
+ name = g_mount_get_name (mount);
+ tooltip = g_file_get_parse_name (root);
+
+ add_place (sidebar, PLACES_MOUNTED_VOLUME,
+ SECTION_MOUNTS,
+ name, icon, mount_uri,
+ drive, volume, mount, 0, tooltip);
+ g_object_unref (root);
+@@ -1066,21 +1066,21 @@
+ else
+ {
+ /* Do show the unmounted volumes in the sidebar;
+ * this is so the user can mount it (in case automounting
+ * is off).
+ *
+ * Also, even if automounting is enabled, this gives a visual
+ * cue that the user should remember to yank out the media if
+ * he just unmounted it.
+ */
+- icon = g_volume_get_symbolic_icon (volume);
++ icon = g_volume_get_icon (volume);
+ name = g_volume_get_name (volume);
+ tooltip = g_strdup_printf (_("Mount and open “%s”"), name);
+
+ add_place (sidebar, PLACES_MOUNTED_VOLUME,
+ SECTION_MOUNTS,
+ name, icon, NULL,
+ drive, volume, NULL, 0, tooltip);
+ g_object_unref (icon);
+ g_free (name);
+ g_free (tooltip);
+@@ -1094,21 +1094,21 @@
+ if (g_drive_is_media_removable (drive) && !g_drive_is_media_check_automatic (drive))
+ {
+ /* If the drive has no mountable volumes and we cannot detect media change.. we
+ * display the drive in the sidebar so the user can manually poll the drive by
+ * right clicking and selecting "Rescan..."
+ *
+ * This is mainly for drives like floppies where media detection doesn't
+ * work.. but it's also for human beings who like to turn off media detection
+ * in the OS to save battery juice.
+ */
+- icon = g_drive_get_symbolic_icon (drive);
++ icon = g_drive_get_icon (drive);
+ name = g_drive_get_name (drive);
+ tooltip = g_strdup_printf (_("Mount and open “%s”"), name);
+
+ add_place (sidebar, PLACES_BUILT_IN,
+ SECTION_MOUNTS,
+ name, icon, NULL,
+ drive, NULL, NULL, 0, tooltip);
+ g_object_unref (icon);
+ g_free (tooltip);
+ g_free (name);
+@@ -1142,40 +1142,40 @@
+
+ if (sidebar->show_other_locations && !is_external_volume (volume))
+ {
+ g_object_unref (volume);
+ continue;
+ }
+
+ mount = g_volume_get_mount (volume);
+ if (mount != NULL)
+ {
+- icon = g_mount_get_symbolic_icon (mount);
++ icon = g_mount_get_icon (mount);
+ root = g_mount_get_default_location (mount);
+ mount_uri = g_file_get_uri (root);
+ tooltip = g_file_get_parse_name (root);
+ name = g_mount_get_name (mount);
+ add_place (sidebar, PLACES_MOUNTED_VOLUME,
+ SECTION_MOUNTS,
+ name, icon, mount_uri,
+ NULL, volume, mount, 0, tooltip);
+ g_object_unref (mount);
+ g_object_unref (root);
+ g_object_unref (icon);
+ g_free (name);
+ g_free (tooltip);
+ g_free (mount_uri);
+ }
+ else
+ {
+ /* see comment above in why we add an icon for an unmounted mountable volume */
+- icon = g_volume_get_symbolic_icon (volume);
++ icon = g_volume_get_icon (volume);
+ name = g_volume_get_name (volume);
+ add_place (sidebar, PLACES_MOUNTED_VOLUME,
+ SECTION_MOUNTS,
+ name, icon, NULL,
+ NULL, volume, NULL, 0, name);
+ g_object_unref (icon);
+ g_free (name);
+ }
+ g_object_unref (volume);
+ }
+@@ -1214,21 +1214,21 @@
+ }
+ root = g_mount_get_default_location (mount);
+
+ if (!g_file_is_native (root))
+ {
+ network_mounts = g_list_prepend (network_mounts, mount);
+ g_object_unref (root);
+ continue;
+ }
+
+- icon = g_mount_get_symbolic_icon (mount);
++ icon = g_mount_get_icon (mount);
+ mount_uri = g_file_get_uri (root);
+ name = g_mount_get_name (mount);
+ tooltip = g_file_get_parse_name (root);
+ add_place (sidebar, PLACES_MOUNTED_VOLUME,
+ SECTION_COMPUTER,
+ name, icon, mount_uri,
+ NULL, NULL, mount, 0, tooltip);
+ g_object_unref (root);
+ g_object_unref (mount);
+ g_object_unref (icon);
+@@ -1253,32 +1253,32 @@
+ continue;
+
+ if (sidebar->local_only && !is_native)
+ continue;
+
+ clos = g_slice_new (BookmarkQueryClosure);
+ clos->sidebar = sidebar;
+ clos->index = index;
+ clos->is_native = is_native;
+ g_file_query_info_async (root,
+- "standard::display-name,standard::symbolic-icon",
++ "standard::display-name,standard::icon",
+ G_FILE_QUERY_INFO_NONE,
+ G_PRIORITY_DEFAULT,
+ sidebar->cancellable,
+ on_bookmark_query_info_complete,
+ clos);
+ }
+
+ g_slist_free_full (bookmarks, g_object_unref);
+
+ /* Add new bookmark row */
+- new_bookmark_icon = g_themed_icon_new ("bookmark-new-symbolic");
++ new_bookmark_icon = g_themed_icon_new ("bookmark-new");
+ sidebar->new_bookmark_row = add_place (sidebar, PLACES_DROP_FEEDBACK,
+ SECTION_BOOKMARKS,
+ _("New bookmark"), new_bookmark_icon, NULL,
+ NULL, NULL, NULL, 0,
+ _("Add a new bookmark"));
+ context = gtk_widget_get_style_context (sidebar->new_bookmark_row);
+ gtk_style_context_add_class (context, "sidebar-new-bookmark-row");
+ g_object_unref (new_bookmark_icon);
+
+ /* network */
+@@ -1301,40 +1301,40 @@
+ volume = l->data;
+ mount = g_volume_get_mount (volume);
+
+ if (mount != NULL)
+ {
+ network_mounts = g_list_prepend (network_mounts, mount);
+ continue;
+ }
+ else
+ {
+- icon = g_volume_get_symbolic_icon (volume);
++ icon = g_volume_get_icon (volume);
+ name = g_volume_get_name (volume);
+ tooltip = g_strdup_printf (_("Mount and open “%s”"), name);
+
+ add_place (sidebar, PLACES_MOUNTED_VOLUME,
+ SECTION_MOUNTS,
+ name, icon, NULL,
+ NULL, volume, NULL, 0, tooltip);
+ g_object_unref (icon);
+ g_free (name);
+ g_free (tooltip);
+ }
+ }
+
+ network_mounts = g_list_reverse (network_mounts);
+ for (l = network_mounts; l != NULL; l = l->next)
+ {
+ mount = l->data;
+ root = g_mount_get_default_location (mount);
+- icon = g_mount_get_symbolic_icon (mount);
++ icon = g_mount_get_icon (mount);
+ mount_uri = g_file_get_uri (root);
+ name = g_mount_get_name (mount);
+ tooltip = g_file_get_parse_name (root);
+ add_place (sidebar, PLACES_MOUNTED_VOLUME,
+ SECTION_MOUNTS,
+ name, icon, mount_uri,
+ NULL, NULL, mount, 0, tooltip);
+ g_object_unref (root);
+ g_object_unref (icon);
+ g_free (name);
+diff -U 10 -r -Z -B ./org/gtk/gtktrashmonitor.c ./mod/gtk/gtktrashmonitor.c
+--- ./org/gtk/gtktrashmonitor.c 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/gtktrashmonitor.c 2017-06-19 20:13:53.896820632 +0200
+@@ -45,22 +45,22 @@
+ TRASH_STATE_CHANGED,
+ LAST_SIGNAL
+ };
+
+ static guint signals[LAST_SIGNAL];
+
+ G_DEFINE_TYPE (GtkTrashMonitor, _gtk_trash_monitor, G_TYPE_OBJECT)
+
+ static GtkTrashMonitor *the_trash_monitor;
+
+-#define ICON_NAME_TRASH_EMPTY "user-trash-symbolic"
+-#define ICON_NAME_TRASH_FULL "user-trash-full-symbolic"
++#define ICON_NAME_TRASH_EMPTY "user-trash"
++#define ICON_NAME_TRASH_FULL "user-trash-full"
+
+ static void
+ gtk_trash_monitor_dispose (GObject *object)
+ {
+ GtkTrashMonitor *monitor;
+
+ monitor = GTK_TRASH_MONITOR (object);
+
+ if (monitor->file_monitor)
+ {
+diff -U 10 -r -Z -B ./org/gtk/ui/gtkfilechooserwidget.ui ./mod/gtk/ui/gtkfilechooserwidget.ui
+--- ./org/gtk/ui/gtkfilechooserwidget.ui 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/ui/gtkfilechooserwidget.ui 2017-06-19 20:13:53.896820632 +0200
+@@ -66,21 +66,21 @@
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="browse_new_folder_button">
+ <property name="tooltip-text" translatable="yes">Create Folder</property>
+ <property name="use-underline">1</property>
+ <property name="popover">new_folder_popover</property>
+ <signal name="notify::active" handler="new_folder_popover_active"/>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">1</property>
+- <property name="icon-name">folder-new-symbolic</property>
++ <property name="icon-name">folder-new</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="fill">0</property>
+ <property name="pack-type">end</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+@@ -286,21 +286,21 @@
+ <property name="hexpand">1</property>
+ <property name="vexpand">1</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">1</property>
+- <property name="icon-name">edit-find-symbolic</property>
++ <property name="icon-name">edit-find</property>
+ <property name="pixel-size">72</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+diff -U 10 -r -Z -B ./org/gtk/ui/gtksidebarrow.ui ./mod/gtk/ui/gtksidebarrow.ui
+--- ./org/gtk/ui/gtksidebarrow.ui 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/ui/gtksidebarrow.ui 2017-06-19 20:13:53.896820632 +0200
+@@ -17,22 +17,22 @@
+ </style>
+ <child>
+ <object class="GtkEventBox" id="event_box">
+ <property name="visible">1</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">1</property>
+ <child>
+ <object class="GtkImage" id="icon_widget">
+ <property name="visible">1</property>
++ <property name="margin-right">8</property>
+ <style>
+- <class name="sidebar-icon"/>
+ </style>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label_widget">
+ <property name="visible">1</property>
+ <property name="hexpand">1</property>
+ <property name="xalign">0</property>
+ <style>
+ <class name="sidebar-label"/>
diff --git a/p__other__menubutton-menu.patch b/p__other__menubutton-menu.patch
new file mode 100644
index 000000000000..42d98af7bd13
--- /dev/null
+++ b/p__other__menubutton-menu.patch
@@ -0,0 +1,26 @@
+diff -U 10 -r -Z -B ./org/gtk/gtkmenubutton.c ./mod/gtk/gtkmenubutton.c
+--- ./org/gtk/gtkmenubutton.c 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/gtkmenubutton.c 2017-06-18 20:15:20.686972436 +0200
+@@ -816,21 +816,21 @@
+
+ priv = menu_button->priv;
+
+ g_object_freeze_notify (G_OBJECT (menu_button));
+
+ if (menu_model)
+ g_object_ref (menu_model);
+
+ if (menu_model)
+ {
+- if (priv->use_popover)
++ if (FALSE && priv->use_popover)
+ {
+ GtkWidget *popover;
+
+ popover = gtk_popover_new_from_model (GTK_WIDGET (menu_button), menu_model);
+ gtk_menu_button_set_popover (menu_button, popover);
+ }
+ else
+ {
+ GtkWidget *menu;
+
diff --git a/p__other__mnemonics-delay.patch b/p__other__mnemonics-delay.patch
new file mode 100644
index 000000000000..e2dfe600e657
--- /dev/null
+++ b/p__other__mnemonics-delay.patch
@@ -0,0 +1,26 @@
+diff -U 10 -r -Z -B ./org/gtk/gtkwindow.c ./mod/gtk/gtkwindow.c
+--- ./org/gtk/gtkwindow.c 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/gtkwindow.c 2017-06-18 20:11:44.443628389 +0200
+@@ -144,21 +144,21 @@
+ * without invisible borders), .ssd (used by mutter when rendering server-side
+ * decorations). GtkWindow also represents window states with the following
+ * style classes on the main node: .tiled, .maximized, .fullscreen. Specialized
+ * types of window often add their own discriminating style classes, such as
+ * .popup or .tooltip.
+ *
+ * GtkWindow adds the .titlebar and .default-decoration style classes to the
+ * widget that is added as a titlebar child.
+ */
+
+-#define MNEMONICS_DELAY 300 /* ms */
++#define MNEMONICS_DELAY 0 /* ms */
+ #define NO_CONTENT_CHILD_NAT 200
+ /* In case the content (excluding header bar and shadows) of the window
+ * would be empty, either because there is no visible child widget or only an
+ * empty container widget, we use NO_CONTENT_CHILD_NAT as natural width/height
+ * instead.
+ */
+
+ typedef struct _GtkWindowPopover GtkWindowPopover;
+
+ struct _GtkWindowPopover
diff --git a/p__other__scrollbar.patch b/p__other__scrollbar.patch
new file mode 100644
index 000000000000..f33f152feee1
--- /dev/null
+++ b/p__other__scrollbar.patch
@@ -0,0 +1,25 @@
+diff -U 10 -r -Z -B ./org/gtk/gtkscrolledwindow.c ./mod/gtk/gtkscrolledwindow.c
+--- ./org/gtk/gtkscrolledwindow.c 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/gtkscrolledwindow.c 2017-06-18 20:13:43.643634295 +0200
+@@ -4393,21 +4393,20 @@
+ }
+
+ static void
+ gtk_scrolled_window_update_use_indicators (GtkScrolledWindow *scrolled_window)
+ {
+ GtkScrolledWindowPrivate *priv = scrolled_window->priv;
+ gboolean use_indicators;
+
+ use_indicators = priv->overlay_scrolling;
+
+- if (g_strcmp0 (g_getenv ("GTK_OVERLAY_SCROLLING"), "0") == 0)
+ use_indicators = FALSE;
+
+ if (priv->use_indicators != use_indicators)
+ {
+ priv->use_indicators = use_indicators;
+
+ if (gtk_widget_get_realized (GTK_WIDGET (scrolled_window)))
+ gtk_scrolled_window_sync_use_indicators (scrolled_window);
+
+ gtk_widget_queue_resize (GTK_WIDGET (scrolled_window));
diff --git a/p__other__statusbar.patch b/p__other__statusbar.patch
new file mode 100644
index 000000000000..2f6b85c43170
--- /dev/null
+++ b/p__other__statusbar.patch
@@ -0,0 +1,25 @@
+diff -U 10 -r -Z -B ./org/gtk/ui/gtkstatusbar.ui ./mod/gtk/ui/gtkstatusbar.ui
+--- ./org/gtk/ui/gtkstatusbar.ui 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/ui/gtkstatusbar.ui 2017-06-18 20:10:24.643624434 +0200
+@@ -1,19 +1,19 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <interface domain="gtk30">
+ <!-- interface-requires gtk+ 3.10 -->
+ <template class="GtkStatusbar" parent="GtkBox">
+ <property name="spacing">2</property>
+ <property name="margin-start">10</property>
+ <property name="margin-end">10</property>
+- <property name="margin-top">6</property>
+- <property name="margin-bottom">6</property>
++ <property name="margin-top">1</property>
++ <property name="margin-bottom">1</property>
+ <child>
+ <object class="GtkFrame" id="frame">
+ <property name="visible">1</property>
+ <property name="shadow-type">none</property>
+ <child>
+ <object class="GtkBox" id="message_area">
+ <property name="visible">1</property>
+ <property name="spacing">4</property>
+ <property name="margin">4</property>
+ <child>
diff --git a/p__print-dialog__appearance.patch b/p__print-dialog__appearance.patch
new file mode 100644
index 000000000000..b5fa5518536e
--- /dev/null
+++ b/p__print-dialog__appearance.patch
@@ -0,0 +1,39 @@
+diff -U 10 -r -Z -B ./org/gtk/ui/gtkprintunixdialog.ui ./mod/gtk/ui/gtkprintunixdialog.ui
+--- ./org/gtk/ui/gtkprintunixdialog.ui 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/ui/gtkprintunixdialog.ui 2017-06-18 20:06:30.823612849 +0200
+@@ -51,31 +51,33 @@
+ <property name="can-focus">False</property>
+ <property name="type-hint">dialog</property>
+ <signal name="notify::page-setup" handler="redraw_page_layout_preview" swapped="no"/>
+ <signal name="response" handler="error_dialogs" swapped="no"/>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox1">
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <property name="border-width">0</property>
+ <style>
+- <class name="view"/>
+ </style>
+ <child>
+ <object class="GtkBox" id="box1">
+ <property name="visible">1</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkNotebook" id="notebook">
+ <property name="visible">1</property>
+ <property name="can-focus">1</property>
+- <property name="show-border">0</property>
++ <property name="show-border">1</property>
++ <property name="margin-left">12</property>
++ <property name="margin-right">12</property>
++ <property name="margin-top">12</property>
+ <child>
+ <object class="GtkBox" id="general_main_box">
+ <property name="visible">1</property>
+ <property name="border-width">12</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">18</property>
+ <child>
+ <object class="GtkBox" id="box2">
+ <property name="visible">1</property>
+ <property name="orientation">vertical</property>
diff --git a/p__print-dialog__previewer.patch b/p__print-dialog__previewer.patch
new file mode 100644
index 000000000000..fc9bd39e1fa3
--- /dev/null
+++ b/p__print-dialog__previewer.patch
@@ -0,0 +1,26 @@
+diff -U 10 -r -Z -B ./org/gtk/gtksettings.c ./mod/gtk/gtksettings.c
+--- ./org/gtk/gtksettings.c 2017-05-11 21:09:33.000000000 +0200
++++ ./mod/gtk/gtksettings.c 2017-06-18 20:04:49.313607819 +0200
+@@ -54,21 +54,21 @@
+
+ #ifdef GDK_WINDOWING_WIN32
+ #include "win32/gdkwin32.h"
+ #endif
+
+ #include "deprecated/gtkrc.h"
+
+ #ifdef GDK_WINDOWING_QUARTZ
+ #define PRINT_PREVIEW_COMMAND "open -a /Applications/Preview.app %f"
+ #else
+-#define PRINT_PREVIEW_COMMAND "evince --unlink-tempfile --preview --print-settings %s %f"
++#define PRINT_PREVIEW_COMMAND "atril --unlink-tempfile --preview --print-settings %s %f"
+ #endif
+
+ /**
+ * SECTION:gtksettings
+ * @Short_description: Sharing settings between applications
+ * @Title: Settings
+ *
+ * GtkSettings provide a mechanism to share global settings between
+ * applications.
+ *
diff --git a/print-dialog.patch b/print-dialog.patch
deleted file mode 100644
index ab7ba621e181..000000000000
--- a/print-dialog.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-diff -U 25 -r -Z -B ./org/gtk/gtksettings.c ./mod/gtk/gtksettings.c
---- ./org/gtk/gtksettings.c 2017-05-11 21:09:33.000000000 +0200
-+++ ./mod/gtk/gtksettings.c 2017-06-02 03:07:20.300410099 +0200
-@@ -39,51 +39,51 @@
- #include <pango/pangofc-fontmap.h>
- #endif
-
- #ifdef GDK_WINDOWING_WAYLAND
- #include "wayland/gdkwayland.h"
- #include <pango/pangofc-fontmap.h>
- #endif
-
- #ifdef GDK_WINDOWING_BROADWAY
- #include "broadway/gdkbroadway.h"
- #endif
-
- #ifdef GDK_WINDOWING_QUARTZ
- #include "quartz/gdkquartz.h"
- #endif
-
- #ifdef GDK_WINDOWING_WIN32
- #include "win32/gdkwin32.h"
- #endif
-
- #include "deprecated/gtkrc.h"
-
- #ifdef GDK_WINDOWING_QUARTZ
- #define PRINT_PREVIEW_COMMAND "open -a /Applications/Preview.app %f"
- #else
--#define PRINT_PREVIEW_COMMAND "evince --unlink-tempfile --preview --print-settings %s %f"
-+#define PRINT_PREVIEW_COMMAND "atril --unlink-tempfile --preview --print-settings %s %f"
- #endif
-
- /**
- * SECTION:gtksettings
- * @Short_description: Sharing settings between applications
- * @Title: Settings
- *
- * GtkSettings provide a mechanism to share global settings between
- * applications.
- *
- * On the X window system, this sharing is realized by an
- * [XSettings](http://www.freedesktop.org/wiki/Specifications/xsettings-spec)
- * manager that is usually part of the desktop environment, along with
- * utilities that let the user change these settings. In the absence of
- * an Xsettings manager, GTK+ reads default values for settings from
- * `settings.ini` files in
- * `/etc/gtk-3.0`, `$XDG_CONFIG_DIRS/gtk-3.0`
- * and `$XDG_CONFIG_HOME/gtk-3.0`.
- * These files must be valid key files (see #GKeyFile), and have
- * a section called Settings. Themes can also provide default values
- * for settings by installing a `settings.ini` file
- * next to their `gtk.css` file.
- *
- * Applications can override system-wide settings by setting the property
- * of the GtkSettings object with g_object_set(). This should be restricted
-diff -U 25 -r -Z -B ./org/gtk/ui/gtkprintunixdialog.ui ./mod/gtk/ui/gtkprintunixdialog.ui
---- ./org/gtk/ui/gtkprintunixdialog.ui 2017-05-11 21:09:33.000000000 +0200
-+++ ./mod/gtk/ui/gtkprintunixdialog.ui 2017-06-02 03:07:20.303743432 +0200
-@@ -35,62 +35,62 @@
- <!-- column-name location -->
- <column type="gchararray"/>
- <!-- column-name printer -->
- <column type="GObject"/>
- </columns>
- </object>
- <object class="GtkTreeModelFilter" id="printer_list_filter">
- <property name="child-model">printer_list</property>
- </object>
- <object class="GtkAdjustment" id="scale_spin_adjustment">
- <property name="lower">1</property>
- <property name="upper">1000</property>
- <property name="value">100</property>
- <property name="step-increment">1</property>
- </object>
- <template class="GtkPrintUnixDialog" parent="GtkDialog">
- <property name="can-focus">False</property>
- <property name="type-hint">dialog</property>
- <signal name="notify::page-setup" handler="redraw_page_layout_preview" swapped="no"/>
- <signal name="response" handler="error_dialogs" swapped="no"/>
- <child internal-child="vbox">
- <object class="GtkBox" id="dialog-vbox1">
- <property name="orientation">vertical</property>
- <property name="spacing">2</property>
- <property name="border-width">0</property>
-- <style>
-- <class name="view"/>
-- </style>
- <child>
- <object class="GtkBox" id="box1">
- <property name="visible">1</property>
- <property name="orientation">vertical</property>
- <child>
- <object class="GtkNotebook" id="notebook">
- <property name="visible">1</property>
- <property name="can-focus">1</property>
-- <property name="show-border">0</property>
-+ <property name="show-border">1</property>
-+ <property name="margin-left">12</property>
-+ <property name="margin-right">12</property>
-+ <property name="margin-top">12</property>
- <child>
- <object class="GtkBox" id="general_main_box">
- <property name="visible">1</property>
- <property name="border-width">12</property>
- <property name="orientation">vertical</property>
- <property name="spacing">18</property>
- <child>
- <object class="GtkBox" id="box2">
- <property name="visible">1</property>
- <property name="orientation">vertical</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkScrolledWindow" id="printer_swin">
- <property name="visible">1</property>
- <property name="can-focus">1</property>
- <property name="shadow-type">in</property>
- <child>
- <object class="GtkTreeView" id="printer_treeview">
- <property name="visible">1</property>
- <property name="can-focus">1</property>
- <property name="model">printer_list_filter</property>
- <signal name="row-activated" handler="emit_ok_response" swapped="no"/>
- <child internal-child="selection">
- <object class="GtkTreeSelection" id="treeview-selection1">
- <property name="mode">browse</property>