diff options
author | Tomasz Gąsior | 2017-12-27 03:26:37 +0100 |
---|---|---|
committer | Tomasz Gąsior | 2017-12-27 03:26:37 +0100 |
commit | c15e1584a9ce7177c8d8ef5c1856e382900d90f7 (patch) | |
tree | 5b9a7c7e9ba4690432d9d40b2b8bd93d0339b4b3 | |
parent | 2068ccbbe6d0cadc5db3777686ca9fb431ff0002 (diff) | |
download | aur-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-- | .SRCINFO | 18 | ||||
-rw-r--r-- | PKGBUILD | 28 | ||||
-rw-r--r-- | README.md | 15 | ||||
-rw-r--r-- | appearance__disable-backdrop.patch | 16 | ||||
-rw-r--r-- | appearance__message-dialogs.patch | 178 | ||||
-rw-r--r-- | other__hide-insert-emoji.patch | 17 |
6 files changed, 250 insertions, 22 deletions
@@ -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 @@ -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)) |