From f9419a98803c8e55ef48c1d8da68326f95a18b08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20NICOLE?= Date: Tue, 10 Jan 2017 14:40:09 +0100 Subject: [PATCH 1/4] Use session's start_directory in session creation This will make tmux's whole session be in a given directory, instead of just changing windows and panes' relative paths --- tmuxp/workspacebuilder.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tmuxp/workspacebuilder.py b/tmuxp/workspacebuilder.py index 2cb36492609..f6f01d9daa8 100644 --- a/tmuxp/workspacebuilder.py +++ b/tmuxp/workspacebuilder.py @@ -138,7 +138,8 @@ def build(self, session=None): ) else: session = self.server.new_session( - session_name=self.sconf['session_name'] + session_name=self.sconf['session_name'], + start_directory=self.sconf['start_directory'], ) assert self.sconf['session_name'] == session.name From 0c71aa9a864f402113036d2281a1e21f4c674187 Mon Sep 17 00:00:00 2001 From: Minijackson Date: Tue, 10 Jan 2017 22:38:14 +0100 Subject: [PATCH 2/4] Fix new_session when global 'start_directory' not present --- tmuxp/workspacebuilder.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tmuxp/workspacebuilder.py b/tmuxp/workspacebuilder.py index f6f01d9daa8..c7c18a46da1 100644 --- a/tmuxp/workspacebuilder.py +++ b/tmuxp/workspacebuilder.py @@ -137,6 +137,8 @@ def build(self, session=None): 'Session name %s is already running.' % self.sconf['session_name'] ) else: + self.sconf['start_directory'] = self.sconf.get('start_directory', None) + session = self.server.new_session( session_name=self.sconf['session_name'], start_directory=self.sconf['start_directory'], From fcfca0a1f1bb97ebbf0d10bf86e3eaa47445e27d Mon Sep 17 00:00:00 2001 From: Minijackson Date: Sat, 14 Jan 2017 21:04:39 +0100 Subject: [PATCH 3/4] Do not set session start_directory if tmux 1.8 --- tmuxp/workspacebuilder.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tmuxp/workspacebuilder.py b/tmuxp/workspacebuilder.py index c7c18a46da1..06e9755104a 100644 --- a/tmuxp/workspacebuilder.py +++ b/tmuxp/workspacebuilder.py @@ -15,6 +15,7 @@ from libtmux.server import Server from libtmux.session import Session from libtmux.window import Window +from libtmux.common import has_version from . import exc from .util import run_before_script @@ -137,7 +138,12 @@ def build(self, session=None): 'Session name %s is already running.' % self.sconf['session_name'] ) else: - self.sconf['start_directory'] = self.sconf.get('start_directory', None) + if not has_version('1.8'): + self.sconf['start_directory'] = self.sconf.get( + 'start_directory', None + ) + else: + self.sconf['start_directory'] = None session = self.server.new_session( session_name=self.sconf['session_name'], From 52fccebd78ca27541d7393180b228b7e828fdc2b Mon Sep 17 00:00:00 2001 From: Minijackson Date: Mon, 17 Aug 2020 17:49:08 +0200 Subject: [PATCH 4/4] CHANGES: document toplevel start_directory config change --- CHANGES | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES b/CHANGES index d91236054ba..a4eb62ca918 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,9 @@ Here you can find the recent changes to tmuxp current ------- +- :issue:`197` The `start_directory` toplevel config now sets the session's + `start-directory`. This affects the working directory of newly created + windows in that session. - :issue:`623` Move docs from RTD to self-serve site - :issue:`623` Modernize Makefiles - :issue:`623` New development docs