Date: Monday, June 29, 2015 @ 19:06:22 Author: bgyorgy Revision: 136123
archrelease: copy trunk to community-i686, community-x86_64 Added: mate-panel-gtk3/repos/community-i686/PKGBUILD (from rev 136122, mate-panel-gtk3/trunk/PKGBUILD) mate-panel-gtk3/repos/community-i686/fix-force-quit.patch (from rev 136122, mate-panel-gtk3/trunk/fix-force-quit.patch) mate-panel-gtk3/repos/community-i686/mate-panel.install (from rev 136122, mate-panel-gtk3/trunk/mate-panel.install) mate-panel-gtk3/repos/community-x86_64/PKGBUILD (from rev 136122, mate-panel-gtk3/trunk/PKGBUILD) mate-panel-gtk3/repos/community-x86_64/fix-force-quit.patch (from rev 136122, mate-panel-gtk3/trunk/fix-force-quit.patch) mate-panel-gtk3/repos/community-x86_64/mate-panel.install (from rev 136122, mate-panel-gtk3/trunk/mate-panel.install) Deleted: mate-panel-gtk3/repos/community-i686/PKGBUILD mate-panel-gtk3/repos/community-i686/mate-panel.install mate-panel-gtk3/repos/community-x86_64/PKGBUILD mate-panel-gtk3/repos/community-x86_64/mate-panel.install ---------------------------------------+ /PKGBUILD | 98 +++++++++++++++++++++++++++++ /mate-panel.install | 24 +++++++ community-i686/PKGBUILD | 39 ----------- community-i686/fix-force-quit.patch | 108 ++++++++++++++++++++++++++++++++ community-i686/mate-panel.install | 12 --- community-x86_64/PKGBUILD | 39 ----------- community-x86_64/fix-force-quit.patch | 108 ++++++++++++++++++++++++++++++++ community-x86_64/mate-panel.install | 12 --- 8 files changed, 338 insertions(+), 102 deletions(-) Deleted: community-i686/PKGBUILD =================================================================== --- community-i686/PKGBUILD 2015-06-29 17:06:13 UTC (rev 136122) +++ community-i686/PKGBUILD 2015-06-29 17:06:22 UTC (rev 136123) @@ -1,39 +0,0 @@ -# Maintainer : Martin Wimpress <c...@flexion.org> - -_ver=1.10 -_pkgbase=mate-panel -pkgname=${_pkgbase}-gtk3 -pkgver=${_ver}.0 -pkgrel=3 -pkgdesc="The MATE Panel (GTK3 version [EXPERIMENTAL])" -url="http://mate-desktop.org" -arch=('i686' 'x86_64') -license=('GPL') -depends=('dbus-glib' 'dconf' 'gtk3' 'libwnck3' 'libcanberra' 'libice' - 'libmateweather-gtk3>=1.10' 'librsvg' 'libsm' 'libsoup' 'libxau' - 'mate-menus>=1.10' 'mate-desktop-gtk3>=1.10') -makedepends=('gobject-introspection' 'mate-common' 'yelp-tools') -optdepends=('yelp: for reading MATE help documents') -source=("http://pub.mate-desktop.org/releases/${_ver}/${_pkgbase}-${pkgver}.tar.xz") -groups=('mate-gtk3') -conflicts=("${_pkgbase}") -sha1sums=('632d7127fba8c5fa76f5dd951db89325c6ca3f89') -install=${_pkgbase}.install - -build() { - cd "${srcdir}/${_pkgbase}-${pkgver}" - ./configure \ - --prefix=/usr \ - --libexecdir=/usr/lib/${_pkgbase} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --with-gtk=3.0 \ - --enable-introspection \ - --disable-static - make -} - -package() { - cd "${srcdir}/${_pkgbase}-${pkgver}" - make DESTDIR="${pkgdir}" install -} Copied: mate-panel-gtk3/repos/community-i686/PKGBUILD (from rev 136122, mate-panel-gtk3/trunk/PKGBUILD) =================================================================== --- community-i686/PKGBUILD (rev 0) +++ community-i686/PKGBUILD 2015-06-29 17:06:22 UTC (rev 136123) @@ -0,0 +1,49 @@ +# Maintainer : Martin Wimpress <c...@flexion.org> + +_ver=1.10 +_pkgbase=mate-panel +pkgname=${_pkgbase}-gtk3 +pkgver=${_ver}.0 +pkgrel=4 +pkgdesc="The MATE Panel (GTK3 version [EXPERIMENTAL])" +url="http://mate-desktop.org" +arch=('i686' 'x86_64') +license=('GPL') +depends=('dbus-glib' 'dconf' 'gtk3' 'libwnck3' 'libcanberra' 'libice' + 'libmateweather-gtk3>=1.10' 'librsvg' 'libsm' 'libsoup' 'libxau' + 'mate-menus>=1.10' 'mate-desktop-gtk3>=1.10') +makedepends=('gobject-introspection' 'mate-common' 'yelp-tools') +optdepends=('yelp: for reading MATE help documents') +source=("http://pub.mate-desktop.org/releases/${_ver}/${_pkgbase}-${pkgver}.tar.xz" + fix-force-quit.patch) +groups=('mate-gtk3') +conflicts=("${_pkgbase}") +sha1sums=('632d7127fba8c5fa76f5dd951db89325c6ca3f89' + '4c89df9a32decc1be4181154a1fa8ba6282abd86') +install=${_pkgbase}.install + +prepare() { + cd "${srcdir}/${_pkgbase}-${pkgver}" + + # Fix Force-Quit panel applet to avoid hang with GTK3 + # https://github.com/mate-desktop/mate-panel/pull/318 + patch -Np1 -i ../fix-force-quit.patch +} + +build() { + cd "${srcdir}/${_pkgbase}-${pkgver}" + ./configure \ + --prefix=/usr \ + --libexecdir=/usr/lib/${_pkgbase} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --with-gtk=3.0 \ + --enable-introspection \ + --disable-static + make +} + +package() { + cd "${srcdir}/${_pkgbase}-${pkgver}" + make DESTDIR="${pkgdir}" install +} Copied: mate-panel-gtk3/repos/community-i686/fix-force-quit.patch (from rev 136122, mate-panel-gtk3/trunk/fix-force-quit.patch) =================================================================== --- community-i686/fix-force-quit.patch (rev 0) +++ community-i686/fix-force-quit.patch 2015-06-29 17:06:22 UTC (rev 136123) @@ -0,0 +1,108 @@ +From 2b8df1cf67516a9df1fb8931e88a06b452e890b5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballog...@gmail.com> +Date: Mon, 29 Jun 2015 11:50:20 +0200 +Subject: [PATCH] Fix Force-Quit panel applet +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This patch implements handling of XInput2 extension events in the applet. +Without this patch, the applet fails to recognize such events (either mouse +click for killing application, or escape key for exiting), hence freezing the +desktop. + +Also fix the event mask in call of gdk_device_grab() for keyboard. + +Author: Sébastien Villemot <sebast...@debian.org> +http://bugs.debian.org/698740 +--- + mate-panel/panel-force-quit.c | 34 +++++++++++++++++++++++++++------- + 1 file changed, 27 insertions(+), 7 deletions(-) + +diff --git a/mate-panel/panel-force-quit.c b/mate-panel/panel-force-quit.c +index 8231b8f..f0374e2 100644 +--- a/mate-panel/panel-force-quit.c ++++ b/mate-panel/panel-force-quit.c +@@ -32,6 +32,8 @@ + #include <X11/Xlib.h> + #include <X11/keysym.h> + ++#include <X11/extensions/XInput2.h> ++ + #include "panel-icon-names.h" + #include "panel-stock-icons.h" + +@@ -261,22 +263,23 @@ kill_window_question (gpointer window) + + static void + handle_button_press_event (GtkWidget *popup, +- XKeyEvent *event) ++ Display *display, ++ Window subwindow) + { + Window window; + + remove_popup (popup); + +- if (event->subwindow == None) ++ if (subwindow == None) + return; + + if (wm_state_atom == None) +- wm_state_atom = XInternAtom (event->display, "WM_STATE", FALSE); ++ wm_state_atom = XInternAtom (display, "WM_STATE", FALSE); + +- window = find_managed_window (event->display, event->subwindow); ++ window = find_managed_window (display, subwindow); + + if (window != None) { +- if (!gdk_x11_window_lookup_for_display (gdk_x11_lookup_xdisplay (event->display), window)) ++ if (!gdk_x11_window_lookup_for_display (gdk_x11_lookup_xdisplay (display), window)) + kill_window_question ((gpointer) window); + } + } +@@ -287,10 +290,12 @@ popup_filter (GdkXEvent *gdk_xevent, + GtkWidget *popup) + { + XEvent *xevent = (XEvent *) gdk_xevent; ++ XIEvent *xiev; ++ XIDeviceEvent *xidev; + + switch (xevent->type) { + case ButtonPress: +- handle_button_press_event (popup, &xevent->xkey); ++ handle_button_press_event (popup, xevent->xbutton.display, xevent->xbutton.subwindow); + return GDK_FILTER_REMOVE; + case KeyPress: + if (xevent->xkey.keycode == XKeysymToKeycode (xevent->xany.display, XK_Escape)) { +@@ -298,6 +303,21 @@ popup_filter (GdkXEvent *gdk_xevent, + return GDK_FILTER_REMOVE; + } + break; ++ case GenericEvent: ++ xiev = (XIEvent *) xevent->xcookie.data; ++ xidev = (XIDeviceEvent *) xiev; ++ switch (xiev->evtype) { ++ case XI_KeyPress: ++ if (xidev->detail == XKeysymToKeycode (xevent->xany.display, XK_Escape)) { ++ remove_popup (popup); ++ return GDK_FILTER_REMOVE; ++ } ++ break; ++ case XI_ButtonPress: ++ handle_button_press_event (popup, xidev->display, xidev->child); ++ return GDK_FILTER_REMOVE; ++ } ++ break; + default: + break; + } +@@ -342,7 +362,7 @@ panel_force_quit (GdkScreen *screen, + + status = gdk_device_grab (keyboard, root, + GDK_OWNERSHIP_NONE, FALSE, +- GDK_KEY_PRESS | GDK_KEY_RELEASE, ++ GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK, + NULL, time); + + if (status != GDK_GRAB_SUCCESS) { Deleted: community-i686/mate-panel.install =================================================================== --- community-i686/mate-panel.install 2015-06-29 17:06:13 UTC (rev 136122) +++ community-i686/mate-panel.install 2015-06-29 17:06:22 UTC (rev 136123) @@ -1,12 +0,0 @@ -post_install() { - glib-compile-schemas /usr/share/glib-2.0/schemas/ - gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} Copied: mate-panel-gtk3/repos/community-i686/mate-panel.install (from rev 136122, mate-panel-gtk3/trunk/mate-panel.install) =================================================================== --- community-i686/mate-panel.install (rev 0) +++ community-i686/mate-panel.install 2015-06-29 17:06:22 UTC (rev 136123) @@ -0,0 +1,12 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas/ + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} Deleted: community-x86_64/PKGBUILD =================================================================== --- community-x86_64/PKGBUILD 2015-06-29 17:06:13 UTC (rev 136122) +++ community-x86_64/PKGBUILD 2015-06-29 17:06:22 UTC (rev 136123) @@ -1,39 +0,0 @@ -# Maintainer : Martin Wimpress <c...@flexion.org> - -_ver=1.10 -_pkgbase=mate-panel -pkgname=${_pkgbase}-gtk3 -pkgver=${_ver}.0 -pkgrel=3 -pkgdesc="The MATE Panel (GTK3 version [EXPERIMENTAL])" -url="http://mate-desktop.org" -arch=('i686' 'x86_64') -license=('GPL') -depends=('dbus-glib' 'dconf' 'gtk3' 'libwnck3' 'libcanberra' 'libice' - 'libmateweather-gtk3>=1.10' 'librsvg' 'libsm' 'libsoup' 'libxau' - 'mate-menus>=1.10' 'mate-desktop-gtk3>=1.10') -makedepends=('gobject-introspection' 'mate-common' 'yelp-tools') -optdepends=('yelp: for reading MATE help documents') -source=("http://pub.mate-desktop.org/releases/${_ver}/${_pkgbase}-${pkgver}.tar.xz") -groups=('mate-gtk3') -conflicts=("${_pkgbase}") -sha1sums=('632d7127fba8c5fa76f5dd951db89325c6ca3f89') -install=${_pkgbase}.install - -build() { - cd "${srcdir}/${_pkgbase}-${pkgver}" - ./configure \ - --prefix=/usr \ - --libexecdir=/usr/lib/${_pkgbase} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --with-gtk=3.0 \ - --enable-introspection \ - --disable-static - make -} - -package() { - cd "${srcdir}/${_pkgbase}-${pkgver}" - make DESTDIR="${pkgdir}" install -} Copied: mate-panel-gtk3/repos/community-x86_64/PKGBUILD (from rev 136122, mate-panel-gtk3/trunk/PKGBUILD) =================================================================== --- community-x86_64/PKGBUILD (rev 0) +++ community-x86_64/PKGBUILD 2015-06-29 17:06:22 UTC (rev 136123) @@ -0,0 +1,49 @@ +# Maintainer : Martin Wimpress <c...@flexion.org> + +_ver=1.10 +_pkgbase=mate-panel +pkgname=${_pkgbase}-gtk3 +pkgver=${_ver}.0 +pkgrel=4 +pkgdesc="The MATE Panel (GTK3 version [EXPERIMENTAL])" +url="http://mate-desktop.org" +arch=('i686' 'x86_64') +license=('GPL') +depends=('dbus-glib' 'dconf' 'gtk3' 'libwnck3' 'libcanberra' 'libice' + 'libmateweather-gtk3>=1.10' 'librsvg' 'libsm' 'libsoup' 'libxau' + 'mate-menus>=1.10' 'mate-desktop-gtk3>=1.10') +makedepends=('gobject-introspection' 'mate-common' 'yelp-tools') +optdepends=('yelp: for reading MATE help documents') +source=("http://pub.mate-desktop.org/releases/${_ver}/${_pkgbase}-${pkgver}.tar.xz" + fix-force-quit.patch) +groups=('mate-gtk3') +conflicts=("${_pkgbase}") +sha1sums=('632d7127fba8c5fa76f5dd951db89325c6ca3f89' + '4c89df9a32decc1be4181154a1fa8ba6282abd86') +install=${_pkgbase}.install + +prepare() { + cd "${srcdir}/${_pkgbase}-${pkgver}" + + # Fix Force-Quit panel applet to avoid hang with GTK3 + # https://github.com/mate-desktop/mate-panel/pull/318 + patch -Np1 -i ../fix-force-quit.patch +} + +build() { + cd "${srcdir}/${_pkgbase}-${pkgver}" + ./configure \ + --prefix=/usr \ + --libexecdir=/usr/lib/${_pkgbase} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --with-gtk=3.0 \ + --enable-introspection \ + --disable-static + make +} + +package() { + cd "${srcdir}/${_pkgbase}-${pkgver}" + make DESTDIR="${pkgdir}" install +} Copied: mate-panel-gtk3/repos/community-x86_64/fix-force-quit.patch (from rev 136122, mate-panel-gtk3/trunk/fix-force-quit.patch) =================================================================== --- community-x86_64/fix-force-quit.patch (rev 0) +++ community-x86_64/fix-force-quit.patch 2015-06-29 17:06:22 UTC (rev 136123) @@ -0,0 +1,108 @@ +From 2b8df1cf67516a9df1fb8931e88a06b452e890b5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballog...@gmail.com> +Date: Mon, 29 Jun 2015 11:50:20 +0200 +Subject: [PATCH] Fix Force-Quit panel applet +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This patch implements handling of XInput2 extension events in the applet. +Without this patch, the applet fails to recognize such events (either mouse +click for killing application, or escape key for exiting), hence freezing the +desktop. + +Also fix the event mask in call of gdk_device_grab() for keyboard. + +Author: Sébastien Villemot <sebast...@debian.org> +http://bugs.debian.org/698740 +--- + mate-panel/panel-force-quit.c | 34 +++++++++++++++++++++++++++------- + 1 file changed, 27 insertions(+), 7 deletions(-) + +diff --git a/mate-panel/panel-force-quit.c b/mate-panel/panel-force-quit.c +index 8231b8f..f0374e2 100644 +--- a/mate-panel/panel-force-quit.c ++++ b/mate-panel/panel-force-quit.c +@@ -32,6 +32,8 @@ + #include <X11/Xlib.h> + #include <X11/keysym.h> + ++#include <X11/extensions/XInput2.h> ++ + #include "panel-icon-names.h" + #include "panel-stock-icons.h" + +@@ -261,22 +263,23 @@ kill_window_question (gpointer window) + + static void + handle_button_press_event (GtkWidget *popup, +- XKeyEvent *event) ++ Display *display, ++ Window subwindow) + { + Window window; + + remove_popup (popup); + +- if (event->subwindow == None) ++ if (subwindow == None) + return; + + if (wm_state_atom == None) +- wm_state_atom = XInternAtom (event->display, "WM_STATE", FALSE); ++ wm_state_atom = XInternAtom (display, "WM_STATE", FALSE); + +- window = find_managed_window (event->display, event->subwindow); ++ window = find_managed_window (display, subwindow); + + if (window != None) { +- if (!gdk_x11_window_lookup_for_display (gdk_x11_lookup_xdisplay (event->display), window)) ++ if (!gdk_x11_window_lookup_for_display (gdk_x11_lookup_xdisplay (display), window)) + kill_window_question ((gpointer) window); + } + } +@@ -287,10 +290,12 @@ popup_filter (GdkXEvent *gdk_xevent, + GtkWidget *popup) + { + XEvent *xevent = (XEvent *) gdk_xevent; ++ XIEvent *xiev; ++ XIDeviceEvent *xidev; + + switch (xevent->type) { + case ButtonPress: +- handle_button_press_event (popup, &xevent->xkey); ++ handle_button_press_event (popup, xevent->xbutton.display, xevent->xbutton.subwindow); + return GDK_FILTER_REMOVE; + case KeyPress: + if (xevent->xkey.keycode == XKeysymToKeycode (xevent->xany.display, XK_Escape)) { +@@ -298,6 +303,21 @@ popup_filter (GdkXEvent *gdk_xevent, + return GDK_FILTER_REMOVE; + } + break; ++ case GenericEvent: ++ xiev = (XIEvent *) xevent->xcookie.data; ++ xidev = (XIDeviceEvent *) xiev; ++ switch (xiev->evtype) { ++ case XI_KeyPress: ++ if (xidev->detail == XKeysymToKeycode (xevent->xany.display, XK_Escape)) { ++ remove_popup (popup); ++ return GDK_FILTER_REMOVE; ++ } ++ break; ++ case XI_ButtonPress: ++ handle_button_press_event (popup, xidev->display, xidev->child); ++ return GDK_FILTER_REMOVE; ++ } ++ break; + default: + break; + } +@@ -342,7 +362,7 @@ panel_force_quit (GdkScreen *screen, + + status = gdk_device_grab (keyboard, root, + GDK_OWNERSHIP_NONE, FALSE, +- GDK_KEY_PRESS | GDK_KEY_RELEASE, ++ GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK, + NULL, time); + + if (status != GDK_GRAB_SUCCESS) { Deleted: community-x86_64/mate-panel.install =================================================================== --- community-x86_64/mate-panel.install 2015-06-29 17:06:13 UTC (rev 136122) +++ community-x86_64/mate-panel.install 2015-06-29 17:06:22 UTC (rev 136123) @@ -1,12 +0,0 @@ -post_install() { - glib-compile-schemas /usr/share/glib-2.0/schemas/ - gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} Copied: mate-panel-gtk3/repos/community-x86_64/mate-panel.install (from rev 136122, mate-panel-gtk3/trunk/mate-panel.install) =================================================================== --- community-x86_64/mate-panel.install (rev 0) +++ community-x86_64/mate-panel.install 2015-06-29 17:06:22 UTC (rev 136123) @@ -0,0 +1,12 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas/ + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +}