summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pkgs/applications/accessibility/mousetweaks/default.nix49
-rw-r--r--pkgs/applications/misc/onboard/default.nix7
-rw-r--r--pkgs/applications/misc/onboard/fix-paths.patch11
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch11
-rw-r--r--pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix5
-rw-r--r--pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch11
-rw-r--r--pkgs/top-level/all-packages.nix4
8 files changed, 98 insertions, 3 deletions
diff --git a/pkgs/applications/accessibility/mousetweaks/default.nix b/pkgs/applications/accessibility/mousetweaks/default.nix
new file mode 100644
index 000000000000..e4fd66679a79
--- /dev/null
+++ b/pkgs/applications/accessibility/mousetweaks/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, pkgconfig
+, glib, gtk3, gnome3, gsettings-desktop-schemas, wrapGAppsHook
+, libX11, libXtst, libXfixes, libXcursor
+}:
+
+stdenv.mkDerivation rec {
+ pname = "mousetweaks";
+ version = "3.32.0";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "005fhmvb45sa9mq17dpa23n1xnspiissx5rnpiy7hiqmy3g5rg8f";
+ };
+
+ nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+
+ buildInputs = [
+ glib gtk3 gsettings-desktop-schemas
+ libX11 libXtst libXfixes libXcursor
+ ];
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = pname;
+ };
+ };
+
+ meta = with stdenv.lib; {
+ description = "Provides mouse accessibility enhancements for the GNOME desktop";
+ longDescription = ''
+ Mousetweaks provides mouse accessibility enhancements for the GNOME
+ desktop. These enhancements are:
+
+ - It offers a way to perform the various clicks without using any
+ physical mouse buttons. (Hover Click)
+
+ - It allows users to perform a secondary click by keeping the primary
+ mouse button pressed for a predetermined amount of time. (Simulated
+ Secondary Click)
+
+ The features can be activated and configured through the Universal Access
+ panel of the GNOME Control Center.
+ '';
+ homepage = https://wiki.gnome.org/Projects/Mousetweaks;
+ license = licenses.gpl2;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.johnazoidberg ];
+ };
+}
diff --git a/pkgs/applications/misc/onboard/default.nix b/pkgs/applications/misc/onboard/default.nix
index dbd79ba3e1b3..de2f86e9f9a2 100644
--- a/pkgs/applications/misc/onboard/default.nix
+++ b/pkgs/applications/misc/onboard/default.nix
@@ -1,5 +1,6 @@
{ fetchurl
, stdenv
+, substituteAll
, aspellWithDicts
, at-spi2-core ? null
, atspiSupport ? true
@@ -16,6 +17,7 @@
, intltool
, isocodes
, libcanberra-gtk3
+, mousetweaks
, udev
, libxkbcommon
, pkgconfig
@@ -38,6 +40,10 @@ in python3.pkgs.buildPythonApplication rec {
};
patches = [
+ (substituteAll {
+ src = ./fix-paths.patch;
+ inherit mousetweaks;
+ })
# Allow loading hunspell dictionaries installed in NixOS system path
./hunspell-use-xdg-datadirs.patch
];
@@ -79,6 +85,7 @@ in python3.pkgs.buildPythonApplication rec {
hunspell
isocodes
libcanberra-gtk3
+ mousetweaks
udev
libxkbcommon
wrapGAppsHook
diff --git a/pkgs/applications/misc/onboard/fix-paths.patch b/pkgs/applications/misc/onboard/fix-paths.patch
new file mode 100644
index 000000000000..64acc9b138c4
--- /dev/null
+++ b/pkgs/applications/misc/onboard/fix-paths.patch
@@ -0,0 +1,11 @@
+--- a/Onboard/ClickSimulator.py
++++ b/Onboard/ClickSimulator.py
+@@ -479,7 +479,7 @@ class CSMousetweaks(ConfigObject, ClickSimulator):
+ self._daemon_running_notify_callbacks = []
+
+ def _launch_daemon(self, delay):
+- self.launcher.launch_delayed(["mousetweaks"], delay)
++ self.launcher.launch_delayed(["@mousetweaks@/bin/mousetweaks"], delay)
+
+ def _set_connection(self, active):
+ ''' Update interface object, state and notify listeners '''
diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
index f51270bcbd20..a6528c95c19c 100644
--- a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
@@ -13,6 +13,7 @@
, libgnomekbd
, lcms2
, libpulseaudio
+, mousetweaks
, alsaLib
, libcanberra-gtk3
, upower
@@ -48,7 +49,7 @@ stdenv.mkDerivation rec {
patches = [
(substituteAll {
src = ./fix-paths.patch;
- inherit tzdata;
+ inherit tzdata mousetweaks;
})
];
diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch
index 2229302cab7c..272656fae78c 100644
--- a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch
+++ b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch
@@ -13,3 +13,14 @@
typedef struct _TzDB TzDB;
typedef struct _TzLocation TzLocation;
+--- a/plugins/mouse/gsd-mouse-manager.c
++++ b/plugins/mouse/gsd-mouse-manager.c
+@@ -118,7 +118,7 @@ set_mousetweaks_daemon (GsdMouseManager *manager,
+ gboolean run_daemon = dwell_click_enabled || secondary_click_enabled;
+
+ if (run_daemon || manager->priv->mousetweaks_daemon_running)
+- comm = g_strdup_printf ("mousetweaks %s",
++ comm = g_strdup_printf ("@mousetweaks@/bin/mousetweaks %s",
+ run_daemon ? "" : "-s");
+ else
+ return;
diff --git a/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
index 1dfa64ae3732..eeca04eff4e8 100644
--- a/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
+++ b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
@@ -22,6 +22,7 @@
, libxml2
, libxslt
, meson
+, mousetweaks
, networkmanager
, ninja
, nss
@@ -30,12 +31,12 @@
, pkgconfig
, polkit
, python3
+, stdenv
, substituteAll
, systemd
, tzdata
, upower
, wrapGAppsHook
-, stdenv
}:
stdenv.mkDerivation rec {
@@ -63,7 +64,7 @@ stdenv.mkDerivation rec {
patches = let patchPath = "${src2}/debian/patches"; in [
(substituteAll {
src = ./fix-paths.patch;
- inherit tzdata;
+ inherit tzdata mousetweaks;
})
"${patchPath}/45_suppress-printer-may-not-be-connected-notification.patch"
"${patchPath}/64_restore_terminal_keyboard_shortcut_schema.patch"
diff --git a/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch b/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch
index 2229302cab7c..272656fae78c 100644
--- a/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch
+++ b/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch
@@ -13,3 +13,14 @@
typedef struct _TzDB TzDB;
typedef struct _TzLocation TzLocation;
+--- a/plugins/mouse/gsd-mouse-manager.c
++++ b/plugins/mouse/gsd-mouse-manager.c
+@@ -118,7 +118,7 @@ set_mousetweaks_daemon (GsdMouseManager *manager,
+ gboolean run_daemon = dwell_click_enabled || secondary_click_enabled;
+
+ if (run_daemon || manager->priv->mousetweaks_daemon_running)
+- comm = g_strdup_printf ("mousetweaks %s",
++ comm = g_strdup_printf ("@mousetweaks@/bin/mousetweaks %s",
+ run_daemon ? "" : "-s");
+ else
+ return;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 67aefc86dce9..81eab30b55d0 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1669,6 +1669,10 @@ in
monetdb = callPackage ../servers/sql/monetdb { };
+ mousetweaks = callPackage ../applications/accessibility/mousetweaks {
+ inherit (pkgs.xorg) libX11 libXtst libXfixes;
+ };
+
mp3blaster = callPackage ../applications/audio/mp3blaster { };
mp3fs = callPackage ../tools/filesystems/mp3fs { };