aboutsummaryrefslogtreecommitdiff
path: root/src/workspace
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-07-16 23:13:06 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-07-16 23:13:41 +0300
commit550e9f8cc085f428429f5cf2da0bb2dba897e8b8 (patch)
tree996e9cbbf905b89df8bd512fa9b0e68d07e25943 /src/workspace
parent8dcb75a5c08b4dd1f225ea531a27824a9f41ae4a (diff)
fix: follow foreground process group leader cwd
refs #1472
Diffstat (limited to 'src/workspace')
-rw-r--r--src/workspace/tab.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/workspace/tab.rs b/src/workspace/tab.rs
index 15ca7e45..4c86a6e8 100644
--- a/src/workspace/tab.rs
+++ b/src/workspace/tab.rs
@@ -578,7 +578,14 @@ impl Tab {
terminals: &HashMap<TerminalId, TerminalState>,
terminal_runtimes: &TerminalRuntimeRegistry,
) -> Option<PathBuf> {
- self.foreground_cwd_for_pane(pane_id, terminal_runtimes)
- .or_else(|| self.cwd_for_pane(pane_id, terminals, terminal_runtimes))
+ let terminal_id = self.terminal_id(pane_id)?;
+ terminal_runtimes
+ .get(terminal_id)
+ .and_then(|runtime| runtime.follow_cwd())
+ .or_else(|| {
+ terminals
+ .get(terminal_id)
+ .map(|terminal| terminal.cwd.clone())
+ })
}
}