diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 720824ee66e7..21fb69d4c355 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -72,6 +72,7 @@ cfouche = "Chaddaï Fouché "; chaoflow = "Florian Friesdorf "; chattered = "Phil Scott "; + choochootrain = "Hurshal Patel "; christopherpoole = "Christopher Mark Poole "; cleverca22 = "Michael Bishop "; coconnor = "Corey O'Connor "; diff --git a/pkgs/tools/X11/xbanish/default.nix b/pkgs/tools/X11/xbanish/default.nix new file mode 100644 index 000000000000..cbf8f3a7ff1e --- /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 632468903e98..be4794b28947 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 { };