Change the way the working directory for new processes is discovered. If

default-path isn't empty, it is used. Otherwise:

1) If tmux neww is run from the command line, the working directory of the
   client is used.

2) Otherwise sysctl KERN_PROC_CWD is used to retrieve the current
   working directory of the process in the active pane.

3) If that fails, the directory where the session was created is used.

Support code by Romain Francois, OpenBSD specific bits by me.

Note this requires a recent userland and kernel with KERN_PROC_CWD.
This commit is contained in:
Nicholas Marriott
2011-12-09 16:28:18 +00:00
parent e04d13f6a6
commit f308ba93aa
6 changed files with 47 additions and 19 deletions

8
tmux.1
View File

@ -1841,10 +1841,10 @@ to create a login shell using the value of the
.Ic default-shell
option.
.It Ic default-path Ar path
Set the default working directory for processes created from keys, or
interactively from the prompt.
The default is empty, which means to use the working directory of the shell
from which the server was started if it is available or the user's home if not.
Set the default working directory for new panes.
If empty (the default), the working directory is determined from the process
running in the active pane, from the command line environment or from the
working directory where the session was created.
.It Ic default-shell Ar path
Specify the default shell.
This is used as the login shell for new windows when the