From 29e9a455d8f59476a154de11a3ae763428d2b689 Mon Sep 17 00:00:00 2001 From: redxef Date: Thu, 20 Oct 2022 03:49:22 +0200 Subject: [PATCH] Handle initial parentheses, allow multiple arguments for program. --- i3toolwait | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/i3toolwait b/i3toolwait index 20e5ca3..013e7eb 100755 --- a/i3toolwait +++ b/i3toolwait @@ -167,6 +167,8 @@ def group_tokens(tokens: list[str]): return groups def build_expression(tokens: list[str]) -> Expression: + if tokens[0] == '(' and tokens[-1] == ')': + tokens = tokens[1:-1] token_groups = group_tokens(tokens) expressions = [build_expression(ts) for ts in token_groups[1:]] if len(token_groups) > 1 else [] @@ -283,6 +285,8 @@ def main(filter, debug, workspace, program): """ filter = parse(filter) + program = ' '.join(program) + print(filter) ipc = i3ipc.Connection() ipc.on('window::new', window_new(filter, workspace=workspace, debug=debug)) ipc.command(f'exec {program}')