aboutsummaryrefslogtreecommitdiff
path: root/packages/click/default.nix
diff options
context:
space:
mode:
authorCaroline Larimore <caroline@larimo.re>2025-05-01 01:14:35 -0700
committerCaroline Larimore <caroline@larimo.re>2025-05-01 01:14:35 -0700
commitcc337816ee3d657859ab11bdd9118d50a9629c92 (patch)
tree22416006b9fa58c3eb5ae777b49a0e9a2d488bcf /packages/click/default.nix
parent5a59cea92e1d75fc673923b4ab4614a8281f2f64 (diff)
c-pc: autoclicker script
Diffstat (limited to 'packages/click/default.nix')
-rw-r--r--packages/click/default.nix26
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
+''