unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#55235] [PATCH] gnu: Add touchegg.
@ 2022-05-03  1:01 Rene Saavedra via Guix-patches via
  2022-05-04 13:51 ` Maxime Devos
  0 siblings, 1 reply; 8+ messages in thread
From: Rene Saavedra via Guix-patches via @ 2022-05-03  1:01 UTC (permalink / raw)
  To: 55235

[-- Attachment #1: Type: text/plain, Size: 135 bytes --]

hello,

I share this package, I think (gnu/packages/toys.scm), it is a good place to live; but i can change it.

Cheers

--
Rene

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-touchegg.patch --]
[-- Type: text/x-patch; name=0001-gnu-Add-touchegg.patch, Size: 3282 bytes --]

From 655752f753facd039baae62ac06f9f55d8c50b1c Mon Sep 17 00:00:00 2001
From: Rene Saavedra <nanuui@protonmail.com>
Date: Mon, 2 May 2022 19:50:37 -0500
Subject: [PATCH] gnu: Add touchegg.

* gnu/packages/toys.scm (touchegg): New variable.
---
 gnu/packages/toys.scm | 52 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm
index 09426fe6fa..a3b127444c 100644
--- a/gnu/packages/toys.scm
+++ b/gnu/packages/toys.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2019, 2020, 2021 Timotej Lazar <timotej.lazar@araneo.si>
 ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2022 Rene Saavedra <nanuui@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -24,6 +25,8 @@ (define-module (gnu packages toys)
   #:use-module (gnu packages)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages man)
   #:use-module (gnu packages ncurses)
@@ -32,6 +35,7 @@ (define-module (gnu packages toys)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system cmake)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
@@ -331,3 +335,51 @@ (define-public cbonsai
     (description "Cbonsai is a bonsai tree generator using ASCII art.  It
 creates, colors, and positions a bonsai tree, and is configurable.")
     (license license:gpl3+)))
+
+(define-public touchegg
+  (package
+    (name "touchegg")
+    (version "2.0.14")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/JoseExposito/touchegg")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0shvslz0c8nqx5f988z55qjc9xw0in9rb7b19r6vr1f7cdkqb6yr"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f ; No tests exist
+       #:configure-flags
+       (list "-DUSE_SYSTEMD=OFF") ; No systemd
+       #:phases
+       (modify-phases %standard-phases
+         ;; gnome-shell launch touchegg binary on startup and
+         ;; touchegg requires root privileges for proper functioning.
+         (add-after 'unpack 'disable-autostart
+           (lambda _
+             (substitute* "installation/touchegg.desktop"
+               (("Exec=touchegg")
+                "Exec=false")))))))
+    (native-inputs
+     (list
+      pkg-config))
+    (inputs
+     (list
+      cairo
+      gtk+
+      libgudev
+      libinput
+      libxrandr
+      libxtst
+      pugixml))
+    (home-page "https://github.com/JoseExposito/touchegg")
+    (synopsis "Linux multi-touch gesture recognizer")
+    (description
+     "Touchégg is an application that runs in the background and transform the
+gestures you make on your touchpad or touchscreen into visible actions in your
+desktop.  Touchégg only works on X11 and use libinput to communicate with
+hardware.")
+    (license license:gpl3+)))
-- 
2.34.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#55235] [PATCH] gnu: Add touchegg.
  2022-05-03  1:01 [bug#55235] [PATCH] gnu: Add touchegg Rene Saavedra via Guix-patches via
@ 2022-05-04 13:51 ` Maxime Devos
  2022-05-07 21:53   ` Rene Saavedra via Guix-patches via
  0 siblings, 1 reply; 8+ messages in thread
From: Maxime Devos @ 2022-05-04 13:51 UTC (permalink / raw)
  To: Rene Saavedra, 55235

[-- Attachment #1: Type: text/plain, Size: 974 bytes --]

> + diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm

Doesn't look like a toy to me.

Rene Saavedra via Guix-patches via schreef op di 03-05-2022 om 01:01
[+0000]:
> +         ;; gnome-shell launch touchegg binary on startup and
> +         ;; touchegg requires root privileges for proper
> functioning.
> +         (add-after 'unpack 'disable-autostart
> +           (lambda _
> +             (substitute* "installation/touchegg.desktop"
> +               (("Exec=touchegg")
> +                "Exec=false")))))))

What does it need root for?

> +    (synopsis "Linux multi-touch gesture recognizer")

Is it Linux-specific?  Also, does it work in a pure environment (./pre-
inst-env guix shell --pure touchegg -- touchegg)?

> use libinput to communicate with +hardware.")

The exact library used seems like an implementation detail to me.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#55235] [PATCH] gnu: Add touchegg.
  2022-05-04 13:51 ` Maxime Devos
