fester/backend/integrations/tmux.py

27 lines
600 B
Python

import subprocess
class TmuxManager:
def session_name(self, action):
return f"fester-{action['name']}"
def create_session(self, action, cmd):
name = self.session_name(action)
subprocess.run([
"tmux", "new-session", "-d",
"-s", name,
cmd
])
return name
def attach(self, action):
name = self.session_name(action)
subprocess.run(["tmux", "attach", "-t", name])
def kill(self, action):
name = self.session_name(action)
subprocess.run(["tmux", "kill-session", "-t", name])