diff options
| author | Caroline Larimore <caroline@larimo.re> | 2025-05-01 01:14:35 -0700 |
|---|---|---|
| committer | Caroline Larimore <caroline@larimo.re> | 2025-05-01 01:14:35 -0700 |
| commit | cc337816ee3d657859ab11bdd9118d50a9629c92 (patch) | |
| tree | 22416006b9fa58c3eb5ae777b49a0e9a2d488bcf /packages | |
| parent | 5a59cea92e1d75fc673923b4ab4614a8281f2f64 (diff) | |
c-pc: autoclicker script
Diffstat (limited to 'packages')
| -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 +'' |