Skip to content

Rollocraft/RepeatMe

Repository files navigation

RepeatMe

RepeatMe is a small macro editor + runner for simple, repeatable keyboard/mouse sequences.

It provides:

  • A modern-ish Tkinter/ttk editor (macro list on the left, properties on the right)
  • German/English UI
  • JSON persistence for user macros (macros.json)
  • Global hotkeys: start/pause/stop

Important: this app sends keyboard and mouse input. Test carefully.

Run

  1. Create a venv and install requirements
pip install -r requirements.txt
  1. Start the app (development)
python sbmac.py

More details: docs/RUN_AND_BUILD.md

Where macros.json is stored

  • Development (python sbmac.py): the file is created in the project root next to sbmac.py.
  • Packaged .exe (PyInstaller onefile / frozen): the app stores user data in a per-user directory so it does not write next to the executable.
    • Windows: %APPDATA%\\RepeatMe\\macros.json (e.g. C:\\Users\\<you>\\AppData\\Roaming\\RepeatMe\\macros.json)
    • macOS: ~/Library/Application Support/RepeatMe/macros.json
    • Linux: $XDG_DATA_HOME/repeatme/macros.json or ~/.local/share/repeatme/macros.json

This behavior is implemented in repeatme/paths.py.

How macros work

Build (EXE)

See docs/RUN_AND_BUILD.md.

Including docs or other data files in the build

If you want to bundle the docs/ folder or individual .md files into a PyInstaller build, pass them as data files. On Windows use a semicolon separator:

pyinstaller --onefile --add-data "docs;docs" sbmac.py

On macOS/Linux use a colon separator:

pyinstaller --onefile --add-data "docs:docs" sbmac.py

Note: data bundled inside a onefile exe is read-only at runtime. User-editable files like macros.json should live in the per-user data directory (see above).

License

MIT © 2025 Rollocraft, see LICENSE.txt

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages