use an independent process for status window

This commit is contained in:
Frédéric Péters 2018-12-22 10:42:38 +01:00
parent 2eca6b4e1e
commit 47db1cc1c8
1 changed files with 8 additions and 2 deletions

View File

@ -71,6 +71,7 @@ def get_servers():
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument('-l', '--list-servers', action='store_true')
parser.add_argument('--status-window', dest='session_name', type=str)
parser.add_argument('-k', dest='keywords', type=str)
parser.add_argument('cmd', type=str, nargs='?', default=None)
args = parser.parse_args()
@ -94,6 +95,11 @@ def filter_servers(servers, args):
args = parse_args()
if args.session_name:
print('eoptasks, tmux session %s' % args.session_name)
time.sleep(3600)
sys.exit(0)
servers = get_servers()
selected_servers = filter_servers(servers, args)
@ -112,7 +118,8 @@ if not args.cmd:
def init_tmux_session():
tmux_session_name = 's%s' % random.randrange(1000)
os.system('tmux new-session -s %s -n 🌑 -d /bin/bash -c "sleep 2h"' % tmux_session_name)
os.system('tmux new-session -s %s -n 🌑 -d %s --status-window %s' % (
tmux_session_name, sys.argv[0], tmux_session_name))
return tmux_session_name
tmux_session_name = init_tmux_session()
@ -144,7 +151,6 @@ else:
}.get(args.cmd, args.cmd)
status_window = session.attached_window
status_window.attached_pane.send_keys('eoptasks\n ', enter=False)
total_number = len(selected_servers)
random.shuffle(selected_servers)