cmux Debug Windows
Keep this workflow focused on existing debug windows and menu entries. Do not add a new utility/debug control window unless the user asks explicitly.
Workflow
- Verify debug menu wiring in
Sources/cmuxApp.swiftunderCommandMenu("Debug").- Menu path in app:
Debug→Debug Windows→ window entry. - The
Debugmenu only exists in DEBUG builds (./scripts/reload.sh --tag ...). - Release builds (
reloadp.sh,reloads.sh) do not show this menu.
- Menu path in app:
- Keep these actions available in
Menu("Debug Windows"):
Sidebar Debug…Background Debug…Menu Bar Extra Debug…Open All Debug Windows
- Reuse existing per-window copy buttons (
Copy Config) in each debug window before adding new UI. - For one combined payload, run:
skills/cmux-debug-windows/scripts/debug_windows_snapshot.sh --copy
- After code edits, run build + tagged reload:
xcodebuild -project GhosttyTabs.xcodeproj -scheme cmux -configuration Debug -destination 'platform=macOS' build
./scripts/reload.sh --tag <tag>
Key Files
Sources/cmuxApp.swift: Debug menu entries and debug window controllers/views.Sources/AppDelegate.swift: Menu bar extra debug settings payload and defaults keys.
Script
scripts/debug_windows_snapshot.sh
Purpose:
- Reads current debug-related defaults values.
- Prints one combined snapshot for sidebar/background/menu bar extra.
- Optionally copies it to clipboard.
Examples:
skills/cmux-debug-windows/scripts/debug_windows_snapshot.sh
skills/cmux-debug-windows/scripts/debug_windows_snapshot.sh --copy
skills/cmux-debug-windows/scripts/debug_windows_snapshot.sh --domain <bundle-id> --copy