# MacroPad Server A versatile MacroPad server application that lets you create, manage, and execute custom macros from both a local interface and remotely via a web interface. ## Features - **Text Macros**: Insert frequently used text snippets with a single click - **Application Macros**: Launch applications or scripts directly - **Key Modifiers**: Add Ctrl, Alt, Shift modifiers and Enter keypress to your text macros - **Custom Images**: Assign images to macros for easy identification - **Category Management**: Organize macros into custom tabs for better organization - **Web Interface**: Access and trigger your macros from other devices on your network - **System Tray Integration**: Minimize to tray when minimized, exit when closed - **QR Code Generation**: Quickly connect mobile devices to the web interface - **Sorting Options**: Sort macros by name, type, or recent usage - **Persistent Storage**: Macros are automatically saved for future sessions - **Dark Theme**: Modern dark interface for comfortable use - **Modular Architecture**: Clean separation of concerns with dedicated modules ## Requirements - Python 3.11+ - Required Python packages (install via requirements.txt): - tkinter - flask - pyautogui - pystray - Pillow (PIL) - waitress - netifaces - qrcode ## Installation ### Method 1: From Source 1. Clone or download this repository 2. Install the required dependencies: ```bash pip install -r requirements.txt ``` ### Method 2: Pre-built Executables 1. Go to the [Releases](https://repo.anhonesthost.net/MacroPad/MP-Server/releases) page 2. Download the appropriate version for your operating system: - Windows: `macropad.exe` - Linux: `macropad` - macOS: `macropad.app` 3. Run the downloaded file > [!IMPORTANT] > The executables are unsigned and may trigger security warnings. You may need to click "More info" and "Run anyway" in Windows SmartScreen, adjust permissions on Linux (`chmod +x macropad`), or override Gatekeeper on macOS. ## Usage ### Main Interface When launched, MacroPad displays your existing macros with options to: - **Add New Macro**: Create text snippets or application shortcuts - **Edit Macro**: Modify existing macros - **Delete Macro**: Remove unwanted macros - **Sort Options**: Sort the Macros by type, name, and recent usage - **Manage Tabs**: Assign categories to macros for better organization - **Start Web Server**: Starts the web server to serve the MacroPad web interface. ### Creating a Macro 1. Click the "Add Macro" button 2. Fill in the details: - **Name**: A descriptive name for your macro - **Category**: Assign a category to associate with a tab - **Type**: Choose between Text or Application - **Command/Text**: The text to insert or application command to run - **Modifiers**: Select any combination of Ctrl, Alt, Shift, and Enter - **Image**: Optionally add an image for visual identification 3. Click "Save" to create your macro ### Remote Access The application runs a web server enabling remote access: 1. Note your computer's local IP address (shown in the application header) 2. From another device on the same network, open a web browser 3. Navigate to `http://:40000` 4. Click on any macro to execute it on your main computer ### System Tray When minimized to the system tray: - Right-click the tray icon to show options - Select "Show" to restore the window - Select "Exit" to close the application ## Example Application Commands ### Windows Examples #### Steam Applications ``` "C:\Program Files (x86)\Steam\steam.exe" steam://rungameid/2767030 ``` #### Chrome to a website ``` "C:\Program Files\Google\Chrome\Application\chrome.exe" http://twitch.tv/shadowdao ``` #### Run Notepad ``` notepad.exe ``` #### Open File Explorer to a specific location ``` explorer.exe "C:\Users\YourUsername\Documents" ``` ### Linux Examples #### Opening Firefox ``` firefox https://example.com ``` #### Opening Steam ``` steam steam://rungameid/2767030 ``` #### Launch Terminal ``` gnome-terminal ``` #### Open File Manager ``` nautilus ~/Documents ``` ### macOS Examples #### Opening Safari ``` open -a Safari https://example.com ``` #### Opening Terminal ``` open -a Terminal ``` #### Open Finder to a specific location ``` open ~/Documents ``` #### Launch Applications ``` open -a "Visual Studio Code" ``` #### Special Thanks to CatArgent_ on Twitch for proof reading my stuff and providing valuable feedback.