@ 2022-05-07 21:53   ` Rene Saavedra via Guix-patches via
  2022-05-08 10:58     ` Maxime Devos
  0 siblings, 1 reply; 8+ messages in thread
From: Rene Saavedra via Guix-patches via @ 2022-05-07 21:53 UTC (permalink / raw)
  To: 55235

[-- Attachment #1: Type: text/plain, Size: 1423 bytes --]

hi Maxime,

>
> Doesn't look like a toy to me.
moved to gnu/packages/linux.scm

>
> What does it need root for?
touchegg --daemon requires to detect touchpad device.

> Is it Linux-specific? Also, does it work in a pure environment (./pre-
> inst-env guix shell --pure touchegg -- touchegg)?
fixed synopsis.

don't work in a pure environment, see error:
--
rex@crash ~/dev/guix$ ./pre-inst-env guix shell --pure touchegg -- touchegg --daemon
Touchégg v2.0.14.
Starting Touchégg in daemon mode
Starting daemon server...
Generating D-Bus introspection data
Creating D-Bus server
Server started at address unix:abstract=touchegg
A list of detected compatible devices will be displayed below:
Warning: Error opening device /dev/input/event3
Warning: Error opening device /dev/input/event0
Warning: Error opening device /dev/input/event1
Warning: Error opening device /dev/input/event5
Warning: Error opening device /dev/input/event8
Warning: Error opening device /dev/input/event6
Warning: Error opening device /dev/input/event9
Warning: Error opening device /dev/input/event10
Warning: Error opening device /dev/input/event11
Warning: Error opening device /dev/input/event7
Warning: Error opening device /dev/input/event2
Warning: Error opening device /dev/input/event4
--

>
> The exact library used seems like an implementation detail to me.
description fixed.

Cheers
--
Rene

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-PATCH-gnu-Add-touchegg.patch --]
[-- Type: text/x-patch; name=0001-PATCH-gnu-Add-touchegg.patch, Size: 2841 bytes --]

From 81a71a1cad5bd86acfbb6751a92e3dfd0a579591 Mon Sep 17 00:00:00 2001
From: Rene Saavedra <nanuui@protonmail.com>
Date: Sat, 7 May 2022 16:39:20 -0500
Subject: [PATCH] gnu: Add touchegg.

* gnu/packages/linux.scm (touchegg): New variable.
---
 gnu/packages/linux.scm | 49 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 9bb2314ebd..272fd23db0 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -61,6 +61,7 @@
 ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
 ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
 ;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;; Copyright © 2022 Rene Saavedra <nanuui@protonmail.com>
 
 ;;;
 ;;; This file is part of GNU Guix.
@@ -110,6 +111,7 @@ (define-module (gnu packages linux)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages gperf)
@@ -9179,3 +9181,50 @@ (define-public libtree
      "This tool turns @command{ldd} into a tree and explains how shared
 libraries are found or why they cannot be located.")
     (license license:expat)))
