Date: Tuesday, September 4, 2018 @ 20:35:40 Author: heftig Revision: 333345
archrelease: copy trunk to gnome-unstable-x86_64 Added: mutter/repos/gnome-unstable-x86_64/ mutter/repos/gnome-unstable-x86_64/PKGBUILD (from rev 333344, mutter/trunk/PKGBUILD) mutter/repos/gnome-unstable-x86_64/startup-notification.patch (from rev 333344, mutter/trunk/startup-notification.patch) ----------------------------+ PKGBUILD | 57 +++++++++++++++++++++++++++++++++++++++++++ startup-notification.patch | 45 +++++++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+) Copied: mutter/repos/gnome-unstable-x86_64/PKGBUILD (from rev 333344, mutter/trunk/PKGBUILD) =================================================================== --- gnome-unstable-x86_64/PKGBUILD (rev 0) +++ gnome-unstable-x86_64/PKGBUILD 2018-09-04 20:35:40 UTC (rev 333345) @@ -0,0 +1,57 @@ +# $Id: PKGBUILD 330962 2018-08-06 10:26:11Z heftig $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steff...@gmail.com> +# Maintainer: Ionut Biru <ib...@archlinux.org> +# Contributor: Michael Kanis <mkanis_at_gmx_dot_de> + +pkgname=mutter +pkgver=3.30.0 +pkgrel=1 +pkgdesc="A window manager for GNOME" +url="https://gitlab.gnome.org/GNOME/mutter" +arch=(x86_64) +license=(GPL) +depends=(dconf gobject-introspection-runtime gsettings-desktop-schemas libcanberra + startup-notification zenity libsm gnome-desktop upower libxkbcommon-x11 + gnome-settings-daemon libgudev libinput pipewire) +makedepends=(intltool gobject-introspection git egl-wayland) +groups=(gnome) +_commit=34f5be726dbd90ad6c494cda5eeff7bd68fd83a1 # tags/3.30.0^0 +source=("git+https://gitlab.gnome.org/GNOME/mutter.git#commit=$_commit" + startup-notification.patch) +sha256sums=('SKIP' + '5a35ca4794fc361219658d9fae24a3ca21a365f2cb1901702961ac869c759366') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/-/+/g' +} + +prepare() { + cd $pkgname + + # https://bugs.archlinux.org/task/51940 + # As of 2018-05-08: Still needed, according to fmuellner + patch -Np1 -i ../startup-notification.patch + + NOCONFIGURE=1 ./autogen.sh +} + +build() { + cd $pkgname + + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --libexecdir=/usr/lib --disable-static \ + --disable-schemas-compile --enable-compile-warnings=minimum \ + --enable-gtk-doc --enable-egl-device --enable-remote-desktop + + # https://bugzilla.gnome.org/show_bug.cgi?id=655517 + sed -e 's/ -shared / -Wl,-O1,--as-needed\0/g' \ + -i {.,cogl,clutter}/libtool + + make +} + +package() { + cd $pkgname + make DESTDIR="$pkgdir" install +} Copied: mutter/repos/gnome-unstable-x86_64/startup-notification.patch (from rev 333344, mutter/trunk/startup-notification.patch) =================================================================== --- gnome-unstable-x86_64/startup-notification.patch (rev 0) +++ gnome-unstable-x86_64/startup-notification.patch 2018-09-04 20:35:40 UTC (rev 333345) @@ -0,0 +1,45 @@ +From 4ed430b4ef3013c96fa56cdc57b925b42d20ead9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuell...@gnome.org> +Date: Thu, 20 Oct 2016 18:00:04 +0200 +Subject: [PATCH] gtk-shell: Work around non-working startup notifications + +GNOME Shell relies on the MetaScreen::startup-sequence-changed signal, +which is tied to (lib)startup-notification and therefore X11. As a result, +when we remove the startup sequence of a wayland client, GNOME Shell will +not be notified about this until startup-notification's timeout is hit. +As a temporary stop-gap, go through XWayland even for wayland clients, +so that the signal is emitted when expected. + +https://bugzilla.gnome.org/show_bug.cgi?id=768531 +--- + src/wayland/meta-wayland-gtk-shell.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/src/wayland/meta-wayland-gtk-shell.c b/src/wayland/meta-wayland-gtk-shell.c +index d6e249f..9d1a19e 100644 +--- a/src/wayland/meta-wayland-gtk-shell.c ++++ b/src/wayland/meta-wayland-gtk-shell.c +@@ -219,11 +219,21 @@ gtk_shell_set_startup_id (struct wl_client *client, + struct wl_resource *resource, + const char *startup_id) + { ++#if 0 + MetaDisplay *display; + + display = meta_get_display (); + meta_startup_notification_remove_sequence (display->startup_notification, + startup_id); ++#else ++ /* HACK: MetaScreen::startup-sequence-changed is currently tied to ++ (lib)startup-notification, which means it only works on X11; ++ so for now, always go through XWayland, even for wayland clients */ ++ gdk_x11_display_broadcast_startup_message (gdk_display_get_default (), ++ "remove", ++ "ID", startup_id, ++ NULL); ++#endif + } + + static void +-- +2.9.3