Skip to content
This repository was archived by the owner on Apr 18, 2026. It is now read-only.

Commit 3020d95

Browse files
jack-arturoBraxhimweb-flow
committed
Merge branch 'main' into fix/add-xl-and-missing-device-layouts
Resolves conflicts in profile_manager.py introduced by verygoodplugins#18 (the 20GBX9901 "+ XL" keypad rewrite landing on main). MODEL_LAYOUTS now contains all seven entries: Original (5x3), MK.2 (5x3), XL (8x4), XL rev2 (8x4), + XL (9x4 keypad + 6-dial encoder), Mini (3x2), Neo (4x2), plus the UI Stream Deck emulator. Resolution cherry-picked from copilot/fix-conflicts-in-streamdeck-mcp (commit 02a928a) which the Copilot agent produced but couldn't push to the PR source branch because it lives on a fork. Co-Authored-By: Mini Brax <braxhim@users.noreply.github.com> Co-Authored-By: copilot-swe-agent[bot] <noreply@github.com>
2 parents 20fe252 + d6da4b2 commit 3020d95

4 files changed

Lines changed: 702 additions & 90 deletions

File tree

README.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,20 @@ uvx --from streamdeck-mcp streamdeck-mcp-usb
7777
- Generated icons are stored in `~/.streamdeck-mcp/generated-icons/`.
7878
- Generated shell scripts are stored in `~/StreamDeckScripts/`.
7979

80+
## Editing Workflow (Important)
81+
82+
The Elgato desktop app keeps every profile in memory and rewrites the on-disk manifests from that snapshot when it quits, so any edit made while the app is running is wiped the next time it closes. The profile writer enforces a quit → write → relaunch cycle:
83+
84+
1. Ensure the Elgato app is not running, or pass `auto_quit_app: true` to `streamdeck_write_page` to have it quit the app for you (AppleScript first, `killall` fallback).
85+
2. Make as many `streamdeck_write_page` calls as you need — the app stays quit across them.
86+
3. Call `streamdeck_restart_app` when you are done. The device re-reads the manifests on launch and your changes appear.
87+
88+
`streamdeck_write_page` raises a `StreamDeckAppRunningError` when the app is running and `auto_quit_app` is not set, so you cannot accidentally write changes that will be silently discarded.
89+
90+
If your Elgato app is installed somewhere other than `/Applications/Elgato Stream Deck.app`, set `STREAMDECK_APP_PATH` to the bundle path.
91+
8092
## Usage Notes
8193

82-
- After writing profiles, the Elgato desktop app may need a restart to pick up the new manifests.
8394
- `streamdeck_create_action` is the safest way to build shell-command buttons because it writes a standalone script and returns the native Open action block for it.
8495
- The profile writer does not require exclusive USB access.
8596

0 commit comments

Comments
 (0)