An automated Windows desktop button clicker with multi-image support, spatial debounce cooldown, sleep/wake resilience, and a dedicated VS Code & Antigravity Extension.
🚀 Two Ways to Use
You can run this application either:
- Inside VS Code or Antigravity IDE via the rich sidebar extension (
.vsix).
- As a standalone Windows desktop app via
run.bat.
🌟 VS Code & Antigravity Extension
The repository includes a ready-to-install .vsix extension with a modern sidebar panel, multi-image manager, and live controls.
1. Install the Extension
- In Antigravity or VS Code, open the Extensions view (
Ctrl+Shift+X).
- Click the
... (Views and More Actions) menu in the top right of the Extensions sidebar.
- Select Install from VSIX...
- Choose:
global-button-clicker-1.0.0.vsix
2. How to Use the Extension
- Activity Bar Icon: Click the Button Clicker icon in the left Activity Bar to open the panel.
- Add Multiple Images:
- Click "➕ Add Images" to open the native file dialog and select multiple PNG/JPG/WebP files at once.
- Or simply drop image files into the drop zone in the panel.
- Image Gallery: View thumbnail previews of all active button templates, check image pixel dimensions, or delete any image with the trash icon.
- Real-Time Sliders: Adjust Match Threshold (e.g.
0.88) and Re-click Cooldown (e.g. 1.5s) in real time—changes apply immediately on the next scan without having to stop and restart!
- Start / Stop: Click the Start button. The extension updates the status bar widget (
$(pulse) Clicker: Active (X)) and reports every click live!
- Emergency Stop: Press F8 anywhere on Windows to instantly halt monitoring.
💻 Standalone Desktop Mode
If you want to run the application outside the IDE:
1. Requirements
- Windows 10 or 11
- Python 3.10+ installed with "Add Python to PATH" enabled.
2. Setup
Double-click:
install.bat
This automatically creates a local isolated Python virtual environment (virt/) and installs all dependencies without modifying global Python.
3. Add Images
Place button screenshots in:
buttons/
(Supported: .png, .jpg, .jpeg, .bmp, .webp)
4. Run
Double-click:
run.bat
Then click Start Monitoring.
🛠 Features & Architecture
| Feature |
How It Works |
| Multi-Image Support |
Drop multiple images of different buttons or multiple variations (e.g. normal and hover states) of the same button. |
| Bounding-Box NMS |
Non-Maximum Suppression with rectangular intersection suppression selects the single best match, preventing duplicate clicks. |
| Global & Spatial Cooldown |
Strict debounce ensures no double clicks occur within the cooldown window, protecting against accidental triggers (like voice recording buttons). |
| Live Settings Tuning |
Move threshold or cooldown sliders while running—the engine picks up adjustments immediately without stopping. |
| Sleep / Wake Resilience |
Automatically recovers when waking from laptop sleep, screen lock, or display turn-off without needing to restart. |
| JSON IPC Protocol |
The Python engine runs in headless mode (main.py --headless) when launched by the VS Code extension, communicating via line-delimited JSON. |
💖 Support the Developer
If this extension saves you time and automates tedious clicking tasks, consider supporting future development and maintenance!
- UPI ID:
maaazismyname-2@okicici
- UPI Pay Link:
upi://pay?pa=maaazismyname-2@okicici&pn=Maaz&cu=INR
Thank you for your support!
📦 Building the Extension
To recompile or package the extension after making changes:
Double-click:
build.bat
Or run in terminal:
npm run compile
npx @vscode/vsce package --no-dependencies