summary refs log tree commit diff
diff options
context:
space:
mode:
authorHurshal Patel <hurshal@imap.cc>2016-04-18 23:42:52 -0700
committerHurshal Patel <hurshal@imap.cc>2016-04-19 23:33:38 -0700
commit9023722e771cffe17762ae0c390889ce3574ec5c (patch)
tree15173d36b91b0b65b06834f786c11d10ae6fe000
parentf0d89ef874a40845e9bed38c0517aabab2f273bd (diff)
downloadnixpkgs-9023722e771cffe17762ae0c390889ce3574ec5c.tar
nixpkgs-9023722e771cffe17762ae0c390889ce3574ec5c.tar.gz
nixpkgs-9023722e771cffe17762ae0c390889ce3574ec5c.tar.bz2
nixpkgs-9023722e771cffe17762ae0c390889ce3574ec5c.tar.lz
nixpkgs-9023722e771cffe17762ae0c390889ce3574ec5c.tar.xz
nixpkgs-9023722e771cffe17762ae0c390889ce3574ec5c.tar.zst
nixpkgs-9023722e771cffe17762ae0c390889ce3574ec5c.zip
xbanish: init at 1.4 :ghost:
-rw-r--r--lib/maintainers.nix1
-rw-r--r--pkgs/tools/X11/xbanish/default.nix45
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 48 insertions, 0 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 720824ee66e..21fb69d4c35 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -72,6 +72,7 @@
   cfouche = "Chaddaï Fouché <chaddai.fouche@gmail.com>";
   chaoflow = "Florian Friesdorf <flo@chaoflow.net>";
   chattered = "Phil Scott <me@philscotted.com>";
+  choochootrain = "Hurshal Patel <hurshal@imap.cc>";
   christopherpoole = "Christopher Mark Poole <mail@christopherpoole.net>";
   cleverca22 = "Michael Bishop <cleverca22@gmail.com>";
   coconnor = "Corey O'Connor <coreyoconnor@gmail.com>";
diff --git a/pkgs/tools/X11/xbanish/default.nix b/pkgs/tools/X11/xbanish/default.nix
new file mode 100644
index 00000000000..cbf8f3a7ff1
--- /dev/null
+++ b/pkgs/tools/X11/xbanish/default.nix
@@ -0,0 +1,45 @@
+{stdenv, fetchFromGitHub, libX11, libXi, libXt, libXfixes, libXext}:
+
+stdenv.mkDerivation rec {
+  version = "1.4";
+  name = "xbanish-${version}";
+
+  buildInputs = [
+    libX11 libXi libXt libXfixes libXext
+  ];
+
+  src = fetchFromGitHub {
+    owner = "jcs";
+    repo = "xbanish";
+    rev = "5cbc51a88739bc7ebe3ea3114ec423890d180146";
+    sha256 = "0n5aiqfwx9ga8qjszymfmbnmygcracrgvvpmgll7mflp2jnvzq6j";
+  };
+
+  preBuild = ''
+    makeFlagsArray+=("PREFIX=$out")
+  '';
+
+  preInstall = ''
+    mkdir -p $out/bin
+    mkdir -p $out/man/man1
+  '';
+
+  meta = {
+    description = "Hides mouse pointer while not in use";
+    longDescription = ''
+      xbanish hides the mouse cursor when you start typing, and shows it again when
+      the mouse cursor moves or a mouse button is pressed.  This is similar to
+      xterm's pointerMode setting, but xbanish works globally in the X11 session.
+
+      unclutter's -keystroke mode is supposed to do this, but it's broken[0].  I
+      looked into fixing it, but the unclutter source code is terrible, so I wrote
+      xbanish.
+
+      The name comes from ratpoison's "banish" command that sends the cursor to the
+      corner of the screen.
+    '';
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [stdenv.lib.maintainers.choochootrain];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 632468903e9..be4794b2894 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3674,6 +3674,8 @@ in
 
   xarchiver = callPackage ../tools/archivers/xarchiver { };
 
+  xbanish = callPackage ../tools/X11/xbanish { };
+
   xbrightness = callPackage ../tools/X11/xbrightness { };
 
   xfstests = callPackage ../tools/misc/xfstests { };