diff options
Diffstat (limited to 'packages/click')
| -rw-r--r-- | packages/click/default.nix | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/packages/click/default.nix b/packages/click/default.nix new file mode 100644 index 0000000..9f3ff70 --- /dev/null +++ b/packages/click/default.nix @@ -0,0 +1,26 @@ +{ pkgs, ... }: + +let + xdotool = "${pkgs.xdotool}/bin/xdotool"; + xwininfo = "${pkgs.xorg.xwininfo}/bin/xwininfo"; + awk = "${pkgs.gawk}/bin/awk"; +in pkgs.writeShellScriptBin "click" '' + set -euo pipefail + IFS=$'\n\t' + + delay="''${1:-1}" + button="''${2:-1}" + + printf 'click target window: ' + id="$(${xwininfo} | ${awk} '/Window id:/{print $4}')" + printf '%s\n' "$id" + + declare -i count=0 + while true; do + ${xdotool} click --window "$id" "$button" + + printf '\rclick count: %d' "$((count += 1))" + + sleep "$delay" + done +'' |