summary refs log tree commit diff
path: root/pkgs/tools/X11/xcape/default.nix
blob: d1b6f9b23b6da5fc3a4ceb2c9d598d65d0edba59 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{ stdenv, fetchFromGitHub, pkgconfig, libX11, libXtst, xorgproto,
libXi }:

stdenv.mkDerivation rec {
  pname = "xcape";
  version = "unstable-2018-03-01";

  src = fetchFromGitHub {
    owner = "alols";
    repo = pname;
    rev = "a34d6bae27bbd55506852f5ed3c27045a3c0bd9e";
    sha256 = "04grs4w9kpfzz25mqw82zdiy51g0w355gpn5b170p7ha5972ykc8";
  };

  nativeBuildInputs = [ pkgconfig ];

  buildInputs = [ libX11 libXtst xorgproto libXi ];

  makeFlags = [
    "PREFIX=$(out)"
    "MANDIR=/share/man/man1"
  ];

  postInstall = "install -Dm444 --target-directory $out/share/doc README.md";

  meta = with stdenv.lib; {
    description = "Utility to configure modifier keys to act as other keys";
    longDescription = ''
      xcape allows you to use a modifier key as another key when
      pressed and released on its own.  Note that it is slightly
      slower than pressing the original key, because the pressed event
      does not occur until the key is released.  The default behaviour
      is to generate the Escape key when Left Control is pressed and
      released on its own.
    '';
    homepage = https://github.com/alols/xcape;
    license = licenses.gpl3 ;
    maintainers = with maintainers; [ raskin ];
    platforms = platforms.linux;
  };
}