aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomasz Gąsior2017-12-27 03:26:37 +0100
committerTomasz Gąsior2017-12-27 03:26:37 +0100
commitc15e1584a9ce7177c8d8ef5c1856e382900d90f7 (patch)
tree5b9a7c7e9ba4690432d9d40b2b8bd93d0339b4b3
parent2068ccbbe6d0cadc5db3777686ca9fb431ff0002 (diff)
downloadaur-c15e1584a9ce7177c8d8ef5c1856e382900d90f7.tar.gz
Message dialogs classic appearance.
- "Insert emoji" and CSS `:backdrop` are disabled by default. - GNOME servers are used to download source code again.
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD28
-rw-r--r--README.md15
-rw-r--r--appearance__disable-backdrop.patch16
-rw-r--r--appearance__message-dialogs.patch178
-rw-r--r--other__hide-insert-emoji.patch17
6 files changed, 250 insertions, 22 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 7425aff2633d..cb75b5d9844a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,13 +1,14 @@
pkgbase = gtk3-mushrooms
pkgdesc = GTK3 library with my modifications (see README).
pkgver = 3.22.26
- pkgrel = 2
+ pkgrel = 3
url = http://www.gtk.org/
arch = x86_64
license = LGPL
makedepends = gobject-introspection
makedepends = libcanberra
makedepends = gtk-doc
+ makedepends = sassc
depends = atk
depends = cairo
depends = libxcursor
@@ -32,13 +33,18 @@ pkgbase = gtk3-mushrooms
optdepends = dconf: default GSettings backend
optdepends = adwaita-icon-theme: default icon theme
optdepends = cantarell-fonts: default font
+ optdepends = libcanberra: sounds library
+ optdepends = colord: for printing backends
+ optdepends = rest: for printing backends
+ optdepends = libcups: for printing backends
provides = gtk3=3.22.26
provides = gtk3-print-backends
conflicts = gtk3
conflicts = gtk3-print-backends
- replaces = gtk3-print-backends<=3.22.26-1
source = appearance__buttons-menus-icons.patch
+ source = appearance__disable-backdrop.patch
source = appearance__file-chooser.patch
+ source = appearance__message-dialogs.patch
source = appearance__print-dialog.patch
source = appearance__smaller-statusbar.patch
source = csd__clean-headerbar.patch
@@ -50,6 +56,7 @@ pkgbase = gtk3-mushrooms
source = file-chooser__single-click.patch
source = file-chooser__typeahead.patch
source = other__atk-bridge-errors.patch
+ source = other__hide-insert-emoji.patch
source = other__mnemonics-delay.patch
source = other__window-background.patch
source = popovers__color-chooser.patch
@@ -57,11 +64,13 @@ pkgbase = gtk3-mushrooms
source = popovers__menu-button.patch
source = popovers__places-sidebar.patch
source = smaller-adwaita.css
- source = https://github.com/GNOME/gtk/archive/3.22.26.tar.gz
+ source = https://download.gnome.org/sources/gtk+/3.22/gtk+-3.22.26.tar.xz
source = settings.ini::https://git.archlinux.org/svntogit/packages.git/plain/trunk/settings.ini?h=packages/gtk3&id=ced279e9020925d34991926230a754bd1650da2f
source = gtk-query-immodules-3.0.hook::https://git.archlinux.org/svntogit/packages.git/plain/trunk/gtk-query-immodules-3.0.hook?h=packages/gtk3&id=ced279e9020925d34991926230a754bd1650da2f
sha256sums = 68b26360764a2ea7e057a2aaa29c6fdfe164b9987866e038d8d0188a025477fb
+ sha256sums = b2f7d5d3a784b7f833d64c2a278f1d082bec5c53b4cc19602c808223625dedeb
sha256sums = 3d4d9cac36285e19972650a33bdba815096cb256e3f0991914ed3c8c19cfb650
+ sha256sums = 54020144ac0472ae170297b4158da719b49860b17234bf54351ba30f793a7fe7
sha256sums = be4ddf03a5cce8270e8118eb331b3056972c0bd490faa6e4a4ebe332ec4c2e91
sha256sums = 81138fbaff82e37a83da1c4aa074a6c708e6c50340e0ddeff3fb70e2a0b52e1f
sha256sums = 3367e93113c8ebc31244d57845c41b81e5e70a62b64faf61f216f3455d7020b5
@@ -73,6 +82,7 @@ pkgbase = gtk3-mushrooms
sha256sums = 0cd2cd0365cb532d25ef4587882062f230dfb09f36485c568bdf27c8534831b2
sha256sums = 7b987cc9bd7ca9722bfb881b30b082c0d7409e3cd68592f5e7a1f401d73e7672
sha256sums = 99b12d7af7efc6a014e6afcab1ee82ea0feb0b5a4e9bbd663d1c45354cd34f2b
+ sha256sums = 8009a7eb0e33606526fd73306cf5ade3284ba843694328b32b98b4334410996d
sha256sums = c213812e1fafeb5565f7e329c4501195f04adcfe377b88439a6d51d478edc071
sha256sums = 3067face12ad74d664ab7951f59026c01eb8070bef007b522eb84aef1576674a
sha256sums = 7f3e5da1622e243243ea9b1e487460f608dc375e79d800d2f0d826fd30be68ed
@@ -80,7 +90,7 @@ pkgbase = gtk3-mushrooms
sha256sums = fe421b6197b4e98254019896ec79ea6b29a2140e7950ce3018ae0e1e4047b0c0
sha256sums = 2de68b575494d0d034accd7cd0ce881f366d5201a48496d8748c43f297836eac
sha256sums = 0554ba2085fb8cec8e3b926efc250ae5c15cf47f2612c10cdd0e849bfb8d05a5
- sha256sums = 6d952d9962aa5105fd5b3549d6bba115e6b4081e00a62079304989cc7787bbb5
+ sha256sums = 61eef0d320e541976e2dfe445729f12b5ade53050ee9de6184235cb60cd4b967
sha256sums = 01fc1d81dc82c4a052ac6e25bf9a04e7647267cc3017bc91f9ce3e63e5eb9202
sha256sums = de46e5514ff39a7a65e01e485e874775ab1c0ad20b8e94ada43f4a6af1370845
diff --git a/PKGBUILD b/PKGBUILD
index 092cc36602a5..ed94e0531bf5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,12 +7,11 @@ __arch_pkg_commit="ced279e9020925d34991926230a754bd1650da2f"
pkgname=gtk3-mushrooms
pkgver=3.22.26
-pkgrel=2
+pkgrel=3
pkgdesc="GTK3 library with my modifications (see README)."
url="http://www.gtk.org/"
conflicts=(gtk3 gtk3-print-backends)
provides=(gtk3=$pkgver gtk3-print-backends)
-replaces=("gtk3-print-backends<=3.22.26-1")
arch=(x86_64)
license=(LGPL)
depends=(
@@ -21,17 +20,23 @@ depends=(
json-glib librsvg wayland-protocols desktop-file-utils mesa gtk-update-icon-cache
)
makedepends=(
- gobject-introspection libcanberra gtk-doc
+ gobject-introspection libcanberra gtk-doc sassc
)
optdepends=(
'dconf: default GSettings backend'
'adwaita-icon-theme: default icon theme'
'cantarell-fonts: default font'
+ 'libcanberra: sounds library'
+ 'colord: for printing backends'
+ 'rest: for printing backends'
+ 'libcups: for printing backends'
)
source=(
# Patch files.
"appearance__buttons-menus-icons.patch"
+ "appearance__disable-backdrop.patch"
"appearance__file-chooser.patch"
+ "appearance__message-dialogs.patch"
"appearance__print-dialog.patch"
"appearance__smaller-statusbar.patch"
"csd__clean-headerbar.patch"
@@ -43,6 +48,7 @@ source=(
"file-chooser__single-click.patch"
"file-chooser__typeahead.patch"
"other__atk-bridge-errors.patch"
+ "other__hide-insert-emoji.patch"
"other__mnemonics-delay.patch"
"other__window-background.patch"
"popovers__color-chooser.patch"
@@ -54,7 +60,7 @@ source=(
"smaller-adwaita.css"
# GTK source code.
- "https://github.com/GNOME/gtk/archive/$pkgver.tar.gz"
+ "https://download.gnome.org/sources/gtk+/${pkgver%.*}/gtk+-$pkgver.tar.xz"
# ArchLinux package files.
"settings.ini::https://git.archlinux.org/svntogit/packages.git/plain/trunk/settings.ini?h=packages/gtk3&id=$__arch_pkg_commit"
@@ -62,7 +68,9 @@ source=(
)
sha256sums=(
"68b26360764a2ea7e057a2aaa29c6fdfe164b9987866e038d8d0188a025477fb"
+ "b2f7d5d3a784b7f833d64c2a278f1d082bec5c53b4cc19602c808223625dedeb"
"3d4d9cac36285e19972650a33bdba815096cb256e3f0991914ed3c8c19cfb650"
+ "54020144ac0472ae170297b4158da719b49860b17234bf54351ba30f793a7fe7"
"be4ddf03a5cce8270e8118eb331b3056972c0bd490faa6e4a4ebe332ec4c2e91"
"81138fbaff82e37a83da1c4aa074a6c708e6c50340e0ddeff3fb70e2a0b52e1f"
"3367e93113c8ebc31244d57845c41b81e5e70a62b64faf61f216f3455d7020b5"
@@ -74,6 +82,7 @@ sha256sums=(
"0cd2cd0365cb532d25ef4587882062f230dfb09f36485c568bdf27c8534831b2"
"7b987cc9bd7ca9722bfb881b30b082c0d7409e3cd68592f5e7a1f401d73e7672"
"99b12d7af7efc6a014e6afcab1ee82ea0feb0b5a4e9bbd663d1c45354cd34f2b"
+ "8009a7eb0e33606526fd73306cf5ade3284ba843694328b32b98b4334410996d"
"c213812e1fafeb5565f7e329c4501195f04adcfe377b88439a6d51d478edc071"
"3067face12ad74d664ab7951f59026c01eb8070bef007b522eb84aef1576674a"
"7f3e5da1622e243243ea9b1e487460f608dc375e79d800d2f0d826fd30be68ed"
@@ -81,7 +90,7 @@ sha256sums=(
"fe421b6197b4e98254019896ec79ea6b29a2140e7950ce3018ae0e1e4047b0c0"
"2de68b575494d0d034accd7cd0ce881f366d5201a48496d8748c43f297836eac"
"0554ba2085fb8cec8e3b926efc250ae5c15cf47f2612c10cdd0e849bfb8d05a5"
- "6d952d9962aa5105fd5b3549d6bba115e6b4081e00a62079304989cc7787bbb5"
+ "61eef0d320e541976e2dfe445729f12b5ade53050ee9de6184235cb60cd4b967"
"01fc1d81dc82c4a052ac6e25bf9a04e7647267cc3017bc91f9ce3e63e5eb9202"
"de46e5514ff39a7a65e01e485e874775ab1c0ad20b8e94ada43f4a6af1370845"
)
@@ -126,7 +135,7 @@ __patch_gtk_code()
prepare()
{
- cd "$srcdir/gtk-$pkgver"
+ cd "$srcdir/gtk+-$pkgver"
# Make building faster by skipping tests, code examples and unused elements.
__patch_makefiles
@@ -139,7 +148,7 @@ prepare()
build()
{
- cd "$srcdir/gtk-$pkgver"
+ cd "$srcdir/gtk+-$pkgver"
CXX=/bin/false ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
--enable-x11-backend --enable-wayland-backend --disable-schemas-compile --disable-gtk-doc-html
@@ -152,9 +161,10 @@ build()
package()
{
- cd "$srcdir/gtk-$pkgver"
+ cd "$srcdir/gtk+-$pkgver"
make -j 15 DESTDIR="$pkgdir" install
+
install -Dm644 ../settings.ini "$pkgdir/usr/share/gtk-3.0/settings.ini"
install -Dm644 ../gtk-query-immodules-3.0.hook "$pkgdir/usr/share/libalpm/hooks/gtk-query-immodules-3.0.hook"
-} \ No newline at end of file
+}
diff --git a/README.md b/README.md
index 9a7c21f8fd50..2324695b850f 100644
--- a/README.md
+++ b/README.md
@@ -27,8 +27,10 @@ Appearance
* Some GTK stock icons on buttons and context menus are restored. You can see it in GTK internal dialogs and in some applications.
* Regular colorized icons instead of symbolic icons are used in file chooser dialog.
-* Appearance of print dialog is less "gnomish" (natural margins are restored).
-* Statusbars are smaller regardless of used theme.
+* Message dialogs have traditional appearance with left-aligned texts and right-aligned buttons.
+* Appearance of print dialog is less "gnomish", natural margins are restored.
+* Backdrop CSS state is disabled. Inactive windows don't look differently. You can restore backdrop state by setting `GTK_CSD` environment variable.
+* Status bars are smaller regardless of used theme.
Popovers
---
@@ -47,15 +49,10 @@ Others
---
* Delay before showing mnemonics is removed. You don't have to wait when you press Left Alt button.
+* "Insert emoji" context menu item of entry fields is hidden. You can restore it by setting `GTKM_INSERT_EMOJI` environment variable.
* Window background is set properly to theme background color instead of solid black. See https://bugzilla.gnome.org/show_bug.cgi?id=771708.
* Errors in console output because of integration with Accessibility Toolkit are hidden. See https://unix.stackexchange.com/questions/230238.
-
-Adwaita theme
----
-
-* Default Adwaita theme have smaller controls (buttons, fields, tabs, etc.).
-* Message dialogs have more natural appearance.
-* Dashed lines on edges of scrolled boxes are removed. See https://wiki.archlinux.org/index.php/GTK+#Disable_overlay_scrollbars.
+* Default Adwaita theme has smaller controls (buttons, fields, tabs, etc.).
--------
diff --git a/appearance__disable-backdrop.patch b/appearance__disable-backdrop.patch
new file mode 100644
index 000000000000..72533731f2ba
--- /dev/null
+++ b/appearance__disable-backdrop.patch
@@ -0,0 +1,16 @@
+diff --color -U 5 -r -Z -B ./org/gtk/gtkwindow.c ./mod/gtk/gtkwindow.c
+--- ./org/gtk/gtkwindow.c 2017-11-07 20:52:24.000000000 +0100
++++ ./mod/gtk/gtkwindow.c 2017-12-26 16:05:58.023753428 +0100
+@@ -7946,11 +7946,11 @@
+ GdkEventWindowState *event)
+ {
+ GtkWindow *window = GTK_WINDOW (widget);
+ GtkWindowPrivate *priv = window->priv;
+
+- if (event->changed_mask & GDK_WINDOW_STATE_FOCUSED)
++ if (event->changed_mask & GDK_WINDOW_STATE_FOCUSED && g_getenv ("GTK_CSD") != FALSE)
+ ensure_state_flag_backdrop (widget);
+
+ if (event->changed_mask & GDK_WINDOW_STATE_FULLSCREEN)
+ {
+ priv->fullscreen =
diff --git a/appearance__message-dialogs.patch b/appearance__message-dialogs.patch
new file mode 100644
index 000000000000..030c939a814e
--- /dev/null
+++ b/appearance__message-dialogs.patch
@@ -0,0 +1,178 @@
+diff --color -U 5 -r -Z -B ./org/gtk/gtkdialog.c ./mod/gtk/gtkdialog.c
+--- ./org/gtk/gtkdialog.c 2017-11-07 20:52:24.000000000 +0100
++++ ./mod/gtk/gtkdialog.c 2017-12-26 23:32:27.445080792 +0100
+@@ -698,16 +698,16 @@
+ _gtk_box_set_spacing_set (GTK_BOX (priv->vbox), FALSE);
+ }
+
+ /* don't set spacing when buttons are linked */
+ if (gtk_button_box_get_layout (GTK_BUTTON_BOX (priv->action_area)) != GTK_BUTTONBOX_EXPAND)
+- gtk_box_set_spacing (GTK_BOX (priv->action_area), button_spacing);
++ gtk_box_set_spacing (GTK_BOX (priv->action_area), (button_spacing == 0) ? 6 : button_spacing);
+
+ if (!_gtk_container_get_border_width_set (GTK_CONTAINER (priv->action_area)))
+ {
+ gtk_container_set_border_width (GTK_CONTAINER (priv->action_area),
+- action_area_border);
++ (action_area_border == 0) ? 5 : action_area_border);
+ _gtk_container_set_border_width_set (GTK_CONTAINER (priv->action_area), FALSE);
+ }
+ }
+
+ static void
+diff --color -U 5 -r -Z -B ./org/gtk/gtkmessagedialog.c ./mod/gtk/gtkmessagedialog.c
+--- ./org/gtk/gtkmessagedialog.c 2017-11-07 20:52:24.000000000 +0100
++++ ./mod/gtk/gtkmessagedialog.c 2017-12-27 01:50:31.895491270 +0100
+@@ -35,10 +35,11 @@
+ #include "gtkbbox.h"
+ #include "gtkimage.h"
+ #include "gtkintl.h"
+ #include "gtkprivate.h"
+ #include "gtktypebuiltins.h"
++#include "gtkcssprovider.h"
+
+ /**
+ * SECTION:gtkmessagedialog
+ * @Short_description: A convenient message window
+ * @Title: GtkMessageDialog
+@@ -325,11 +326,21 @@
+ gtk_widget_init_template (GTK_WIDGET (dialog));
+ gtk_message_dialog_style_updated (GTK_WIDGET (dialog));
+ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+ action_area = gtk_dialog_get_action_area (GTK_DIALOG (dialog));
+ G_GNUC_END_IGNORE_DEPRECATIONS
+- gtk_button_box_set_layout (GTK_BUTTON_BOX (action_area), GTK_BUTTONBOX_EXPAND);
++ static gboolean style_added = FALSE;
++ if (!style_added)
++ {
++ style_added = TRUE;
++ GtkCssProvider *provider = gtk_css_provider_new ();
++ gtk_css_provider_load_from_data (provider,
++ "messagedialog > *, messagedialog buttonbox.dialog-action-area, messagedialog box.dialog-action-box { margin: 0; margin-top: 0; padding: 0; }",
++ -1, NULL);
++ gtk_style_context_add_provider_for_screen (gtk_widget_get_screen (GTK_WIDGET (dialog)),
++ GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
++ }
+
+ settings = gtk_widget_get_settings (GTK_WIDGET (dialog));
+ g_object_get (settings, "gtk-keynav-use-caret", &use_caret, NULL);
+ gtk_label_set_selectable (GTK_LABEL (priv->label), use_caret);
+ gtk_label_set_selectable (GTK_LABEL (priv->secondary_label), use_caret);
+@@ -370,10 +381,11 @@
+ setup_type (GtkMessageDialog *dialog,
+ GtkMessageType type)
+ {
+ GtkMessageDialogPrivate *priv = dialog->priv;
+ const gchar *name = NULL;
++ const gchar *icon = NULL;
+ AtkObject *atk_obj;
+
+ if (priv->message_type == type)
+ return;
+
+@@ -381,32 +393,42 @@
+
+ switch (type)
+ {
+ case GTK_MESSAGE_INFO:
+ name = _("Information");
++ icon = "gtk-dialog-info";
+ break;
+
+ case GTK_MESSAGE_QUESTION:
+ name = _("Question");
++ icon = "gtk-dialog-question";
+ break;
+
+ case GTK_MESSAGE_WARNING:
+ name = _("Warning");
++ icon = "gtk-dialog-warning";
+ break;
+
+ case GTK_MESSAGE_ERROR:
+ name = _("Error");
++ icon = "gtk-dialog-error";
+ break;
+
+ case GTK_MESSAGE_OTHER:
+ break;
+
+ default:
+ g_warning ("Unknown GtkMessageType %u", type);
+ break;
+ }
+
++ if (icon)
++ {
++ GtkWidget *image = gtk_image_new_from_icon_name (icon, GTK_ICON_SIZE_DIALOG);
++ g_object_set (image, "visible", TRUE, NULL);
++ g_object_set (dialog, "image", image, NULL);
++ }
+ atk_obj = gtk_widget_get_accessible (GTK_WIDGET (dialog));
+ if (GTK_IS_ACCESSIBLE (atk_obj))
+ {
+ atk_object_set_role (atk_obj, ATK_ROLE_ALERT);
+ if (name)
+diff --color -U 5 -r -Z -B ./org/gtk/ui/gtkmessagedialog.ui ./mod/gtk/ui/gtkmessagedialog.ui
+--- ./org/gtk/ui/gtkmessagedialog.ui 2017-11-07 20:52:24.000000000 +0100
++++ ./mod/gtk/ui/gtkmessagedialog.ui 2017-12-26 23:30:47.031742483 +0100
+@@ -4,35 +4,38 @@
+ <template class="GtkMessageDialog" parent="GtkDialog">
+ <property name="title"></property>
+ <property name="resizable">0</property>
+ <property name="type-hint">dialog</property>
+ <property name="skip-taskbar-hint">1</property>
++ <property name="border-width">5</property>
+ <child internal-child="headerbar">
+ <object class="GtkHeaderBar" id="headerbar1">
+ <property name="visible">1</property>
+ </object>
+ </child>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox1">
+ <property name="orientation">vertical</property>
+- <property name="spacing">20</property>
+- <property name="border-width">0</property>
++ <property name="spacing">8</property>
++ <property name="border-width">2</property>
+ <child>
+ <object class="GtkBox" id="box">
+ <property name="visible">1</property>
+- <property name="margin-start">30</property>
+- <property name="margin-end">30</property>
+- <property name="spacing">30</property>
++ <property name="margin-start">2</property>
++ <property name="margin-end">2</property>
++ <property name="spacing">12</property>
++ <property name="border-width">5</property>
+ <child>
+ <object class="GtkBox" id="message_area">
+ <property name="visible">1</property>
+ <property name="orientation">vertical</property>
+- <property name="spacing">10</property>
++ <property name="spacing">12</property>
+ <child>
+ <object class="GtkLabel" id="label">
+ <property name="visible">1</property>
+- <property name="halign">center</property>
++ <property name="halign">start</property>
++ <property name="xalign">0</property>
+ <property name="valign">start</property>
+ <property name="wrap">1</property>
+ <property name="max-width-chars">60</property>
+ </object>
+ <packing>
+@@ -41,11 +44,12 @@
+ </child>
+ <child>
+ <object class="GtkLabel" id="secondary_label">
+ <property name="no-show-all">1</property>
+ <property name="margin-bottom">2</property>
+- <property name="halign">center</property>
++ <property name="halign">start</property>
++ <property name="xalign">0</property>
+ <property name="valign">start</property>
+ <property name="wrap">1</property>
+ <property name="max-width-chars">60</property>
+ </object>
+ <packing>
diff --git a/other__hide-insert-emoji.patch b/other__hide-insert-emoji.patch
new file mode 100644
index 000000000000..fafe9b624543
--- /dev/null
+++ b/other__hide-insert-emoji.patch
@@ -0,0 +1,17 @@
+diff --color -U 5 -r -Z -B ./org/gtk/gtkentry.c ./mod/gtk/gtkentry.c
+--- ./org/gtk/gtkentry.c 2017-11-07 20:52:24.000000000 +0100
++++ ./mod/gtk/gtkentry.c 2017-12-26 16:02:22.023742725 +0100
+@@ -9589,11 +9589,12 @@
+ mode == DISPLAY_NORMAL &&
+ info_entry_priv->editable);
+ g_signal_connect_swapped (menuitem, "activate",
+ G_CALLBACK (gtk_entry_choose_emoji), entry);
+ gtk_widget_show (menuitem);
+- gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
++ if (g_getenv ("GTKM_INSERT_EMOJI") != FALSE)
++ gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+ }
+
+ g_signal_emit (entry, signals[POPULATE_POPUP], 0, menu);
+
+ if (info->trigger_event && gdk_event_triggers_context_menu (info->trigger_event))