• v0.9.0 063949cd7d

    jknapp released this 2026-01-04 02:45:47 +00:00 | 22 commits to main since this release

    MacroPad Server v0.9.0

    A major modernization release with a complete rewrite of the desktop GUI, web server, and macro system.

    Highlights

    • New Desktop GUI — Migrated from Tkinter to PySide6/Qt6 for a modern, responsive interface
    • Command Sequences — Build multi-step macros with text, keys, hotkeys, delays, and app launches
    • PWA Web Interface — Mobile-friendly interface with fullscreen mode and screen wake lock
    • Modern Stack — FastAPI + Uvicorn replaces Flask, pyproject.toml replaces requirements.txt

    New Features

    Command Sequence Builder

    Create powerful macros with multiple commands:

    • Text — Type text strings (with full Unicode support)
    • Key — Press individual keys (Enter, Tab, Escape, F1-F12, etc.)
    • Hotkey — Key combinations (Ctrl+C, Alt+Tab, etc.)
    • Wait — Insert delays between commands (in milliseconds)
    • App — Launch applications or run shell commands

    Desktop App Improvements

    • Visual command builder with drag-and-drop reordering
    • Category dropdown with existing categories + custom entry
    • Right-click context menu to edit/delete macros
    • System tray integration
    • QR code for quick mobile access

    Web Interface

    • Clean, mobile-optimized execute-only interface
    • Fullscreen mode button for distraction-free use
    • Wake lock keeps screen on while using the app
    • Real-time sync via WebSocket
    • Works offline (cached via service worker)

    Migration Notes

    Automatic Macro Migration

    Existing macros from v0.8.x are automatically converted to the new command sequence format on first launch. No action required.

    Old format: {"type": "text", "command": "Hello", "modifiers": {"enter": true}}

    New format:

    Command Value
    text Hello
    key enter

    Build System

    Now uses pyproject.toml with support for both uv and pip:

    With uv (recommended):

    • uv sync
    • uv run python main.py

    With pip:

    • pip install -e .
    • python main.py

    Building Executables

    Platform Command
    Windows uv run pyinstaller macropad.spec
    Linux uv run pyinstaller macropad_linux.spec
    macOS uv run pyinstaller macropad_macos.spec

    See BUILDING.md for detailed instructions.

    Requirements

    • Python 3.11+
    • See pyproject.toml for full dependency list

    Known Limitations

    • PWA requires HTTPS for full "Add to Home Screen" functionality on iOS
    • On HTTP, the web interface works as a browser shortcut (still fully functional)
    • Android Chrome: Use fullscreen button for app-like experience

    What's Changed

    Added

    • PySide6 desktop GUI with dark theme
    • FastAPI web server with WebSocket support
    • Command sequence macro model
    • Visual command builder
    • Category dropdown selector
    • Fullscreen toggle for web interface
    • Wake lock to prevent screen sleep
    • Safe area support for notched devices

    Changed

    • Replaced Tkinter with PySide6
    • Replaced Flask/Waitress with FastAPI/Uvicorn
    • Replaced requirements.txt with pyproject.toml
    • Web interface is now execute-only (create/edit in desktop app)
    • Text typing now uses clipboard for Unicode support

    Fixed

    • Icon not showing in Windows builds
    • Macro not executing correctly on first run after save
    • Web interface not found in PyInstaller builds
    • Various PySide6 enum compatibility issues

    Removed

    • Web-based macro editing (simplified to execute-only)
    • Legacy Tkinter UI components
    • requirements.txt (replaced by pyproject.toml)
    Downloads