Skip to content

Commit e237b75

Browse files
committed
!squash more - add is_server_running
1 parent fc71812 commit e237b75

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
@@ -794,12 +794,19 @@ def command_shell(
794794
session)
795795
- ``server.attached_session``, ``session.attached_window``, ``window.attached_pane``
796796
"""
797-
print(f'detached: {detached}')
798797
server = Server(socket_name=socket_name, socket_path=socket_path)
799798

800-
util.raise_if_tmux_not_running(server=server)
801-
802-
current_pane = util.get_current_pane(server=server)
799+
if not util.is_server_running(server=server):
800+
if answer_yes or click.confirm(
801+
'No tmux server running, create?',
802+
default=True,
803+
):
804+
session = server.new_session(session_name=session_name or 'tmuxp shell')
805+
window = session.attached_window
806+
window_name = window.name
807+
current_pane = window.attached_pane
808+
else:
809+
current_pane = util.get_current_pane(server=server)
803810

804811
try:
805812
current_session = session = util.get_session(

tmuxp/util.py

+9
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,15 @@ def raise_if_tmux_not_running(server):
9595
raise e
9696

9797

98+
def is_server_running(server):
99+
try:
100+
raise_if_tmux_not_running(server=server)
101+
except LibTmuxException:
102+
return False
103+
104+
return True
105+
106+
98107
def get_current_pane(server):
99108
"""Return Pane if one found in env"""
100109
if os.getenv('TMUX_PANE') is not None:

0 commit comments

Comments
 (0)