The Zero-Footprint Automation Engine
A native, cross-platform macro engine architected for $O(1)$ speed and 0% idle CPU overhead. Built for power users, developers, and gamers who demand absolute performance.
- 🎯 Zero Polling Architecture — Completely event-driven. The engine sleeps at 0% CPU until the OS pushes an explicit notification. No busy-waiting. No wasted cycles.
-
⚡
$O(1)$ Hotkey Routing — Trigger resolutions use constant-timeHashMaplookups, entirely stripping out lock contention on the hot path for sub-millisecond input injection. - 🔄 Latched Triggering — Deep support for complex input states including interval-based "Pulse" firing and continuous "Hold" latches.
- 🛡️ Process Detection Parity — Context-aware macros automatically engage or disengage based on the currently active application window (Native support for both macOS and Windows).
-
🪶 Ultra-Lightweight — Consumes
<60MB RAMthanks to a bare-metal Rust core and optimized Tauri frontend. - 🛑 Emergency Failsafes — A robust Input Tracking Registry ensures that complex "Hold" sequences are flawlessly flushed to prevent stuck keys during emergency stops.
AutoMux isn't just another autoclicker; it is a meticulously engineered desktop automation tool built to respect system resources.
Traditional macro tools poll the operating system's window manager on an interval (e.g., every 50ms) to determine the active application. This burns CPU cycles and drains battery life.
AutoMux uses 100% push-based OS events:
- macOS: Utilizes
NSWorkspaceDidActivateApplicationNotificationinjected viaobjc2. - Windows: Leverages
SetWinEventHookto subscribe toEVENT_SYSTEM_FOREGROUND.
By decoupling the OS-level hook from the actual macro executor (StateActor), AutoMux ensures that the main OS event loop is never blocked. Intents are asynchronously routed, enabling reliable macro execution even under heavy system load.
- Head over to the Releases page.
- Download the appropriate installer for your OS (
.dmgfor macOS,.exefor Windows). - Install and run.
Note for macOS users: AutoMux requires Accessibility permissions to inject keystrokes and monitor active windows.
Ensure you have Rust and Node.js installed, along with the Tauri CLI prerequisites.
# Clone the repository
git clone https://github.com/ABO896/AutoMux.git
cd AutoMux
# Install frontend dependencies
npm install
# Run the developer instance
npm run tauri dev
# Build the release binaries
npm run tauri buildWe welcome contributions! Whether it's adding new Trigger Modes, optimizing the frontend UI, or improving OS-native integrations, feel free to open a PR.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the GNU GPLv3 license. See LICENSE for more information.