Summary
There's no way to declare a "baseline tabset" that a workspace restores on launch or after a tab is deleted. Once a tab is closed (intentionally or by an accidental X click), it's gone and the user re-creates it manually. For a dev workflow where each tab represents a repo (one per project the user works on), this turns small UI mishaps into chunks of setup work.
Use case
I'm scaffolding ~15 tabs in a Wave workspace, one per repo, each with a terminal block pre-set to connection=wsl://<distro> and cmd:cwd=<repo>. After putting that work in, I want any of the following to be true:
- Closing a tab is recoverable — Wave knows it was part of my "baseline set" and either (a) recreates it on next launch, (b) puts it in a "recently closed tabs" list I can restore from, or (c) refuses to close it without explicit confirmation.
- I can save the current workspace tab structure as a profile and load it on a fresh workspace later.
Related
This issue is specifically about persistence/restore semantics. Once wsh tab create exists, an external script could rebuild the tabset on demand — but that's a workaround, not a solution.
Request
Add a config-driven concept of a tab profile / tab template. Sketch:
Then a workspace config could declare a baseline tabset:
{
"workspace:defaulttabs": ["tab@repo:touchscreen-ux", "tab@repo:mes-data", "tab@home"]
}
Wave would (a) instantiate any missing baseline tabs on workspace open, and (b) optionally re-instantiate them if the user deletes one. The "should missing baseline tabs be auto-restored" behavior could be a per-workspace setting (workspace:restorebaselineondelete) so power users who want strict deletion can opt out.
This pairs naturally with #3285 (wsh tab create could accept --preset tab@repo:touchscreen-ux) and would unblock real "I work in 15 repos and want them all in tabs" workflows.
Summary
There's no way to declare a "baseline tabset" that a workspace restores on launch or after a tab is deleted. Once a tab is closed (intentionally or by an accidental X click), it's gone and the user re-creates it manually. For a dev workflow where each tab represents a repo (one per project the user works on), this turns small UI mishaps into chunks of setup work.
Use case
I'm scaffolding ~15 tabs in a Wave workspace, one per repo, each with a terminal block pre-set to
connection=wsl://<distro>andcmd:cwd=<repo>. After putting that work in, I want any of the following to be true:Related
wsh tab createto scaffold tabs from a script).This issue is specifically about persistence/restore semantics. Once
wsh tab createexists, an external script could rebuild the tabset on demand — but that's a workaround, not a solution.Request
Add a config-driven concept of a tab profile / tab template. Sketch:
Then a workspace config could declare a baseline tabset:
{ "workspace:defaulttabs": ["tab@repo:touchscreen-ux", "tab@repo:mes-data", "tab@home"] }Wave would (a) instantiate any missing baseline tabs on workspace open, and (b) optionally re-instantiate them if the user deletes one. The "should missing baseline tabs be auto-restored" behavior could be a per-workspace setting (
workspace:restorebaselineondelete) so power users who want strict deletion can opt out.This pairs naturally with #3285 (
wsh tab createcould accept--preset tab@repo:touchscreen-ux) and would unblock real "I work in 15 repos and want them all in tabs" workflows.