Summary
Support a second app window where each window has its own independent Dockview layout. Workspaces can be optionally linked across windows — when linked, switching workspace on one window switches both; when unlinked, each window tracks its own active workspace.
Example
- Workspace 1: linked — both windows show workspace 1 (with different pane arrangements)
- Workspace 2: unlinked, shown on window A only
- Workspace 3: unlinked, shown on window B only
- Clicking workspace 1 on either window switches both windows to workspace 1
Architecture Impact
State model changes from workspace → layout to workspace × window → layout. Each window has:
- Its own Dockview instance and serialized layout
- Its own set of open tabs, pane arrangements
- Shared: file watcher, git poller, task runner, workspace metadata (all in main process)
Key Design Decisions Needed
- Terminals: Shared PTY sessions across windows, or independent per window?
- File editing: If both windows have the same file open, share document state or rely on file-watcher reload?
- Layout persistence:
state-window1.json / state-window2.json per workspace
- IPC routing: Main process notifies N windows on workspace switch, each loads its own layout
- Link toggle UX: Per-workspace setting in workspace config or ribbon context menu
Priority
Low — requires aIDE's editing experience to mature first so staying in aIDE full-time across both monitors is viable
Summary
Support a second app window where each window has its own independent Dockview layout. Workspaces can be optionally linked across windows — when linked, switching workspace on one window switches both; when unlinked, each window tracks its own active workspace.
Example
Architecture Impact
State model changes from
workspace → layouttoworkspace × window → layout. Each window has:Key Design Decisions Needed
state-window1.json/state-window2.jsonper workspacePriority
Low — requires aIDE's editing experience to mature first so staying in aIDE full-time across both monitors is viable