aboutsummaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-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
+''