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(+)
@@ -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