From f9ad3962f58d9ab7c2b258027699aeda09e6d209 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Sat, 22 Dec 2018 10:42:38 +0100 Subject: [PATCH] eoptasks: use an independent process for status window --- eoptasks/eoptasks.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/eoptasks/eoptasks.py b/eoptasks/eoptasks.py index 86ac9d9..c1d0860 100755 --- a/eoptasks/eoptasks.py +++ b/eoptasks/eoptasks.py @@ -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)