aboutsummaryrefslogtreecommitdiff
path: root/gui/touchegg.nix
blob: 8e5cb6b33a54705ddf7589085b663867f88985a2 (plain)
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
{ pkgs, ... }:

{
  home.file.".config/touchegg/touchegg.conf".text = let
    uictrl = pkgs.lib.callPackageWith pkgs ./pkgs/uictrl.nix { };
  in ''
    <touchégg>
    <application name="All">
    <gesture type="DRAG" fingers="3" direction="LEFT">
        <action type="RUN_COMMAND">${uictrl}/bin/uictrl next</action>
    </gesture>
    <gesture type="DRAG" fingers="3" direction="RIGHT">
        <action type="RUN_COMMAND">${uictrl}/bin/uictrl prev</action>
    </gesture>
    <gesture type="TAP" fingers="2">
        <action type="MOUSE_CLICK">BUTTON=3</action>
    </gesture>
    </application>
    </touchégg>
  '';

  systemd.user.services.touchegg = {
    Unit = {
      Description = "Touchégg multitouch gestures";
      After = [ "graphical-session-pre.target" ];
      PartOf = [ "graphical-session.target" ];
    };

    Install = {
      WantedBy = [ "graphical-session.target" ];
    };

    Service = {
      ExecStart = "${pkgs.touchegg}/bin/touchegg";
      Restart = "on-failure";
    };
  };
}