summaryrefslogtreecommitdiff
path: root/x11-misc/easystroke
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /x11-misc/easystroke
reinit the tree, so we can have metadata
Diffstat (limited to 'x11-misc/easystroke')
-rw-r--r--x11-misc/easystroke/Manifest12
-rw-r--r--x11-misc/easystroke/easystroke-0.6.0-r1.ebuild62
-rw-r--r--x11-misc/easystroke/easystroke-0.6.0-r2.ebuild64
-rw-r--r--x11-misc/easystroke/files/easystroke-0.6.0-buttons-scroll-send.patch43
-rw-r--r--x11-misc/easystroke/files/easystroke-0.6.0-cellrendertextish.patch20
-rw-r--r--x11-misc/easystroke/files/easystroke-0.6.0-cxx11.patch18
-rw-r--r--x11-misc/easystroke/files/easystroke-0.6.0-desktop.patch11
-rw-r--r--x11-misc/easystroke/files/easystroke-0.6.0-gentoo.patch41
-rw-r--r--x11-misc/easystroke/files/easystroke-0.6.0-reinstate-signal-handlers.patch42
-rw-r--r--x11-misc/easystroke/metadata.xml11
10 files changed, 324 insertions, 0 deletions
diff --git a/x11-misc/easystroke/Manifest b/x11-misc/easystroke/Manifest
new file mode 100644
index 000000000000..e76a1d11d1f8
--- /dev/null
+++ b/x11-misc/easystroke/Manifest
@@ -0,0 +1,12 @@
+AUX easystroke-0.6.0-buttons-scroll-send.patch 1431 SHA256 c47c3d600740a73c3601dc27fc59496a1d2f127791008bd17481a34c8af3b510 SHA512 f8a862c450c665db4409d9abb07687fac5fac182a8f36038c795eb25a0cf732e0ccc3e589ae6c6eb65bde9a4f4cbd680f267734d2a65b301d1c8e7fa078dfcff WHIRLPOOL f3fd29a5d8624a4167e21c324b208380989b15a857350350ab11692b87c8aff815a6e9cfd792e10cfcfc7d399d959d2432b2ef6d3d3c01bebca5f5c83f3d9f06
+AUX easystroke-0.6.0-cellrendertextish.patch 718 SHA256 3cbc030f918afdde366b401e38f8693851fc070addfa7df6fc1f5c571edcd504 SHA512 2feacef4d9b1707dd1e20a2e84b78313744bc9ce9b2a7d0070cab47b691ec2cfd1e1616aaf1c30a722ae5ecb16c230b6a647965da4194f2700262977eedb8b9f WHIRLPOOL 05d034af4dbec0a8340c160bcc4a51f5cb1e28d801d20891f8f7e12884357b7ac5d3448629acb2cdf781d934b73c99b72a90767a9520aa69791e803f870f9610
+AUX easystroke-0.6.0-cxx11.patch 748 SHA256 850c109f738a0693751b909f5649ba08a4f76cd5efaa080544ada91fe2728ae1 SHA512 e16229a595dbad028665b967b8ee7a3c27860fa33e3fc3a40e2e7657e5d69338bde571f8526431ec1044ad59f1aaf65f66e294f38d735d932a7386a19d8f55a5 WHIRLPOOL 628d86f0ed4ea4f6150d943c2625d552d4f8cd2bfd2d3c33d1379d6e47caa6ef48c4b22e33f1f1fcb5df25cd024080f86d4ad6a515c429b7ee19a5df85cae66d
+AUX easystroke-0.6.0-desktop.patch 294 SHA256 09019df4e9e5c7c94851d83f12fcde0dd5953970e7d06b7d7e2f02b86ee4c922 SHA512 082b353b21fdb7754a3b94519a426f69c67caca32977657bdc09ca158d783612a454b2fc08949cb9cb2ee2d1c3ce07d6f7915e782f50c3829f456e31f6330471 WHIRLPOOL 6498ae7407aa58fa3b8c6d073cb22fa70ccf15297287b19897c29ebd4503fcdf645b29f674b4f8017f3603ac602cbda2ff67186982bb7595a3c3c3d5c8bf80cc
+AUX easystroke-0.6.0-gentoo.patch 1672 SHA256 3bcf989e34442a6295a2c19ee4a092034012fc3462da331c40cde00bc543190e SHA512 e44b7d01506242985ec2b53d4f267425d7877649d4ca734ade93a68b9d52b03af1cf7fc9eab81617d2459cbe27eb88f4f82754416a910fc01e1b0de9b34486a8 WHIRLPOOL 24bb3584dab7c3ae3041fed08283f824bd7fdccedb7668b8eb6784fd8c81a4c1142fbfa080f59b6770f742adac944467d79eed2731a5a577d8603692ecd52691
+AUX easystroke-0.6.0-reinstate-signal-handlers.patch 1070 SHA256 440bd92ff98c5068741a4f4846b232ca3601bb5dbdc2540750d807ce0c13aa5a SHA512 9cfe216ecfc2148e22d2a91f25b294bde2f7933e912f2ede86002679763e0a6eb14bb3f1182fd07156d103baa4bef4434e45b27ae3753c31758524c680665572 WHIRLPOOL 26db42fe7209a5d48dec79cb7379eb24f6fb49a5f334baeec8c9bc4a44d615d25b8fcd92fbe7948bd4a37f2b07b02929e123e7f1424f5d35bbbda19855bcb8d6
+DIST easystroke-0.6.0.tar.gz 121358 SHA256 f4c37adbc4dd405a24badb9e6be20d3223b4087ff9caed2c15ff71674051d0fd SHA512 a74cbdfd2b56e6b20d895297e80fb63f3d8ac938235ecf7067f984d087004af22a5ea0116ae20b948e238b02a06b14044a7025d65840f0c8d00542332387c921 WHIRLPOOL d1305449563d599c5159ebddb2fdc6c17f2e79d8a1ea5186cff9f6785545cb2941413fb498347da8801ac665e20f1aa252270bcc88e93d97111ae253924d7b18
+EBUILD easystroke-0.6.0-r1.ebuild 1283 SHA256 a9e88d00bf6e8aadc3a4137f70ade60ebc4548acd33db16f5e81d1b4696dc24c SHA512 83f13dc4f3609583502d9fd9abc91ad90ff525e9c811e5fa638eb5f51ba5edc0cf65c1c88d5f41f25beea5d2e416a4ddb1e1f12698afbbda3f60973561e9f6c8 WHIRLPOOL 3c77294350c408894a4c309e3d8a778104bc870441e8c76d98a564c0180633e7037e7c84ca9ba62b52cd18782eafaeabbf80f3f450a8f32c05d5566da376fb6d
+EBUILD easystroke-0.6.0-r2.ebuild 1363 SHA256 a1775162d2e2477ada9a03607ccdd7b00183382b3ac98b56ae08096623eb6e94 SHA512 f8bb6743ca4730c6793d6b1f0cb3468690dbb63411af6b2b7f1551cdaa2e490903476e2eaaf806bb4ec512b3062e53dc9bfe02770b4a3b6050dc60d62ce811df WHIRLPOOL 422c7dd94c450c3bb8a084b01168d435e93e8b089895859cf9c20c5cfe5af8e448f268d9de9d76fea232e697ecee4f8af3b2df47cc237802b352969b6fb53696
+MISC ChangeLog 3176 SHA256 cde4a9f8410c3dc08d3981848b3f87b263bd2b2669cf4a138e2dc8b2e9ed78ce SHA512 4c13c162d84c58a36069d28b5df11cad0f237900646861e29c077a86f962923dfe9fe66b0f594939f24d81d90c7fcd2a2e83e43a31e7b2b94820c2664660861e WHIRLPOOL c1ba0efdd1baeed7600f49027c397c720e8a344f2855fc7339b223cc4ed4b1475d2f6d916647066281929bee62b36f9337e1132f220786ff4ae831edf10e9153
+MISC ChangeLog-2015 1100 SHA256 8766b8eabead90b2b984ccf98eac5deca958cd00859cc6ca96384aa334c59094 SHA512 f3c7627559307efd31669e0e1c11e2b336dbf8dcafa38b2d730fcac231511482736774ead5c54979b321311231498334f016cad1eb8e186cb547dbd93258d978 WHIRLPOOL 63ecd4187cb9bedc1c4b089df338f43bd3463e2d7903fc210ad618efaa2ff9a181d7bdaa279c3dace3ddcfd8b24649cc69fabd4b25e312e7884f4cfb7e4d17ee
+MISC metadata.xml 356 SHA256 a93d0c5e792893cb94bcd654beb9864e1c351e45b23aa576a03efa4b252497a4 SHA512 c5efb2bf236919918bdd4ec562db67ac68c243c4ce208460a95faad9ba94325036ae101d01b06cd95b5cda300695b8fd27b3d6b39d9af41685b7c30652e89ffc WHIRLPOOL 6f6a482a5173642718a8bd1de0dcc77818fe6b3361f69248da9c275601688e7fa6d7c150daffb0e8d9bd002ed7ce4172036f17ea4fc1238b9b6e72d170cb5279
diff --git a/x11-misc/easystroke/easystroke-0.6.0-r1.ebuild b/x11-misc/easystroke/easystroke-0.6.0-r1.ebuild
new file mode 100644
index 000000000000..f7399bbec905
--- /dev/null
+++ b/x11-misc/easystroke/easystroke-0.6.0-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils toolchain-funcs
+
+DESCRIPTION="a gesture-recognition application for X11"
+HOMEPAGE="https://sourceforge.net/apps/trac/easystroke/"
+SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-cpp/gtkmm:3.0
+ dev-libs/boost:=
+ dev-libs/dbus-glib
+ dev-libs/glib:2
+ x11-base/xorg-server
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXtst
+"
+DEPEND="
+ ${RDEPEND}
+ dev-util/intltool
+ sys-devel/gettext
+"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-cellrendertextish.patch
+ epatch "${FILESDIR}"/${P}-desktop.patch
+ epatch "${FILESDIR}"/${P}-gentoo.patch
+ epatch "${FILESDIR}"/${P}-reinstate-signal-handlers.patch
+ epatch "${FILESDIR}"/${P}-buttons-scroll-send.patch
+
+ tc-export CC CXX PKG_CONFIG
+
+ if ! [[ -z ${LINGUAS} ]]; then
+ strip-linguas -i po/
+
+ local es_lingua lang
+ for es_lingua in $( printf "%s\n" po/*.po ); do
+ lang=${es_lingua/po\/}
+ has ${lang/.po/} ${LINGUAS} || rm ${es_lingua}
+ done
+ fi
+}
+
+src_compile() {
+ emake \
+ AOFLAGS='' \
+ LDFLAGS="${LDFLAGS}" \
+ PREFIX=/usr
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX=/usr install
+}
diff --git a/x11-misc/easystroke/easystroke-0.6.0-r2.ebuild b/x11-misc/easystroke/easystroke-0.6.0-r2.ebuild
new file mode 100644
index 000000000000..c441c8c4a8cd
--- /dev/null
+++ b/x11-misc/easystroke/easystroke-0.6.0-r2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="a gesture-recognition application for X11"
+HOMEPAGE="https://sourceforge.net/apps/trac/easystroke/"
+SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-cpp/gtkmm:3.0
+ dev-libs/boost:=
+ dev-libs/dbus-glib
+ dev-libs/glib:2
+ x11-base/xorg-server
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXtst
+"
+DEPEND="
+ ${RDEPEND}
+ dev-util/intltool
+ sys-devel/gettext
+"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-cellrendertextish.patch
+ epatch "${FILESDIR}"/${P}-desktop.patch
+ epatch "${FILESDIR}"/${P}-gentoo.patch
+ epatch "${FILESDIR}"/${P}-reinstate-signal-handlers.patch
+ epatch "${FILESDIR}"/${P}-buttons-scroll-send.patch
+ epatch "${FILESDIR}"/${P}-cxx11.patch
+
+ tc-export CC CXX PKG_CONFIG
+
+ if ! [[ -z ${LINGUAS} ]]; then
+ strip-linguas -i po/
+
+ local es_lingua lang
+ for es_lingua in $( printf "%s\n" po/*.po ); do
+ lang=${es_lingua/po\/}
+ has ${lang/.po/} ${LINGUAS} || rm ${es_lingua}
+ done
+ fi
+}
+
+src_compile() {
+ append-cxxflags -std=c++11
+ emake \
+ AOFLAGS='' \
+ LDFLAGS="${LDFLAGS}" \
+ PREFIX=/usr
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX=/usr install
+}
diff --git a/x11-misc/easystroke/files/easystroke-0.6.0-buttons-scroll-send.patch b/x11-misc/easystroke/files/easystroke-0.6.0-buttons-scroll-send.patch
new file mode 100644
index 000000000000..27bfa4cfee66
--- /dev/null
+++ b/x11-misc/easystroke/files/easystroke-0.6.0-buttons-scroll-send.patch
@@ -0,0 +1,43 @@
+From 5388934e722308cd314d65e362ddfaf6e5ab6c94 Mon Sep 17 00:00:00 2001
+From: Thomas Jaeger <ThJaeger@gmail.com>
+Date: Sat, 13 Apr 2013 14:10:35 -0400
+Subject: Make buttons and scroll work properly with 'send'
+
+---
+ handler.cc | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/handler.cc b/handler.cc
+index f47aae3..c1bd279 100644
+--- a/handler.cc
++++ b/handler.cc
+@@ -545,7 +545,7 @@ class AbstractScrollHandler : public Handler {
+
+ protected:
+ AbstractScrollHandler() : last_t(0), offset_x(0.0), offset_y(0.0) {
+- if (!prefs.move_back.get() || xstate->current_dev->absolute)
++ if (!prefs.move_back.get() || (xstate->current_dev && xstate->current_dev->absolute))
+ return;
+ Window dummy1, dummy2;
+ int dummy3, dummy4;
+@@ -563,7 +563,7 @@ protected:
+ }
+ protected:
+ void move_back() {
+- if (!prefs.move_back.get() || xstate->current_dev->absolute)
++ if (!prefs.move_back.get() || (xstate->current_dev && xstate->current_dev->absolute))
+ return;
+ XTestFakeMotionEvent(dpy, DefaultScreen(dpy), orig_x, orig_y, 0);
+ }
+@@ -1115,6 +1115,8 @@ XState::XState() : current_dev(NULL), in_proximity(false), accepted(true) {
+
+ void XState::run_action(RAction act) {
+ RModifiers mods = act->prepare();
++ IF_BUTTON(act, b)
++ return handler->replace_child(new ButtonHandler(mods, b));
+ if (IS_IGNORE(act))
+ return handler->replace_child(new IgnoreHandler(mods));
+ if (IS_SCROLL(act))
+--
+1.8.4
+
diff --git a/x11-misc/easystroke/files/easystroke-0.6.0-cellrendertextish.patch b/x11-misc/easystroke/files/easystroke-0.6.0-cellrendertextish.patch
new file mode 100644
index 000000000000..8664ed736bae
--- /dev/null
+++ b/x11-misc/easystroke/files/easystroke-0.6.0-cellrendertextish.patch
@@ -0,0 +1,20 @@
+--- a/cellrenderertextish.c
++++ b/cellrenderertextish.c
+@@ -599,7 +599,7 @@
+ _g_free0 (self->priv->path);
+ self->priv->path = _tmp3_;
+ g_signal_connect_object ((GtkCellEditable*) self, "editing-done", (GCallback) _cell_editable_accel_on_editing_done_gtk_cell_editable_editing_done, self, 0);
+- _tmp4_ = _ ("Key combination...");
++ _tmp4_ = ("Key combination...");
+ _tmp5_ = (GtkLabel*) gtk_label_new (_tmp4_);
+ g_object_ref_sink (_tmp5_);
+ label = _tmp5_;
+@@ -907,7 +907,7 @@
+ const gchar* _tmp10_;
+ const gchar* _tmp11_ = NULL;
+ _tmp10_ = item;
+- _tmp11_ = _ (_tmp10_);
++ _tmp11_ = (_tmp10_);
+ gtk_combo_box_text_append_text ((GtkComboBoxText*) self, _tmp11_);
+ _g_free0 (item);
+ }
diff --git a/x11-misc/easystroke/files/easystroke-0.6.0-cxx11.patch b/x11-misc/easystroke/files/easystroke-0.6.0-cxx11.patch
new file mode 100644
index 000000000000..b628d1b14d34
--- /dev/null
+++ b/x11-misc/easystroke/files/easystroke-0.6.0-cxx11.patch
@@ -0,0 +1,18 @@
+diff -uprb easystroke-0.6.0.orig/actions.cc easystroke-0.6.0/actions.cc
+--- easystroke-0.6.0.orig/actions.cc 2013-03-27 17:52:38.000000000 +0200
++++ easystroke-0.6.0/actions.cc 2015-12-07 22:07:17.720041171 +0200
+@@ -51,10 +51,11 @@ void TreeViewMulti::on_drag_begin(const
+ context->set_icon(pb, pb->get_width(), pb->get_height());
+ }
+
+-bool negate(bool b) { return !b; }
+-
+ TreeViewMulti::TreeViewMulti() : Gtk::TreeView(), pending(false) {
+- get_selection()->set_select_function(sigc::group(&negate, sigc::ref(pending)));
++ get_selection()->set_select_function(
++ [this](Glib::RefPtr<Gtk::TreeModel> const&, Gtk::TreeModel::Path const&, bool) {
++ return !pending;
++ });
+ }
+
+ enum Type { COMMAND, KEY, TEXT, SCROLL, IGNORE, BUTTON, MISC };
diff --git a/x11-misc/easystroke/files/easystroke-0.6.0-desktop.patch b/x11-misc/easystroke/files/easystroke-0.6.0-desktop.patch
new file mode 100644
index 000000000000..c9a75a2c4b78
--- /dev/null
+++ b/x11-misc/easystroke/files/easystroke-0.6.0-desktop.patch
@@ -0,0 +1,11 @@
+--- a/easystroke.desktop.in
++++ b/easystroke.desktop.in
+@@ -6,7 +6,7 @@
+ Exec=easystroke
+ Icon=easystroke
+ Categories=GTK;Utility;Accessibility;
+-Actions=About;Enable;Disable;Quit
++Actions=About;Enable;Disable;Quit;
+ _Comment=Control your desktop using mouse gestures
+
+ [Desktop Action About]
diff --git a/x11-misc/easystroke/files/easystroke-0.6.0-gentoo.patch b/x11-misc/easystroke/files/easystroke-0.6.0-gentoo.patch
new file mode 100644
index 000000000000..ee95b21486c1
--- /dev/null
+++ b/x11-misc/easystroke/files/easystroke-0.6.0-gentoo.patch
@@ -0,0 +1,41 @@
+--- a/Makefile
++++ b/Makefile
+@@ -19,14 +19,14 @@
+ MENUDIR = $(PREFIX)/share/applications
+ LOCALEDIR= $(PREFIX)/share/locale
+ DFLAGS =
+-OFLAGS = -O2
+-AOFLAGS = -O3
++#OFLAGS = -O2
++#AOFLAGS = -O3
+ STROKEFLAGS = -Wall -std=c99 $(DFLAGS)
+-CXXFLAGS = -Wall $(DFLAGS) -DLOCALEDIR=\"$(LOCALEDIR)\" `pkg-config gtkmm-3.0 dbus-glib-1 --cflags`
+-CFLAGS = -Wall $(DFLAGS) -DLOCALEDIR=\"$(LOCALEDIR)\" `pkg-config gtk+-3.0 --cflags` -DGETTEXT_PACKAGE='"easystroke"'
+-LDFLAGS = $(DFLAGS)
++CXXFLAGS += -Wall $(DFLAGS) -DLOCALEDIR=\"$(LOCALEDIR)\" $(shell $(PKG_CONFIG) gtkmm-3.0 dbus-glib-1 --cflags)
++CFLAGS += -Wall $(DFLAGS) -DLOCALEDIR=\"$(LOCALEDIR)\" $(shell $(PKG_CONFIG) gtk+-3.0 --cflags) -DGETTEXT_PACKAGE='"easystroke"'
++#LDFLAGS = $(DFLAGS)
+
+-LIBS = $(DFLAGS) -lboost_serialization -lX11 -lXext -lXi -lXfixes -lXtst `pkg-config gtkmm-3.0 dbus-glib-1 --libs`
++LIBS = $(DFLAGS) -lboost_serialization -lX11 -lXext -lXi -lXfixes -lXtst $(shell $(PKG_CONFIG) gtkmm-3.0 dbus-glib-1 --libs)
+
+ BINARY = easystroke
+ ICON = easystroke.svg
+@@ -60,7 +60,7 @@
+ include $(DEPFILES)
+
+ $(BINARY): $(OFILES)
+- $(CXX) $(LDFLAGS) -o $@ $(OFILES) $(LIBS)
++ $(CXX) $(CFLAGS) $(LDFLAGS) -o $@ $(OFILES) $(LIBS)
+
+ stroke.o: stroke.c
+ $(CC) $(STROKEFLAGS) $(AOFLAGS) -MT $@ -MMD -MP -MF $*.Po -o $@ -c $<
+@@ -119,7 +119,7 @@
+ help2man -N -n "X11 gesture recognition application" ./$(BINARY) > $@
+
+ install: all
+- install -Ds $(BINARY) $(DESTDIR)$(BINDIR)/$(BINARY)
++ install -D $(BINARY) $(DESTDIR)$(BINDIR)/$(BINARY)
+ install -D -m 644 $(ICON) $(DESTDIR)$(ICONDIR)/$(ICON)
+ install -D -m 644 $(MENU) $(DESTDIR)$(MENUDIR)/$(MENU)
+ for f in $(MOFILES); do \
diff --git a/x11-misc/easystroke/files/easystroke-0.6.0-reinstate-signal-handlers.patch b/x11-misc/easystroke/files/easystroke-0.6.0-reinstate-signal-handlers.patch
new file mode 100644
index 000000000000..2e96346459a8
--- /dev/null
+++ b/x11-misc/easystroke/files/easystroke-0.6.0-reinstate-signal-handlers.patch
@@ -0,0 +1,42 @@
+From 7bda4bd9c705413598ee9b534884bc7f23704932 Mon Sep 17 00:00:00 2001
+From: Thomas Jaeger <ThJaeger@gmail.com>
+Date: Thu, 20 Jun 2013 01:45:20 -0400
+Subject: Reinstate signal handlers that got lost in the gtk3 transition
+
+Also, fix a segfault when handling SIGINT.
+---
+ main.cc | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/main.cc b/main.cc
+index 55d0b3c..8cd9c56 100644
+--- a/main.cc
++++ b/main.cc
+@@ -161,7 +161,12 @@ void quit() {
+ xstate->bail_out();
+ dead = true;
+ win->hide();
+- xstate->queue(sigc::ptr_fun(&Gtk::Main::quit));
++ Glib::RefPtr<Gio::Application> app = Gio::Application::get_default();
++ xstate->queue(sigc::mem_fun(*app.operator->(), &Gio::Application::quit));
++}
++
++void sig_int(int) {
++ quit();
+ }
+
+ class App : public Gtk::Application, Base {
+@@ -371,6 +376,10 @@ void App::on_activate() {
+
+ create_config_dir();
+ unsetenv("DESKTOP_AUTOSTART_ID");
++
++ signal(SIGINT, &sig_int);
++ signal(SIGCHLD, SIG_IGN);
++
+ dpy = XOpenDisplay(NULL);
+ if (!dpy) {
+ printf(_("Couldn't open display.\n"));
+--
+1.8.4
+
diff --git a/x11-misc/easystroke/metadata.xml b/x11-misc/easystroke/metadata.xml
new file mode 100644
index 000000000000..a03902e2222a
--- /dev/null
+++ b/x11-misc/easystroke/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>desktop-misc@gentoo.org</email>
+ <name>Gentoo Desktop Miscellaneous Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">easystroke</remote-id>
+ </upstream>
+</pkgmetadata>