diff --git a/scripts/tmux.py b/scripts/tmux.py index 5e32367..6e7fea5 100755 --- a/scripts/tmux.py +++ b/scripts/tmux.py @@ -1,7 +1,13 @@ #!/usr/bin/env python import os import subprocess +import sys +session_name = 'sshwrap' +if len(sys.argv) > 1: + session_name = sys.argv[1] + +ssh_auth_sock = '-'.join(['ssh_auth_sock', os.getenv('HOSTNAME'), session_name]) def is_valid(key): if not key.startswith('PYENV'): @@ -20,7 +26,7 @@ def main(): if os.getenv("TMUX") is None: if os.getenv("SSH_TTY") is not None: if os.getenv("SSH_AUTH_SOCK") is not None: - sock_file = os.path.join(os.getenv("HOME"), ".wrap_auth_sock") + sock_file = os.path.join(os.getenv("HOME"), ".ssh", ssh_auth_sock) try: #always try to remove os.remove(sock_file) @@ -30,11 +36,11 @@ def main(): os.environ['SSH_AUTH_SOCK'] = sock_file try: - subprocess.check_call(["tmux", "attach-session", "-t", "sshwrap"]) + subprocess.check_call(["tmux", "attach-session", "-t", session_name]) except subprocess.CalledProcessError: os.environ['STY'] = "tmux-sshwrap" env = {k: os.environ[k] for k in os.environ.keys() if is_valid(k)} - os.execlpe("tmux", "tmux", "new-session", "-s", "sshwrap", env) + os.execlpe("tmux", "tmux", "new-session", "-s", session_name, env) else: print('TMUX var is set...')