summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorQue Quotion2019-05-29 12:12:04 +0900
committerQue Quotion2019-05-29 12:12:04 +0900
commitd833ab3559650cec1c667c6f1ff3afbea59dca25 (patch)
treee4d9419e884a8c4c94a582200ac7135a90260115
parent812050083dd93c7de0cc78301662b8e4eb54a939 (diff)
downloadaur-d833ab3559650cec1c667c6f1ff3afbea59dca25.tar.gz
epiphany-pantheon 3.32.2 (incomplete port to latest stable release)
-rw-r--r--.SRCINFO66
-rw-r--r--24px-color-toolbar-icons-reduced.patch43
-rw-r--r--PKGBUILD154
-rw-r--r--add-preferences-menuitem.patch27
-rw-r--r--add-preview-widget.patch182
-rw-r--r--add-various-menuitem.patch66
-rw-r--r--dodge-incognito-mode-style.patch13
-rw-r--r--double-click-for-new-tab.patch25
-rw-r--r--fix-menu-margins.patch34
-rw-r--r--full-width-url-bar-lesshandy.patch20
-rw-r--r--hide-fonts-and-style-tab.patch31
-rw-r--r--middle-click-close-tab.patch21
-rw-r--r--new-tab-button-left.patch13
-rw-r--r--notebook-margin.patch12
-rw-r--r--overlay-bar-style.patch44
-rw-r--r--pluginsdir.diff20
-rw-r--r--remove-gnome-menu.patch14
-rw-r--r--remove-newtab-menuitem.patch19
-rw-r--r--remove-text-encoding-menuitem.patch27
-rw-r--r--tab-close-button-left.patch74
-rw-r--r--use-real-name.patch11
21 files changed, 663 insertions, 253 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 4515766e06ef..30c05be1e1fd 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,37 +1,67 @@
pkgbase = epiphany-pantheon
- pkgdesc = GNOME web browser based on the WebKit rendering engine (with elementary OS patches)
- pkgver = 3.28.0.1+1ubuntu1+r21.dbc305d50
- pkgrel = 5
- url = https://gitlab.gnome.org/GNOME/epiphany/
- arch = i686
+ pkgdesc = A GNOME web browser based on the WebKit rendering engine (with elementary OS patches)
+ pkgver = 3.32.2
+ pkgrel = 1
+ url = https://wiki.gnome.org/Apps/Web
arch = x86_64
groups = pantheon
license = GPL
- makedepends = meson
+ checkdepends = xorg-server-xvfb
makedepends = docbook-xml
makedepends = startup-notification
makedepends = lsb-release
makedepends = gobject-introspection
makedepends = yelp-tools
- makedepends = autoconf-archive
makedepends = appstream-glib
makedepends = git
- depends = webkit2gtk>=2.19.4
+ makedepends = meson
+ depends = webkit2gtk
depends = gcr
+ depends = icu
depends = libdazzle
- depends = gst-libav
- provides = epiphany=3.28.0.1+1ubuntu1+r21.dbc305d50
+ depends = libhandy
+ provides = epiphany=3.32.2
provides = epiphany-sync
- conflicts = epiphany
- replaces = epiphany-pantheon-bzr
- source = git+https://github.com/elementary/os-patches.git#branch=epiphany-browser-bionic-patched
+ source = epiphany-pantheon::git+https://gitlab.gnome.org/GNOME/epiphany.git#commit=d154e6cea18123576d511512827cd6308c9780e2
source = epiphany-sync
source = epiphany-sync.service
- source = add-preview-widget.patch
- sha256sums = SKIP
- sha256sums = cf90f3ea93fff8c61f82da40c8d07d5db2f33dc9a0d91408a6ffc4142bbedd20
- sha256sums = ce1ac321d7bf9d88638634a141dfcb99119fc59ee44c4892e0874608e85006ba
- sha256sums = fdd161fa242ebe39e198a19f2eced9bdc9870601e91a11643e5bebafa87ba1f8
+ source = full-width-url-bar-lesshandy.patch
+ source = 24px-color-toolbar-icons-reduced.patch
+ source = tab-close-button-left.patch
+ source = new-tab-button-left.patch
+ source = use-real-name.patch
+ source = double-click-for-new-tab.patch
+ source = overlay-bar-style.patch
+ source = dodge-incognito-mode-style.patch
+ source = middle-click-close-tab.patch
+ source = add-preferences-menuitem.patch
+ source = fix-menu-margins.patch
+ source = remove-newtab-menuitem.patch
+ source = remove-text-encoding-menuitem.patch
+ source = add-various-menuitem.patch
+ source = remove-gnome-menu.patch
+ source = hide-fonts-and-style-tab.patch
+ source = notebook-margin.patch
+ sha1sums = SKIP
+ sha1sums = 2a8fda153bf3fb2d9a14b632082329ed6e2d8fab
+ sha1sums = 2c1c89aee5e1ea2ca47d518690b93238213e73fd
+ sha1sums = 66527476f0f7ef19eefdfd2c700748350c1e24b9
+ sha1sums = 9ee462279ae5115535590ce6fb3318de7f7eeba1
+ sha1sums = 6830e08ab8f2fc363768a3357544c5322f3f702a
+ sha1sums = ec44a91a1693c664e55ef42c21ae2d9e27c75148
+ sha1sums = 8be3e4ce2d2dd1226faaeb1937e93aedbfc5c7a9
+ sha1sums = d1153085b4827a12aa3959ad6d7ab7e80b2a4754
+ sha1sums = cb88f86c9e44936993ab2e3a02f71874de422ae7
+ sha1sums = 1588217c2f425172693b4c6430accbc03273a349
+ sha1sums = fd94fe5b97a9e1d189f1f9e0310389831aa14e10
+ sha1sums = 2b07c438cdabe254a33b6b5f180f9359e3e21422
+ sha1sums = 8deb1718a29e157e888a1358048200cc5887b1f3
+ sha1sums = 58227528aa8bc1d1480fbd0f5e18a6eb11450ba8
+ sha1sums = 33246f87659164729c55a201151c368bd0f02b9c
+ sha1sums = 67f6d0c60cbf4ea9252c56d3ac37090fd18a534c
+ sha1sums = e125a6e6ca85ad06d192e1c200190438ca2b1f8a
+ sha1sums = 5a0aa426e87cfb2943a68ca70e1b301b0e6f427a
+ sha1sums = cd1090f20a153d77060aa1d6304c4d5e621c125f
pkgname = epiphany-pantheon
diff --git a/24px-color-toolbar-icons-reduced.patch b/24px-color-toolbar-icons-reduced.patch
new file mode 100644
index 000000000000..69c845e3fed5
--- /dev/null
+++ b/24px-color-toolbar-icons-reduced.patch
@@ -0,0 +1,43 @@
+diff --git a/src/ephy-header-bar.c b/src/ephy-header-bar.c
+index 00cb6f038..202962795 100644
+--- a/src/ephy-header-bar.c
++++ b/src/ephy-header-bar.c
+@@ -750,7 +750,7 @@ ephy_header_bar_constructed (GObject *object)
+ button = gtk_menu_button_new ();
+ header_bar->page_menu_button = button;
+ gtk_button_set_image (GTK_BUTTON (button),
+- gtk_image_new_from_icon_name ("open-menu-symbolic", GTK_ICON_SIZE_BUTTON));
++ gtk_image_new_from_icon_name ("open-menu", GTK_ICON_SIZE_LARGE_TOOLBAR));
+ gtk_widget_set_valign (button, GTK_ALIGN_CENTER);
+ g_type_ensure (G_TYPE_THEMED_ICON);
+ /* FIXME: This is horrible, but it doesn't seem possible to hide a single menu item of an existing menu.
+--- a/src/ephy-action-bar-start.c 2019-05-29 03:01:42.582080213 +0900
++++ b/src/ephy-action-bar-start.c 2019-05-29 03:53:11.623159543 +0900
+@@ -576,14 +576,14 @@
+ if (loading) {
+ gtk_image_set_from_icon_name (GTK_IMAGE (action_bar_start->combined_stop_reload_image),
+ "process-stop-symbolic",
+- GTK_ICON_SIZE_BUTTON);
++ GTK_ICON_SIZE_LARGE_TOOLBAR);
+ /* Translators: tooltip for the stop button */
+ gtk_widget_set_tooltip_text (action_bar_start->combined_stop_reload_button,
+ _("Stop loading the current page"));
+ } else {
+ gtk_image_set_from_icon_name (GTK_IMAGE (action_bar_start->combined_stop_reload_image),
+ "view-refresh-symbolic",
+- GTK_ICON_SIZE_BUTTON);
++ GTK_ICON_SIZE_LARGE_TOOLBAR);
+ gtk_widget_set_tooltip_text (action_bar_start->combined_stop_reload_button,
+ _(REFRESH_BUTTON_TOOLTIP));
+ }
+--- a/src/resources/gtk/action-bar-end.ui 2019-05-29 03:01:42.504080211 +0900
++++ b/src/resources/gtk/action-bar-end.ui 2019-05-29 04:06:05.002179404 +0900
+@@ -15,7 +15,7 @@
+ <child>
+ <object class="GtkImage" id="bookmarks_image">
+ <property name="visible">True</property>
+- <property name="icon-name">ephy-bookmarks-symbolic</property>
++ <property name="icon-name">user-bookmarks</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
diff --git a/PKGBUILD b/PKGBUILD
index 359b552fdae2..da776e9eeb42 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,49 +1,137 @@
-# Maintainer: Que Quotion <quequotion@bugmenot.com>
-# Contributor: Adria Arrufat <adria DOT arrufat+aur AT protonmail DOT ch>
+# Maintainer: Que Quotion <quequotion at bugmenot dot com>
+# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=epiphany-pantheon
-pkgver=3.28.0.1+1ubuntu1+r21.dbc305d50
-pkgrel=5
-pkgdesc="GNOME web browser based on the WebKit rendering engine (with elementary OS patches)"
-url="https://gitlab.gnome.org/GNOME/epiphany/"
-arch=('i686' 'x86_64')
-license=('GPL')
-depends=('webkit2gtk>=2.19.4' gcr libdazzle gst-libav)
-makedepends=(meson docbook-xml startup-notification lsb-release
- gobject-introspection yelp-tools autoconf-archive appstream-glib git)
+pkgver=3.32.2
+pkgrel=1
+pkgdesc="A GNOME web browser based on the WebKit rendering engine (with elementary OS patches)"
+url="https://wiki.gnome.org/Apps/Web"
+arch=(x86_64)
+license=(GPL)
+depends=(webkit2gtk gcr icu libdazzle libhandy) #gst-libav
+makedepends=(docbook-xml startup-notification lsb-release gobject-introspection yelp-tools
+ appstream-glib git meson) #autoconf-archive
+checkdepends=(xorg-server-xvfb)
groups=(pantheon)
-replaces=(epiphany-pantheon-bzr)
provides=(epiphany="${pkgver}" epiphany-sync)
-conflicts=(epiphany)
-source=("git+https://github.com/elementary/os-patches.git#branch=epiphany-browser-bionic-patched"
+_commit=d154e6cea18123576d511512827cd6308c9780e2 # tags/3.32.2^0
+source=("$pkgname::git+https://gitlab.gnome.org/GNOME/epiphany.git#commit=$_commit"
epiphany-sync{,.service}
- "add-preview-widget.patch")
-sha256sums=('SKIP'
- 'cf90f3ea93fff8c61f82da40c8d07d5db2f33dc9a0d91408a6ffc4142bbedd20'
- 'ce1ac321d7bf9d88638634a141dfcb99119fc59ee44c4892e0874608e85006ba'
- 'fdd161fa242ebe39e198a19f2eced9bdc9870601e91a11643e5bebafa87ba1f8')
+ "full-width-url-bar-lesshandy.patch"
+ "24px-color-toolbar-icons-reduced.patch"
+ "tab-close-button-left.patch"
+ "new-tab-button-left.patch"
+ "use-real-name.patch"
+ "double-click-for-new-tab.patch"
+ "overlay-bar-style.patch"
+ "dodge-incognito-mode-style.patch"
+ "middle-click-close-tab.patch"
+ "add-preferences-menuitem.patch"
+ "fix-menu-margins.patch"
+ "remove-newtab-menuitem.patch"
+ "remove-text-encoding-menuitem.patch"
+ "add-various-menuitem.patch"
+ "remove-gnome-menu.patch"
+ "hide-fonts-and-style-tab.patch"
+ "notebook-margin.patch")
-pkgver() {
- cd "os-patches"
+sha1sums=('SKIP'
+ '2a8fda153bf3fb2d9a14b632082329ed6e2d8fab'
+ '2c1c89aee5e1ea2ca47d518690b93238213e73fd'
+ '66527476f0f7ef19eefdfd2c700748350c1e24b9'
+ '9ee462279ae5115535590ce6fb3318de7f7eeba1'
+ '6830e08ab8f2fc363768a3357544c5322f3f702a'
+ 'ec44a91a1693c664e55ef42c21ae2d9e27c75148'
+ '8be3e4ce2d2dd1226faaeb1937e93aedbfc5c7a9'
+ 'd1153085b4827a12aa3959ad6d7ab7e80b2a4754'
+ 'cb88f86c9e44936993ab2e3a02f71874de422ae7'
+ '1588217c2f425172693b4c6430accbc03273a349'
+ 'fd94fe5b97a9e1d189f1f9e0310389831aa14e10'
+ '2b07c438cdabe254a33b6b5f180f9359e3e21422'
+ '8deb1718a29e157e888a1358048200cc5887b1f3'
+ '58227528aa8bc1d1480fbd0f5e18a6eb11450ba8'
+ '33246f87659164729c55a201151c368bd0f02b9c'
+ '67f6d0c60cbf4ea9252c56d3ac37090fd18a534c'
+ 'e125a6e6ca85ad06d192e1c200190438ca2b1f8a'
+ '5a0aa426e87cfb2943a68ca70e1b301b0e6f427a'
+ 'cd1090f20a153d77060aa1d6304c4d5e621c125f')
- printf "3.28.0.1+1ubuntu1+r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed 's/-/+/g'
}
-prepare () {
- cd "os-patches"
- patch -Np1 < ../add-preview-widget.patch
+prepare() {
+ cd $pkgname
+
+ msg2 "../full-width-url-bar-lesshandy.patch"
+ patch -Np1 < "../full-width-url-bar-lesshandy.patch"
+ #patch out libhandy sizing method.
+
+ msg2 "../24px-color-toolbar-icons-reduced.patch"
+ patch -Np1 < "../24px-color-toolbar-icons-reduced.patch"
+ #New way of defining buttons; unclear if size specification is needed.
+
+ msg2 "../tab-close-button-left.patch"
+ patch -Np1 < "../tab-close-button-left.patch"
+
+ #msg2 "../new-tab-button-left.patch"
+ #patch -Np1 < "../new-tab-button-left.patch"
+ #Whole, terrible, new way of making interfaces.
+
+ msg2 "../use-real-name.patch"
+ patch -Np1 < "../use-real-name.patch"
+ msg2 "../double-click-for-new-tab.patch"
+ patch -Np1 < "../double-click-for-new-tab.patch"
+ msg2 "../overlay-bar-style.patch"
+ patch -Np1 < "../overlay-bar-style.patch"
+
+ #msg2 "../dodge-incognito-mode-style.patch"
+ #patch -Np1 < "../dodge-incognito-mode-style.patch"
+ #No longer posssible to do this only for header or defined elsewhere?
+
+ msg2 "../middle-click-close-tab.patch"
+ patch -Np1 < "../middle-click-close-tab.patch"
+ msg2 "../add-preferences-menuitem.patch"
+ patch -Np1 < "../add-preferences-menuitem.patch"
+ msg2 "../fix-menu-margins.patch"
+ patch -Np1 < "../fix-menu-margins.patch"
+
+ #msg2 "../remove-newtab-menuitem.patch"
+ #patch -Np1 < "../remove-newtab-menuitem.patch"
+ #Already removed upstream?
+
+ #msg2 "../remove-text-encoding-menuitem.patch"
+ #patch -Np1 < "../remove-text-encoding-menuitem.patch"
+ #Already removed upstream? Replaced with "Override text encoding"?
+
+ msg2 "../add-various-menuitem.patch"
+ patch -Np1 < "../add-various-menuitem.patch"
+
+ #msg2 "../remove-gnome-menu.patch"
+ #patch -Np1 < "../remove-gnome-menu.patch"
+ #?????
+
+ msg2 "../hide-fonts-and-style-tab.patch"
+ patch -Np1 < "../hide-fonts-and-style-tab.patch"
+ msg2 "../notebook-margin.patch"
+ patch -Np1 < "../notebook-margin.patch"
}
build() {
- cd "os-patches"
- [ -d build ] && rm -rf build
- arch-meson build
- ninja -C build
+ arch-meson $pkgname build \
+ -D distributor_name="Arch Linux®"
+ ninja -C build
+}
+
+check() {
+ # ERROR:../epiphany/tests/ephy-web-app-utils-test.c:109:test_web_app_lifetime: assertion failed (g_list_length (apps) == 1): (0 == 1)
+ xvfb-run meson test -C build --print-errorlogs || :
}
package() {
- cd "os-patches"
- DESTDIR="${pkgdir}" ninja -C build install
- install -Dm 755 {"${srcdir}","${pkgdir}"/usr/bin}/epiphany-sync
- install -Dm 644 {"${srcdir}","${pkgdir}"/usr/lib/systemd/user}/epiphany-sync.service
+ DESTDIR="$pkgdir" meson install -C build
+ install -Dm 755 {"${srcdir}","${pkgdir}"/usr/bin}/epiphany-sync
+ install -Dm 644 {"${srcdir}","${pkgdir}"/usr/lib/systemd/user}/epiphany-sync.service
}
diff --git a/add-preferences-menuitem.patch b/add-preferences-menuitem.patch
new file mode 100644
index 000000000000..29b9104b3b59
--- /dev/null
+++ b/add-preferences-menuitem.patch
@@ -0,0 +1,27 @@
+diff --git a/src/resources/gtk/page-menu-popover.ui b/src/resources/gtk/page-menu-popover.ui
+index 651ae4140..2601450a4 100644
+--- a/src/resources/gtk/page-menu-popover.ui
++++ b/src/resources/gtk/page-menu-popover.ui
+@@ -181,6 +181,22 @@
+ <property name="visible">True</property>
+ </object>
+ </child>
++ <child>
++ <object class="GtkSeparator" id="preferences-separator">
++ <property name="orientation">horizontal</property>
++ <property name="margin-top">6</property>
++ <property name="margin-bottom">6</property>
++ <property name="visible">True</property>
++ </object>
++ </child>
++ <child>
++ <object class="GtkModelButton" id="preferences-button">
++ <property name="can_focus">True</property>
++ <property name="text" translatable="yes">Preferences</property>
++ <property name="action-name">app.preferences</property>
++ <property name="visible">True</property>
++ </object>
++ </child>
+ </object>
+ </child>
+ </object>
diff --git a/add-preview-widget.patch b/add-preview-widget.patch
deleted file mode 100644
index 25dce44ca792..000000000000
--- a/add-preview-widget.patch
+++ /dev/null
@@ -1,182 +0,0 @@
-diff --git a/embed/ephy-web-view.c b/embed/ephy-web-view.c
-index f18b8acf0..f9ff26654 100644
---- a/embed/ephy-web-view.c
-+++ b/embed/ephy-web-view.c
-@@ -31,6 +31,7 @@
- #include "ephy-embed-utils.h"
- #include "ephy-embed.h"
- #include "ephy-favicon-helpers.h"
-+#include "ephy-file-chooser.h"
- #include "ephy-file-helpers.h"
- #include "ephy-file-monitor.h"
- #include "ephy-gsb-utils.h"
-@@ -300,6 +301,59 @@ popups_manager_hide_all (EphyWebView *view)
- view->shown_popups = NULL;
- }
-
-+static void
-+open_response_cb (GtkFileChooser *dialog,
-+ gint response,
-+ WebKitFileChooserRequest *request)
-+{
-+ if (response == GTK_RESPONSE_ACCEPT) {
-+ GSList *file_list = gtk_file_chooser_get_filenames (dialog);
-+ GPtrArray *file_array = g_ptr_array_new ();
-+
-+ for (GSList *file = file_list; file; file = g_slist_next (file))
-+ g_ptr_array_add (file_array, file->data);
-+
-+ g_ptr_array_add (file_array, NULL);
-+ webkit_file_chooser_request_select_files (request, (const char * const *)file_array->pdata);
-+ g_slist_free_full (file_list, g_free);
-+ g_ptr_array_free (file_array, FALSE);
-+ } else {
-+ webkit_file_chooser_request_cancel (request);
-+ }
-+
-+ g_object_unref (request);
-+ g_object_unref (dialog);
-+}
-+
-+static gboolean
-+ephy_web_view_run_file_chooser (WebKitWebView *web_view,
-+ WebKitFileChooserRequest *request)
-+{
-+
-+ GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (web_view));
-+ GtkFileChooser *dialog;
-+ gboolean allows_multiple_selection = webkit_file_chooser_request_get_select_multiple (request);
-+ GtkFileFilter *filter = webkit_file_chooser_request_get_mime_types_filter (request);
-+
-+ dialog = ephy_create_file_chooser (_("Open"),
-+ GTK_WIDGET (toplevel),
-+ GTK_FILE_CHOOSER_ACTION_OPEN,
-+ EPHY_FILE_FILTER_ALL);
-+
-+ if (filter)
-+ gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (dialog), filter);
-+
-+ gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (dialog), allows_multiple_selection);
-+
-+ g_signal_connect (dialog, "response",
-+ G_CALLBACK (open_response_cb),
-+ g_object_ref (request));
-+
-+ gtk_native_dialog_show (GTK_NATIVE_DIALOG (dialog));
-+
-+ return TRUE;
-+}
-+
- static void
- ephy_web_view_set_popups_allowed (EphyWebView *view,
- gboolean allowed)
-@@ -1126,6 +1180,7 @@ ephy_web_view_class_init (EphyWebViewClass *klass)
- {
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
-+ WebKitWebViewClass *webkit_webview_class = WEBKIT_WEB_VIEW_CLASS (klass);
-
- gobject_class->dispose = ephy_web_view_dispose;
- gobject_class->finalize = ephy_web_view_finalize;
-@@ -1136,6 +1191,8 @@ ephy_web_view_class_init (EphyWebViewClass *klass)
- widget_class->button_press_event = ephy_web_view_button_press_event;
- widget_class->key_press_event = ephy_web_view_key_press_event;
-
-+ webkit_webview_class->run_file_chooser = ephy_web_view_run_file_chooser;
-+
- /**
- * EphyWebView:address:
- *
-diff --git a/lib/widgets/ephy-file-chooser.c b/lib/widgets/ephy-file-chooser.c
-index a0a53b73e..d27309105 100644
---- a/lib/widgets/ephy-file-chooser.c
-+++ b/lib/widgets/ephy-file-chooser.c
-@@ -31,7 +31,13 @@
-
- #include <gtk/gtk.h>
- #include <glib/gi18n.h>
-+#include <glib/gstdio.h>
-
-+#include <sys/stat.h>
-+#include <sys/types.h>
-+
-+#define MAX_PREVIEW_SIZE 180
-+#define MAX_PREVIEW_SOURCE_SIZE 4096
-
- static GtkFileFilter *
- ephy_file_chooser_add_pattern_filter (GtkFileChooser *dialog,
-@@ -89,6 +95,53 @@ ephy_file_chooser_add_mime_filter (GtkFileChooser *dialog,
- return filth;
- }
-
-+static void
-+update_preview_cb (GtkFileChooser *file_chooser,
-+ gpointer data)
-+{
-+ GtkImage *preview = GTK_IMAGE (data);
-+ g_autofree char *filename = gtk_file_chooser_get_preview_filename (file_chooser);
-+ gint preview_width = 0;
-+ gint preview_height = 0;
-+ struct g_stat st_buf;
-+ g_autoptr (GdkPixbuf) pixbuf = NULL;
-+
-+ GdkPixbufFormat *preview_format = gdk_pixbuf_get_file_info (filename,
-+ &preview_width,
-+ &preview_height);
-+
-+ if (!filename || g_stat (filename, &st_buf) || (!S_ISREG (st_buf.st_mode))) {
-+ gtk_file_chooser_set_preview_widget_active (file_chooser, FALSE);
-+ return; // stat failed or file is not regular
-+ }
-+
-+ if (!preview_format ||
-+ preview_width <= 0 || preview_height <= 0 ||
-+ preview_width > MAX_PREVIEW_SOURCE_SIZE ||
-+ preview_height > MAX_PREVIEW_SOURCE_SIZE) {
-+ gtk_file_chooser_set_preview_widget_active (file_chooser, FALSE);
-+ return; // unpreviewable, 0px, or unsafely large
-+ }
-+
-+ if (preview_width > MAX_PREVIEW_SIZE || preview_height > MAX_PREVIEW_SIZE) {
-+ pixbuf = gdk_pixbuf_new_from_file_at_size (filename,
-+ MAX_PREVIEW_SIZE,
-+ MAX_PREVIEW_SIZE,
-+ NULL);
-+ } else {
-+ pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
-+ }
-+
-+ pixbuf = gdk_pixbuf_apply_embedded_orientation (pixbuf);
-+
-+ gtk_widget_set_size_request (GTK_WIDGET (preview),
-+ gdk_pixbuf_get_width (pixbuf) + 6,
-+ gdk_pixbuf_get_height (pixbuf) + 6);
-+
-+ gtk_image_set_from_pixbuf (preview, pixbuf);
-+ gtk_file_chooser_set_preview_widget_active (file_chooser, pixbuf != NULL);
-+}
-+
- GtkFileChooser *
- ephy_create_file_chooser (const char *title,
- GtkWidget *parent,
-@@ -98,6 +151,7 @@ ephy_create_file_chooser (const char *title,
- GtkFileChooser *dialog;
- GtkFileFilter *filter[EPHY_FILE_FILTER_LAST];
- char *downloads_dir;
-+ GtkWidget *preview = gtk_image_new ();
-
- g_assert (GTK_IS_WINDOW (parent));
- g_assert (default_filter >= 0 && default_filter <= EPHY_FILE_FILTER_LAST);
-@@ -121,6 +175,12 @@ ephy_create_file_chooser (const char *title,
- gtk_file_chooser_native_set_accept_label (GTK_FILE_CHOOSER_NATIVE (dialog), _("_Save"));
- }
-
-+ gtk_file_chooser_set_preview_widget (dialog, preview);
-+ gtk_file_chooser_set_use_preview_label (dialog, FALSE);
-+ g_signal_connect (dialog, "update-preview",
-+ G_CALLBACK (update_preview_cb),
-+ preview);
-+
- if (default_filter != EPHY_FILE_FILTER_NONE) {
- filter[EPHY_FILE_FILTER_ALL_SUPPORTED] =
- ephy_file_chooser_add_mime_filter
diff --git a/add-various-menuitem.patch b/add-various-menuitem.patch
new file mode 100644
index 000000000000..ce62264b6eb3
--- /dev/null
+++ b/add-various-menuitem.patch
@@ -0,0 +1,66 @@
+diff --git a/src/resources/gtk/page-menu-popover.ui b/src/resources/gtk/page-menu-popover.ui
+index 216e31479..c14812e6e 100644
+--- a/src/resources/gtk/page-menu-popover.ui
++++ b/src/resources/gtk/page-menu-popover.ui
+@@ -160,6 +160,46 @@
+ <property name="visible">True</property>
+ </object>
+ </child>
++ <child>
++ <object class="GtkSeparator">
++ <property name="orientation">horizontal</property>
++ <property name="margin-top">6</property>
++ <property name="margin-bottom">6</property>
++ <property name="visible">True</property>
++ </object>
++ </child>
++ <child>
++ <object class="GtkModelButton">
++ <property name="can_focus">True</property>
++ <property name="text" translatable="yes">I_mport Bookmarks</property>
++ <property name="action-name">app.import-bookmarks</property>
++ <property name="visible">True</property>
++ </object>
++ </child>
++ <child>
++ <object class="GtkModelButton">
++ <property name="can_focus">True</property>
++ <property name="text" translatable="yes">E_xport Bookmarks</property>
++ <property name="action-name">app.export-bookmarks</property>
++ <property name="visible">True</property>
++ </object>
++ </child>
++ <child>
++ <object class="GtkSeparator">
++ <property name="orientation">horizontal</property>
++ <property name="margin-top">6</property>
++ <property name="margin-bottom">6</property>
++ <property name="visible">True</property>
++ </object>
++ </child>
++ <child>
++ <object class="GtkModelButton">
++ <property name="can_focus">True</property>
++ <property name="text" translatable="yes">_History</property>
++ <property name="action-name">app.history</property>
++ <property name="visible">True</property>
++ </object>
++ </child>
+ <child>
+ <object class="GtkSeparator" id="preferences-separator">
+ <property name="orientation">horizontal</property>
+@@ -168,6 +208,14 @@
+ <property name="visible">True</property>
+ </object>
+ </child>
++ <child>
++ <object class="GtkModelButton">
++ <property name="can_focus">True</property>
++ <property name="text" translatable="yes">_Keyboard Shortcuts</property>
++ <property name="action-name">app.shortcuts</property>
++ <property name="visible">True</property>
++ </object>
++ </child>
+ <child>
+ <object class="GtkModelButton" id="preferences-button">
+ <property name="can_focus">True</property>
diff --git a/dodge-incognito-mode-style.patch b/dodge-incognito-mode-style.patch
new file mode 100644
index 000000000000..2b788ad52a6f
--- /dev/null
+++ b/dodge-incognito-mode-style.patch
@@ -0,0 +1,13 @@
+diff --git a/src/ephy-window.c b/src/ephy-window.c
+index 3d90f2610..279c9c358 100644
+--- a/src/ephy-window.c
++++ b/src/ephy-window.c
+@@ -2965,7 +2965,7 @@ setup_header_bar (EphyWindow *window)
+
+ app_mode = ephy_embed_shell_get_mode (ephy_embed_shell_get_default ());
+ if (app_mode == EPHY_EMBED_SHELL_MODE_INCOGNITO)
+- gtk_style_context_add_class (gtk_widget_get_style_context (header_bar), "incognito-mode");
++ gtk_style_context_add_class (gtk_widget_get_style_context (header_bar), "incognito");
+
+ title_widget = ephy_header_bar_get_title_widget (EPHY_HEADER_BAR (header_bar));
+ g_signal_connect (title_widget, "lock-clicked",
diff --git a/double-click-for-new-tab.patch b/double-click-for-new-tab.patch
new file mode 100644
index 000000000000..bf0039992e30
--- /dev/null
+++ b/double-click-for-new-tab.patch
@@ -0,0 +1,25 @@
+diff --git a/src/ephy-notebook.c b/src/ephy-notebook.c
+index dee8f1b4b..3947ff681 100644
+--- a/src/ephy-notebook.c
++++ b/src/ephy-notebook.c
+@@ -234,6 +234,20 @@ button_press_cb (EphyNotebook *notebook,
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), tab_clicked);
+ }
+
++ /* Open a new tab when double-clicked. */
++ if (event->type == GDK_2BUTTON_PRESS &&
++ event->button == 1 &&
++ (event->state & gtk_accelerator_get_default_mod_mask ()) == 0)
++ {
++ GtkWindow *window;
++ GActionGroup *group;
++ GAction *action;
++ window = gtk_widget_get_toplevel (GTK_WIDGET (notebook));
++ group = gtk_widget_get_action_group (GTK_WIDGET (window), "win");
++ action = g_action_map_lookup_action (G_ACTION_MAP (group), "new-tab");
++ g_action_activate (action, NULL);
++ }
++
+ return GDK_EVENT_PROPAGATE;
+ }
+
diff --git a/fix-menu-margins.patch b/fix-menu-margins.patch
new file mode 100644
index 000000000000..d38d5834743b
--- /dev/null
+++ b/fix-menu-margins.patch
@@ -0,0 +1,34 @@
+diff --git a/src/resources/gtk/page-menu-popover.ui b/src/resources/gtk/page-menu-popover.ui
+index 2601450a4..42e3acde2 100644
+--- a/src/resources/gtk/page-menu-popover.ui
++++ b/src/resources/gtk/page-menu-popover.ui
+@@ -4,7 +4,7 @@
+ <child>
+ <object class="GtkBox">
+ <property name="can_focus">False</property>
+- <property name="border_width">12</property>
++ <property name="margin-bottom">6</property>
+ <property name="orientation">vertical</property>
+ <property name="visible">True</property>
+ <child>
+@@ -12,7 +12,8 @@
+ <property name="visible">True</property>
+ <property name="orientation">horizontal</property>
+ <property name="homogeneous">True</property>
+- <property name="margin-bottom">6</property>
++ <property name="margin">12</property>
++ <property name="margin_bottom">0</property>
+ <style>
+ <class name="linked"/>
+ </style>
+@@ -69,7 +70,9 @@
+ <property name="orientation">horizontal</property>
+ <property name="spacing">6</property>
+ <property name="homogeneous">True</property>
+- <property name="margin-bottom">6</property>
++ <property name="margin">12</property>
++ <property name="margin_bottom">6</property>
++ <property name="margin_top">0</property>
+ <child>
+ <object class="GtkModelButton">
+ <property name="text" translatable="yes">Zoom Out</property>
diff --git a/full-width-url-bar-lesshandy.patch b/full-width-url-bar-lesshandy.patch
new file mode 100644
index 000000000000..1781a4ac3914
--- /dev/null
+++ b/full-width-url-bar-lesshandy.patch
@@ -0,0 +1,20 @@
+--- a/src/ephy-header-bar.c 2019-05-29 03:01:42.582080213 +0900
++++ b/src/ephy-header-bar.c 2019-05-29 03:42:07.296142482 +0900
+@@ -183,13 +183,10 @@
+ header_bar->title_widget = EPHY_TITLE_WIDGET (ephy_title_box_new ());
+ else
+ header_bar->title_widget = EPHY_TITLE_WIDGET (ephy_location_entry_new ());
+- column = hdy_column_new ();
+- gtk_widget_set_hexpand (GTK_WIDGET (column), TRUE);
+- gtk_widget_show (GTK_WIDGET (column));
+- hdy_column_set_maximum_width (column, 860);
+- hdy_column_set_linear_growth_width (column, 560);
+- gtk_container_add (GTK_CONTAINER (column), GTK_WIDGET (header_bar->title_widget));
+- gtk_header_bar_set_custom_title (GTK_HEADER_BAR (header_bar), GTK_WIDGET (column));
++ gtk_widget_set_hexpand (GTK_WIDGET (header_bar->title_widget), true);
++ gtk_widget_set_margin_start (GTK_WIDGET (header_bar->title_widget), 24);
++ gtk_widget_set_margin_end (GTK_WIDGET (header_bar->title_widget), 6);
++ gtk_header_bar_set_custom_title (GTK_HEADER_BAR (header_bar), GTK_WIDGET (header_bar->title_widget));
+ gtk_widget_show (GTK_WIDGET (header_bar->title_widget));
+
+ if (EPHY_IS_LOCATION_ENTRY (header_bar->title_widget)) {
diff --git a/hide-fonts-and-style-tab.patch b/hide-fonts-and-style-tab.patch
new file mode 100644
index 000000000000..4be6e7189099
--- /dev/null
+++ b/hide-fonts-and-style-tab.patch
@@ -0,0 +1,31 @@
+diff --git a/src/resources/gtk/prefs-dialog.ui b/src/resources/gtk/prefs-dialog.ui
+index e2584996a..943af2552 100644
+--- a/src/resources/gtk/prefs-dialog.ui
++++ b/src/resources/gtk/prefs-dialog.ui
+@@ -305,7 +305,7 @@
+ </child>
+ <child>
+ <object class="GtkBox">
+- <property name="visible">True</property>
++ <property name="visible">false</property>
+ <property name="border-width">12</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">18</property>
+@@ -459,16 +459,7 @@
+ <property name="position">1</property>
+ </packing>
+ </child>
+- <child type="tab">
+- <object class="GtkLabel">
+- <property name="visible">True</property>
+- <property name="label" translatable="yes">Fonts &amp; Style</property>
+- </object>
+- <packing>
+- <property name="position">1</property>
+- <property name="tab_fill">False</property>
+- </packing>
+- </child>
++
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
diff --git a/middle-click-close-tab.patch b/middle-click-close-tab.patch
new file mode 100644
index 000000000000..0d7f9116c09d
--- /dev/null
+++ b/middle-click-close-tab.patch
@@ -0,0 +1,21 @@
+diff --git a/src/ephy-notebook.c b/src/ephy-notebook.c
+index 3947ff681..07c0afa7f 100644
+--- a/src/ephy-notebook.c
++++ b/src/ephy-notebook.c
+@@ -248,6 +248,16 @@ button_press_cb (EphyNotebook *notebook,
+ g_action_activate (action, NULL);
+ }
+
++ /* Close the tab if it gets middle clicked */
++ if (event->type == GDK_BUTTON_PRESS &&
++ event->button == 2 &&
++ (event->state & gtk_accelerator_get_default_mod_mask ()) == 0)
++ {
++ GtkWidget *tab;
++ tab = gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), tab_clicked);
++ g_signal_emit (notebook, signals[TAB_CLOSE_REQUEST], 0, tab);
++ }
++
+ return GDK_EVENT_PROPAGATE;
+ }
+
diff --git a/new-tab-button-left.patch b/new-tab-button-left.patch
new file mode 100644
index 000000000000..2e67a4c78952
--- /dev/null
+++ b/new-tab-button-left.patch
@@ -0,0 +1,13 @@
+diff --git a/src/ephy-notebook.c b/src/ephy-notebook.c
+index 6bb8e6086..dee8f1b4b 100644
+--- a/src/ephy-notebook.c
++++ b/src/ephy-notebook.c
+@@ -477,7 +477,7 @@ ephy_notebook_constructed (GObject *object)
+ gtk_actionable_set_action_name (GTK_ACTIONABLE (button), "win.new-tab");
+ /* Translators: tooltip for the new tab button */
+ gtk_widget_set_tooltip_text (button, _("Open a new tab"));
+- gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
++ gtk_notebook_set_action_widget (GTK_NOTEBOOK (notebook), button, GTK_PACK_START);
+ gtk_widget_show (button);
+
+ button = gtk_menu_button_new ();
diff --git a/notebook-margin.patch b/notebook-margin.patch
new file mode 100644
index 000000000000..5c3ee902a41b
--- /dev/null
+++ b/notebook-margin.patch
@@ -0,0 +1,12 @@
+diff --git a/src/resources/gtk/prefs-dialog.ui b/src/resources/gtk/prefs-dialog.ui
+index 943af2552..4a248d22f 100644
+--- a/src/resources/gtk/prefs-dialog.ui
++++ b/src/resources/gtk/prefs-dialog.ui
+@@ -24,6 +24,7 @@
+ <object class="GtkNotebook" id="notebook">
+ <property name="visible">True</property>
+ <property name="show_border">False</property>
++ <property name="margin">12</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
diff --git a/overlay-bar-style.patch b/overlay-bar-style.patch
new file mode 100644
index 000000000000..fd3bdee01f26
--- /dev/null
+++ b/overlay-bar-style.patch
@@ -0,0 +1,44 @@
+diff --git a/embed/ephy-embed.c b/embed/ephy-embed.c
+index 563f73670..c6b66a290 100644
+--- a/embed/ephy-embed.c
++++ b/embed/ephy-embed.c
+@@ -156,6 +156,11 @@ static void
+ ephy_embed_set_statusbar_label (EphyEmbed *embed, const char *label)
+ {
+ nautilus_floating_bar_set_primary_label (NAUTILUS_FLOATING_BAR (embed->floating_bar), label);
++ g_object_set (NAUTILUS_FLOATING_BAR (embed->floating_bar),
++ "margin-bottom", 3,
++ "margin-start", 3,
++ "margin-end", 3,
++ NULL);
+
+ if (label == NULL || label[0] == '\0') {
+ gtk_widget_hide (embed->floating_bar);
+diff --git a/lib/widgets/contrib/nautilus-floating-bar.c b/lib/widgets/contrib/nautilus-floating-bar.c
+index 72bd1b02b..08fd83f18 100644
+--- a/lib/widgets/contrib/nautilus-floating-bar.c
++++ b/lib/widgets/contrib/nautilus-floating-bar.c
+@@ -364,10 +364,10 @@ nautilus_floating_bar_constructed (GObject *obj)
+ labels_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+ gtk_box_pack_start (GTK_BOX (box), labels_box, TRUE, TRUE, 0);
+ g_object_set (labels_box,
+- "margin-top", 2,
+- "margin-bottom", 2,
+- "margin-start", 12,
+- "margin-end", 12,
++ "margin-top", 0,
++ "margin-bottom", 0,
++ "margin-start", 0,
++ "margin-end", 0,
+ NULL);
+ gtk_widget_show (labels_box);
+
+@@ -394,7 +394,7 @@ nautilus_floating_bar_init (NautilusFloatingBar *self)
+ NautilusFloatingBarDetails);
+
+ context = gtk_widget_get_style_context (GTK_WIDGET (self));
+- gtk_style_context_add_class (context, "floating-bar");
++ gtk_style_context_add_class (context, "overlay-bar");
+ }
+
+ static void
diff --git a/pluginsdir.diff b/pluginsdir.diff
deleted file mode 100644
index f1ce3311a6c8..000000000000
--- a/pluginsdir.diff
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/embed/ephy-embed-shell.c
-+++ b/embed/ephy-embed-shell.c
-@@ -671,6 +671,7 @@ ephy_embed_shell_create_web_context (EphyEmbedShell *shell)
- g_free (cache_dir);
-
- priv->web_context = webkit_web_context_new_with_website_data_manager (manager);
-+ webkit_web_context_set_additional_plugins_directory (priv->web_context, EPHY_PLUGINS_DIR);
- g_object_unref (manager);
- }
-
---- a/meson.build
-+++ a/meson.build
-@@ -17,6 +17,7 @@
- pkglibdir = join_paths(libdir, 'epiphany')
- pkglibexecdir = join_paths(libexecdir, 'epiphany')
- webextensionsdir = join_paths(pkglibdir, 'web-extensions')
-+pluginsdir = join_paths(pkglibdir, 'plugins')
-
- iso_codes = dependency('iso-codes')
- iso_codes_prefix = iso_codes.get_pkgconfig_variable('prefix')
diff --git a/remove-gnome-menu.patch b/remove-gnome-menu.patch
new file mode 100644
index 000000000000..672f4350cd0f
--- /dev/null
+++ b/remove-gnome-menu.patch
@@ -0,0 +1,14 @@
+diff --git a/src/ephy-shell.c b/src/ephy-shell.c
+index d91fbcbf7..57eb3be6c 100644
+--- a/src/ephy-shell.c
++++ b/src/ephy-shell.c
+@@ -420,9 +420,6 @@ ephy_shell_startup (GApplication *application)
+ ephy_shell_get_sync_service (shell);
+ }
+ }
+-
+- gtk_application_set_app_menu (GTK_APPLICATION (application),
+- G_MENU_MODEL (gtk_builder_get_object (builder, "app-menu")));
+ } else {
+ g_action_map_add_action_entries (G_ACTION_MAP (application),
+ app_mode_app_entries, G_N_ELEMENTS (app_mode_app_entries),
diff --git a/remove-newtab-menuitem.patch b/remove-newtab-menuitem.patch
new file mode 100644
index 000000000000..c9a043b43a4d
--- /dev/null
+++ b/remove-newtab-menuitem.patch
@@ -0,0 +1,19 @@
+diff --git a/src/resources/gtk/page-menu-popover.ui b/src/resources/gtk/page-menu-popover.ui
+index 42e3acde2..e0c32c4d3 100644
+--- a/src/resources/gtk/page-menu-popover.ui
++++ b/src/resources/gtk/page-menu-popover.ui
+@@ -128,14 +128,6 @@
+ <property name="visible">True</property>
+ </object>
+ </child>
+- <child>
+- <object class="GtkModelButton">
+- <property name="can_focus">True</property>
+- <property name="text" translatable="yes">_New Tab</property>
+- <property name="action-name">win.new-tab</property>
+- <property name="visible">True</property>
+- </object>
+- </child>
+ <child>
+ <object class="GtkModelButton">
+ <property name="can_focus">True</property>
diff --git a/remove-text-encoding-menuitem.patch b/remove-text-encoding-menuitem.patch
new file mode 100644
index 000000000000..565e9dc4bdef
--- /dev/null
+++ b/remove-text-encoding-menuitem.patch
@@ -0,0 +1,27 @@
+diff --git a/src/resources/gtk/page-menu-popover.ui b/src/resources/gtk/page-menu-popover.ui
+index e0c32c4d3..216e31479 100644
+--- a/src/resources/gtk/page-menu-popover.ui
++++ b/src/resources/gtk/page-menu-popover.ui
+@@ -144,22 +144,6 @@
+ <property name="visible">True</property>
+ </object>
+ </child>
+- <child>
+- <object class="GtkSeparator">
+- <property name="orientation">horizontal</property>
+- <property name="margin-top">6</property>
+- <property name="margin-bottom">6</property>
+- <property name="visible">True</property>
+- </object>
+- </child>
+- <child>
+- <object class="GtkModelButton">
+- <property name="can_focus">True</property>
+- <property name="text" translatable="yes">Text _Encoding</property>
+- <property name="action-name">win.encoding</property>
+- <property name="visible">True</property>
+- </object>
+- </child>
+ <child>
+ <object class="GtkSeparator" id="save-as-application-separator">
+ <property name="orientation">horizontal</property>
diff --git a/tab-close-button-left.patch b/tab-close-button-left.patch
new file mode 100644
index 000000000000..0443adb468fb
--- /dev/null
+++ b/tab-close-button-left.patch
@@ -0,0 +1,74 @@
+diff --git a/src/ephy-notebook.c b/src/ephy-notebook.c
+index bddbaef23..6bb8e6086 100644
+--- a/src/ephy-notebook.c
++++ b/src/ephy-notebook.c
+@@ -705,34 +705,6 @@ build_tab_label (EphyNotebook *nb, EphyEmbed *embed)
+ box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4);
+ gtk_widget_show (box);
+
+- /* set hbox spacing and label padding (see below) so that there's an
+- * equal amount of space around the label */
+- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+- gtk_widget_show (hbox);
+- gtk_widget_set_halign (hbox, GTK_ALIGN_CENTER);
+- gtk_box_pack_start (GTK_BOX (box), hbox, TRUE, TRUE, 0);
+-
+- /* setup load feedback */
+- spinner = gtk_spinner_new ();
+- gtk_box_pack_start (GTK_BOX (hbox), spinner, FALSE, FALSE, 0);
+-
+- /* setup site icon, empty by default */
+- icon = gtk_image_new ();
+- gtk_box_pack_start (GTK_BOX (hbox), icon, FALSE, FALSE, 0);
+- /* don't show the icon */
+-
+- /* setup label */
+- label = gtk_label_new (NULL);
+- gtk_label_set_ellipsize (GTK_LABEL (label), PANGO_ELLIPSIZE_END);
+- gtk_label_set_single_line_mode (GTK_LABEL (label), TRUE);
+- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+- gtk_widget_show (label);
+-
+- /* setup speaker icon */
+- speaker_icon = gtk_image_new_from_icon_name ("audio-volume-high-symbolic",
+- GTK_ICON_SIZE_MENU);
+- gtk_box_pack_start (GTK_BOX (hbox), speaker_icon, FALSE, FALSE, 0);
+-
+ /* setup close button */
+ close_button = gtk_button_new ();
+ gtk_button_set_relief (GTK_BUTTON (close_button),
+@@ -754,6 +726,34 @@ build_tab_label (EphyNotebook *nb, EphyEmbed *embed)
+ gtk_box_pack_start (GTK_BOX (box), close_button, FALSE, FALSE, 0);
+ gtk_widget_show (close_button);
+
++ /* set hbox spacing and label padding (see below) so that there's an
++ * equal amount of space around the label */
++ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
++ gtk_widget_show (hbox);
++ gtk_widget_set_halign (hbox, GTK_ALIGN_CENTER);
++ gtk_box_pack_start (GTK_BOX (box), hbox, TRUE, TRUE, 0);
++
++ /* setup label */
++ label = gtk_label_new (NULL);
++ gtk_label_set_ellipsize (GTK_LABEL (label), PANGO_ELLIPSIZE_END);
++ gtk_label_set_single_line_mode (GTK_LABEL (label), TRUE);
++ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
++ gtk_widget_show (label);
++
++ /* setup speaker icon */
++ speaker_icon = gtk_image_new_from_icon_name ("audio-volume-high-symbolic",
++ GTK_ICON_SIZE_MENU);
++ gtk_box_pack_start (GTK_BOX (hbox), speaker_icon, FALSE, FALSE, 0);
++
++ /* setup load feedback */
++ spinner = gtk_spinner_new ();
++ gtk_box_pack_start (GTK_BOX (hbox), spinner, FALSE, FALSE, 0);
++
++ /* setup site icon, empty by default */
++ icon = gtk_image_new ();
++ gtk_box_pack_start (GTK_BOX (hbox), icon, FALSE, FALSE, 0);
++ /* don't show the icon */
++
+ /* Set minimal size */
+ g_signal_connect (box, "style-set",
+ G_CALLBACK (tab_label_style_set_cb), NULL);
diff --git a/use-real-name.patch b/use-real-name.patch
new file mode 100644
index 000000000000..d0e67adf8bc6
--- /dev/null
+++ b/use-real-name.patch
@@ -0,0 +1,11 @@
+diff --git a/data/org.gnome.Epiphany.desktop.in b/data/org.gnome.Epiphany.desktop.in
+index c02164e1e..4c2e2fea0 100644
+--- a/data/org.gnome.Epiphany.desktop.in
++++ b/data/org.gnome.Epiphany.desktop.in
+@@ -1,5 +1,5 @@
+ [Desktop Entry]
+-Name=Web
++Name=Epiphany
+ GenericName=Web Browser
+ Comment=Browse the web
+ # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!