+
+(define-public touchegg
+  (package
+    (name "touchegg")
+    (version "2.0.14")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/JoseExposito/touchegg")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0shvslz0c8nqx5f988z55qjc9xw0in9rb7b19r6vr1f7cdkqb6yr"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f ; No tests exist
+       #:configure-flags
+       (list "-DUSE_SYSTEMD=OFF") ; No systemd
+       #:phases
+       (modify-phases %standard-phases
+         ;; gnome-shell launch touchegg daemon on startup, touchegg daemon
+         ;; requires root privileges to detect touchpad or touchscreen device.
+         (add-after 'unpack 'disable-autostart
+           (lambda _
+             (substitute* "installation/touchegg.desktop"
+               (("Exec=touchegg")
+                "Exec=false")))))))
+    (native-inputs
+     (list
+      pkg-config))
+    (inputs
+     (list
+      cairo
+      gtk+
+      libgudev
+      libinput
+      libxrandr
+      libxtst
+      pugixml))
+    (home-page "https://github.com/JoseExposito/touchegg")
+    (synopsis "Multitouch gesture recognizer")
+    (description
+     "Touchégg is an application that runs in the background and transform the
+gestures you make on your touchpad or touchscreen into visible actions in your
+desktop.")
+    (license license:gpl3+)))
-- 
2.34.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#55235] [PATCH] gnu: Add touchegg.
  2022-05-07 21:53   ` Rene Saavedra via Guix-patches via
@ 2022-05-08 10:58     ` Maxime Devos
  2022-05-15 15:46       ` Rene Saavedra via Guix-patches via
  0 siblings, 1 reply; 8+ messages in thread
From: Maxime Devos @ 2022-05-08 10:58 UTC (permalink / raw)
  To: Rene Saavedra, 55235

[-- Attachment #1: Type: text/plain, Size: 708 bytes --]

Rene Saavedra via Guix-patches via schreef op za 07-05-2022 om 21:53
[+0000]:
> > Is it Linux-specific? Also, does it work in a pure environment
> (./pre-
> > inst-env guix shell --pure touchegg -- touchegg)?
> fixed synopsis.
> 
> don't work in a pure environment, see error:
> --
> rex@crash ~/dev/guix$ ./pre-inst-env guix shell --pure touchegg --
> touchegg --daemon

That's the daemon, which apparently requires root whereas you're
running it as non-root (see Error opening device.  Try

(not sure if the -E is 
$ ./pre-inst-env guix shell --pure touchegg -- sudo -E touchegg --daemon

and

$ ./pre-inst-env guix shell --pure touchegg -- touchegg

instead.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#55235] [PATCH] gnu: Add touchegg.
  2022-05-08 10:58     ` Maxime Devos
@ 2022-05-15 15:46       ` Rene Saavedra via Guix-patches via
  2022-05-18 22:24         ` Rene Saavedra via Guix-patches via
  0 siblings, 1 reply; 8+ messages in thread
From: Rene Saavedra via Guix-patches via @ 2022-05-15 15:46 UTC (permalink / raw)
  Cc: 55235

Hi Maxime,

