Skip to content

Commit 88ffd54

Browse files
committed
!squash more - add is_server_running
1 parent 31c159e commit 88ffd54

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

tmuxp/cli.py

+11-3
Original file line numberDiff line numberDiff line change
@@ -875,9 +875,17 @@ def command_shell(
875875
print(f"detached: {detached}")
876876
server = Server(socket_name=socket_name, socket_path=socket_path)
877877

878-
util.raise_if_tmux_not_running(server=server)
879-
880-
current_pane = util.get_current_pane(server=server)
878+
if not util.is_server_running(server=server):
879+
if answer_yes or click.confirm(
880+
"No tmux server running, create?",
881+
default=True,
882+
):
883+
session = server.new_session(session_name=session_name or "tmuxp shell")
884+
window = session.attached_window
885+
window_name = window.name
886+
current_pane = window.attached_pane
887+
else:
888+
current_pane = util.get_current_pane(server=server)
881889

882890
try:
883891
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)