Skip to content

Commit 32d3590

Browse files
committed
!squash more - add is_server_running
1 parent 07a6af4 commit 32d3590

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed

tmuxp/cli.py

+11-4
Original file line numberDiff line numberDiff line change
@@ -724,12 +724,19 @@ def command_shell(
724724
session)
725725
- ``server.attached_session``, ``session.attached_window``, ``window.attached_pane``
726726
"""
727-
print(f'detached: {detached}')
728727
server = Server(socket_name=socket_name, socket_path=socket_path)
729728

730-
util.raise_if_tmux_not_running(server=server)
731-
732-
current_pane = util.get_current_pane(server=server)
729+
if not util.is_server_running(server=server):
730+
if answer_yes or click.confirm(
731+
'No tmux server running, create?',
732+
default=True,
733+
):
734+
session = server.new_session(session_name=session_name or 'tmuxp shell')
735+
window = session.attached_window
736+
window_name = window.name
737+
current_pane = window.attached_pane
738+
else:
739+
current_pane = util.get_current_pane(server=server)
733740

734741
try:
735742
current_session = session = util.get_session(

tmuxp/util.py

+9
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,15 @@ def raise_if_tmux_not_running(server):
9292
raise e
9393

9494

95+
def is_server_running(server):
96+
try:
97+
raise_if_tmux_not_running(server=server)
98+
except LibTmuxException:
99+
return False
100+
101+
return True
102+
103+
95104
def get_current_pane(server):
96105
"""Return Pane if one found in env"""
97106
if os.getenv('TMUX_PANE') is not None:

0 commit comments

Comments
 (0)