File tree 2 files changed +20
-3
lines changed
2 files changed +20
-3
lines changed Original file line number Diff line number Diff line change @@ -875,9 +875,17 @@ def command_shell(
875
875
print (f"detached: { detached } " )
876
876
server = Server (socket_name = socket_name , socket_path = socket_path )
877
877
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 )
881
889
882
890
try :
883
891
current_session = session = util .get_session (
Original file line number Diff line number Diff line change @@ -92,6 +92,15 @@ def raise_if_tmux_not_running(server):
92
92
raise e
93
93
94
94
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
+
95
104
def get_current_pane (server ):
96
105
"""Return Pane if one found in env"""
97
106
if os .getenv ("TMUX_PANE" ) is not None :
You can’t perform that action at this time.
0 commit comments