> That's the daemon, which apparently requires root whereas you're
> running it as non-root (see Error opening device. Try
>
> (not sure if the -E is
> $ ./pre-inst-env guix shell --pure touchegg -- sudo -E touchegg --daemon

rex@crash ~/dev/guix$ ./pre-inst-env guix shell --pure touchegg -- $(sudo touchegg --daemon)

> $ ./pre-inst-env guix shell --pure touchegg -- touchegg
--
rex@crash ~/dev/guix$ ./pre-inst-env guix shell --pure touchegg -- touchegg
Touchégg v2.0.14.
Starting Touchégg in client mode
Parsing your configuration file...
Using configuration file "/home/rex/.config/touchegg/touchegg.conf"
Configuration parsed successfully
Connecting to Touchégg daemon...
Connection with Touchégg established
--

With this, touchegg works in a pure environment!.


Cheers
--
Rene




^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#55235] [PATCH] gnu: Add touchegg.
  2022-05-15 15:46       ` Rene Saavedra via Guix-patches via
@ 2022-05-18 22:24         ` Rene Saavedra via Guix-patches via
  2022-05-20 18:39           ` Rene Saavedra via Guix-patches via
  0 siblings, 1 reply; 8+ messages in thread
From: Rene Saavedra via Guix-patches via @ 2022-05-18 22:24 UTC (permalink / raw)
  Cc: 55235

Hi Maxime,

I will send an updated version of the package that works with a Shepherd service.


Cheers
--
Rene





^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#55235] [PATCH] gnu: Add touchegg.
  2022-05-18 22:24         ` Rene Saavedra via Guix-patches via
@ 2022-05-20 18:39           ` Rene Saavedra via Guix-patches via
  2022-06-04 15:56             ` bug#55235: " Julien Lepiller
  0 siblings, 1 reply; 8+ messages in thread
From: Rene Saavedra via Guix-patches via @ 2022-05-20 18:39 UTC (permalink / raw)
  Cc: 55235

[-- Attachment #1: Type: text/plain, Size: 241 bytes --]

Hi,

> I will send an updated version of the package that works with a Shepherd service.
>

Attached the updated version of the package, I did tests executing Touchegg as a service (which I will send in another mail, WIP).


--
Rene

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-PATCH-gnu-Add-touchegg.patch --]
[-- Type: text/x-patch; name=0001-PATCH-gnu-Add-touchegg.patch, Size: 2428 bytes --]

From d05652739c98e0b25f73284cb286620102ab51ba Mon Sep 17 00:00:00 2001
From: Rene Saavedra <nanuui@protonmail.com>
Date: Fri, 20 May 2022 13:30:09 -0500
Subject: [PATCH] gnu: Add touchegg.

* gnu/packages/linux.scm (touchegg): New variable.
---
 gnu/packages/linux.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index e179a5c2f7..38fa06e98b 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -61,6 +61,7 @@
 ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
 ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
 ;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;; Copyright © 2022 Rene Saavedra <nanuui@protonmail.com>
 
 ;;;
 ;;; This file is part of GNU Guix.
@@ -110,6 +111,7 @@ (define-module (gnu packages linux)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages gperf)
@@ -9187,3 +9189,41 @@ (define-public libtree
      "This tool turns @command{ldd} into a tree and explains how shared
 libraries are found or why they cannot be located.")
     (license license:expat)))
+
+(define-public touchegg
+  (package
+    (name "touchegg")
+    (version "2.0.14")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/JoseExposito/touchegg")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0shvslz0c8nqx5f988z55qjc9xw0in9rb7b19r6vr1f7cdkqb6yr"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f ; No tests exist
+       #:configure-flags
+       (list "-DUSE_SYSTEMD=OFF"))) ; No systemd
+    (native-inputs
+     (list
+      pkg-config))
+    (inputs
+     (list
+      cairo
+      gtk+
+      libgudev
+      libinput
+      libxrandr
+      libxtst
+      pugixml))
+    (home-page "https://github.com/JoseExposito/touchegg")
+    (synopsis "Multitouch gesture recognizer")
+    (description
+     "Touchégg is an application that runs in the background and transform the
+gestures you make on your touchpad or touchscreen into visible actions in your
+desktop.")
+    (license license:gpl3+)))
-- 
2.36.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* bug#55235: [PATCH] gnu: Add touchegg.
  2022-05-20 18:39           ` Rene Saavedra via Guix-patches via
@ 2022-06-04 15:56             ` Julien Lepiller
  0 siblings, 0 replies; 8+ messages in thread
From: Julien Lepiller @ 2022-06-04 15:56 UTC (permalink / raw)
  Cc: 55235-done, Rene Saavedra

Le Fri, 20 May 2022 18:39:05 +0000,
Rene Saavedra via Guix-patches via <guix-patches@gnu.org> a écrit :

> Hi,
> 
> > I will send an updated version of the package that works with a
> > Shepherd service. 
> 
> Attached the updated version of the package, I did tests executing
> Touchegg as a service (which I will send in another mail, WIP).
> 
> 
> --
> Rene

Hi Rene,

pushed to master as 28274a353d3618784a4035e928db688f0664aa8c, thank you!




^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-06-04 15:57 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-03  1:01 [bug#55235] [PATCH] gnu: Add touchegg Rene Saavedra via Guix-patches via
2022-05-04 13:51 ` Maxime Devos
2022-05-07 21:53   ` Rene Saavedra via Guix-patches via
2022-05-08 10:58     ` Maxime Devos
2022-05-15 15:46       ` Rene Saavedra via Guix-patches via
2022-05-18 22:24         ` Rene Saavedra via Guix-patches via
2022-05-20 18:39           ` Rene Saavedra via Guix-patches via
2022-06-04 15:56             ` bug#55235: " Julien Lepiller

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).