From 2377c2eb4ce3e0020e3953860ffdf3eeb0f8ee80 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 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/i3toolwait b/i3toolwait index 20e5ca3..9bd2856 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,7 @@ def main(filter, debug, workspace, program): """ filter = parse(filter) + program = ' '.join(program) ipc = i3ipc.Connection() ipc.on('window::new', window_new(filter, workspace=workspace, debug=debug)) ipc.command(f'exec {program}')