Workspaces and profiles
Each machine you connect to gets its own workspace: its own windows, folders, terminal output and layout. This guide covers working with several at once, and the difference between disconnecting and closing.
Prerequisites
ShellCanvas open with at least one host connected. See Your first connection.
Steps
Open another machine
Choose Add host in the top right, Connect another host from the workspace switcher or the desktop menu, or Connections in the dock. Each connection becomes a separate workspace — connecting to the same machine twice gives two, each with its own session number.
Switch between them
Select the host pill in the centre of the top bar. The Workspaces panel lists:
- Local desktop — On this device, for apps that need no server.
- Every connected host, as name · Session n, or name · Disconnected when its connection is down.
The heading shows how many are connected. Selecting one swaps the entire desktop: windows, folder locations, terminal output and running apps all belong to their workspace, and come back exactly as you left them.
Know what is kept
| Action | Connection | Windows, folders and drafts |
|---|---|---|
| Switch workspace | Stays connected | Kept |
| Disconnect | Released | Kept, including unsaved editor drafts |
| Reconnect | New connection, fresh shells | Kept; Files re-reads its folder |
| Close workspace | Released | Discarded, after a warning |
| Quit ShellCanvas | Released | Discarded |
Disconnect, or close
The button at the bottom right reads Disconnect while connected and Close workspace once it is not.
- Disconnect ends the SSH connection but keeps the workspace. Windows stay open, Files shows its last listing as Cached listing · file access unavailable, and editor drafts are untouched. Reconnect later and carry on.
- Close workspace removes the workspace entirely. If anything is unsaved, ShellCanvas asks first — Close workspace with unsaved changes? — and explains that disconnecting would keep them. Choose Discard and close or Keep working.
Both are unavailable while a window reports itself busy, such as during a transfer, so an operation in flight is never cut off by accident.
Save a workspace of several connections
Workspaces built from installed connection adapters can be saved as a profile: the Saved workspace field in the adapter dialog, with Save workspace profile. A profile records which connection supplies which service — files, terminal, remote settings — and never stores passwords, so you re-enter those when you open it. Adapters are an extension point; SSH workspaces use the saved hosts list instead.
Expected result
Several machines are open at once, one keystroke apart, with no interference between them: a transfer in one continues while you work in another, and a dropped connection affects only its own workspace.
Limitations
- Layouts are not restored between runs. Workspace state lives in memory for as long as the app runs. Quitting or a crash discards window positions and unsaved drafts; there is no crash recovery yet.
- Reconnect is pinned to the same endpoint. It keeps the original host, port and user name, so use Add host to reach a different machine.
- Terminals do not resume. Reconnecting opens fresh shells; a long job should run under
tmuxorscreenon the server. - Running two real devices side by side has not been part of a live validation run, although the desktop is built for it and does it with synthetic hosts.
Related guides
- Disconnect and reconnect — what happens when a connection drops.
- Hosts, connections and workspaces — the model behind these words.
- Saved hosts and SSH config — the list you connect from.
- The desktop at a glance — where the switcher and buttons are.