diff options
Diffstat (limited to 'src/app/api/workspaces.rs')
| -rw-r--r-- | src/app/api/workspaces.rs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/app/api/workspaces.rs b/src/app/api/workspaces.rs index f5e9a563..92b41486 100644 --- a/src/app/api/workspaces.rs +++ b/src/app/api/workspaces.rs @@ -45,11 +45,12 @@ impl App { id: String, params: WorkspaceCreateParams, ) -> String { - let cwd = params - .cwd - .map(PathBuf::from) - .or_else(|| std::env::current_dir().ok()) - .unwrap_or_else(|| PathBuf::from("/")); + let cwd = params.cwd.map(PathBuf::from).unwrap_or_else(|| { + let follow_cwd = self + .workspace_creation_source() + .and_then(|ws_idx| self.seed_cwd_from_workspace(ws_idx)); + self.resolve_new_terminal_cwd(follow_cwd) + }); match self.create_workspace_with_options(cwd, params.focus) { Ok(index) => { if let Some(label) = params.label { |
