A modern, cross-platform GUI application for scheduling precise mouse clicks. Built with Python and Tkinter, this tool allows users to set a target time down to the millisecond and have it trigger a click automatically.
- Precise Timing: Schedule a mouse click for a specific time (HH:MM:SS.mmm).
- Modern UI: A clean, dark-themed interface built for ease of use.
- User-Friendly Controls: Large, easy-to-use spinbox controls for setting the time.
- Real-time Validation: The "Start" button is automatically disabled if the selected time is in the past.
- Mouse-Following Countdown: An overlay window shows the countdown and follows your mouse cursor.

- Global Abort Hotkey: Press the
Esckey at any time to instantly cancel the countdown. - Cross-Platform: Can be run from source or built into a standalone application for both Windows and macOS.
- Python Version:
3.12.x(managed withpyenv) - Package Management:
uv - GUI: Tkinter
- Mouse Control:
pyautogui - Global Hotkeys:
pynput - Packaging:
PyInstaller
Follow these steps to run the application directly from the source code.
- pyenv: For managing Python versions. (Installation Guide)
- uv: For package management. (Installation Guide)
- Git
Clone the repository and set the correct local Python version using pyenv.
git clone https://github.com/mkhuda/timeclicker-pro.git
cd timeclicker-pro
# Install the target Python version if you don't have it
pyenv install 3.12.12
# Set the version for this project folder
pyenv local 3.12.12This project uses uv for fast environment and package management.
On macOS/Linux:
# Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate
# Install dependencies with uv
uv pip install -r requirements.txtOn Windows:
# Create and activate a virtual environment
python -m venv .venv
.venv\Scripts\activate
# Install dependencies with uv
uv pip install -r requirements.txtpython timeclicker.pyYou can package TimeClicker Pro into a single, standalone executable file for easy distribution.
- All dependencies from the previous steps are installed.
PyInstalleris installed (uv pip install pyinstaller).
Place your desired icon files in the root of the project directory:
- For Windows, name it
icon.ico. - For macOS, name it
icon.icns.
Run the following command in your terminal:
pyinstaller --onefile --windowed --icon="icon.icns" --name="TimeClicker" timeclicker.pyAfter the build completes, you will find TimeClicker.app inside the dist folder.
The first time you run the .app, the click function will not work due to security restrictions. You must grant accessibility permissions:
- Open System Settings > Privacy & Security > Accessibility.
- Click the + button.
- Navigate to the
distfolder and add TimeClicker.app. - Ensure the toggle next to it is enabled.
- Relaunch the application.
The build process must be run on a Windows machine. Run the following command in Command Prompt or PowerShell:
pyinstaller --onefile --windowed --icon="icon.ico" --name="TimeClicker" timeclicker.pyAfter the build completes, you will find TimeClicker.exe inside the dist folder.
This project is licensed under the MIT License.
