File libinput-gestures.spec of Package libinput-gestures

#
# spec file for package libinput-gestures
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


Name:           libinput-gestures
Version:        2.72
Release:        0
Summary:        Actions gestures on your touchpad using libinput
License:        GPL-2.0-only
Group:          Development/Languages/C and C++
URL:            https://github.com/bulletmark/libinput-gestures
Source0:        libinput-gestures-%{version}.tar.gz
BuildRequires:  hicolor-icon-theme
BuildRequires:  make
BuildRequires:  update-desktop-files
Requires:       libinput-tools
Requires:       python3
Requires:       xdotool

%description
Libinput-gestures is a utility which reads libinput gestures from your touchpad and maps
them to gestures you configure in a configuration file.
Each gesture can be configured to activate a shell command which is typically an xdotool
command to action desktop/window/application keyboard combinations and commands.

See the examples in the provided libinput-gestures.conf file.
My motivation for creating this is to use triple swipe up/down to switch GNOME workspaces,
and triple swipe left/right to go backwards/forwards in my browser, as per the default configuration.

This small and simple utility is only intended to be used temporarily until GNOME and other DE's action
libinput gestures natively. It parses the output of the libinput-list-devices and libinput-debug-events
utilities so is a little fragile to any version changes in their output format.

%prep
%setup -q

%build

%install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/applications
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/128x128/apps
mkdir -p %{buildroot}%{_sysconfdir}
mkdir -p %{buildroot}%{_docdir}/%{name}
mkdir -p %{buildroot}%{_datadir}/doc/%{name}

%make_install

chmod a-x %{buildroot}%{_sysconfdir}/*

mv %{buildroot}%{_datadir}/doc/%{name}/* %{buildroot}%{_docdir}/%{name}
rm -rf %{buildroot}/doc

%suse_update_desktop_file -u -r -G "Actions gestures on your touchpad using libinput" %{name} "GNOME;GTK;Accessibility"

%post
%desktop_database_post
%icon_theme_cache_post

%postun
%desktop_database_postun
%icon_theme_cache_postun

%files
%{_sysconfdir}/*
%{_bindir}/*
%{_datadir}/icons/hicolor/128x128/apps/*
%{_datadir}/applications/*
%dir %{_docdir}/%{name}
%{_docdir}/%{name}/*
%{_prefix}/lib/systemd/user/libinput-gestures.service

%changelog
openSUSE Build Service is sponsored by