Skip to content

hnpf/automate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automate

A simple wayland auto-clicker for Linux, built with Python and GTK4/Adwaita.

screenshot

Features

  • High-Speed Clicking: You can set custom click intervals in the milliseconds.
  • Trigger Modes:
    • Toggle: Press a hotkey to start/stop clicking.
    • Hold: Clicks only while the hotkey is held down, or configure it to just toggle.
  • Burst Mode: Configure a set number of clicks to be fired in bursts with a configurable delay between them.
  • Humanizer: Adds a slight randomization to the click interval to mimic human behavior, slightly broken.
  • Custom Hotkey: Set any key on your keyboard as the trigger.
  • UI: A clean and simple user interface using Adwaita.
  • Configuration: Your settings are saved automatically.

Requirements

This application is mostly designed for Arch Linux and its derivatives, the setup script uses pacman for package management.

  • ydotool: For input events.
  • python-evdev: For listening to keyboard events for the hotkey.
  • gtk4, libadwaita, python-gobject: For the user interface.
  • alsa-utils: For audio feedback.

Installation & Usage

  1. Clone the repository:

    git clone <https://github.com/hnpf/automate>
    cd Automate
    chmod +x ./run.sh
  2. Run the setup script: The provided run.sh script will automatically:

    • Install all the required dependencies using pacman.
    • Start the ydotoold daemon required for ydotool to function.
    • Launch the application with the necessary permissions.
    ./run.sh

    Note: The script uses sudo to install packages and run the application with the required permissions to control input devices.

Configuration

  • All settings from the UI are saved in the .automate_cfg.json file in the project's root directory. You can manually edit this file, but it's recommended to just manage settings through the application's UI.

How it Works

The application is split into two main components:

  • Backend: A Python class that handles the core logic of clicking, hotkey listening, and state management. It runs in separate threads to keep the UI responsive.
  • Frontend: A GTK4/Adwaita user interface that provides controls for all the backend features.

Hotkeys are captured using evdev by listening directly to kernel input events, making it reliable for global hotkey detection. Clicks are simply handled by the ydotool dependency.

About

A GNOME-first wayland autoclicker that actually works, made with python and Libadwaita!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors