This is an automated email from the git hooks/post-receive script.
git pushed a commit to reference refs/pull/36/head
in repository terminology.
View the commit online.
commit b063957e8ff295b15b052cd7b79d2c7036b7d96e
Author: [email protected] <[email protected]>
AuthorDate: Thu May 14 19:03:03 2026 -0600
feat(tymux): resolve new-terminal cwd from daemon shell pid
When opening a new tab or split from a tymux-attached terminology
window, the new shell is spawned in the outer terminology process's
startup directory, not the directory of the shell running inside the
tymux session.
This is because termio_cwd_get() reads /proc/<pid>/cwd from the local
pty, which for tymux is a shadow pty with pid=-1. That always fails,
causing the caller to pass cwd=NULL and inherit the startup directory.
We now override the pid source when a tymux session is active: instead
of the shadow pty pid, we use the daemon-reported shell_pid. This is
sent in the ATTACHED message after the three prior commits
(1455830e, 83108947, 471ea67b) set up the wire format and plumb it
through. The existing /proc/<pid>/cwd readlink logic then reads from
the real shell's cwd.
This makes new tabs/splits open in the expected directory.
---
src/bin/termio.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/bin/termio.c b/src/bin/termio.c
index bf125e1e..71e50254 100644
--- a/src/bin/termio.c
+++ b/src/bin/termio.c
@@ -460,7 +460,13 @@ termio_cwd_get(const Evas_Object *obj, char *buf, size_t size)
EINA_SAFETY_ON_NULL_RETURN_VAL(sd, EINA_FALSE);
- pid = termpty_pid_get(sd->pty);
+#ifdef HAVE_TYMUX
+ if (sd->tymux && sd->tymux->shell_pid > 0)
+ pid = sd->tymux->shell_pid;
+ else
+#endif
+ pid = termpty_pid_get(sd->pty);
+
if (pid <= 0)
return EINA_FALSE;
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.