quickshell
quickshell copied to clipboard
cli: add `callJson` ipc subcommand
The arguments parser for the ipc call subcommand allow_extra_args does not gracefully handle many JSON strings. It will allow '{"hello": "world"}', but it will strip out square brackets and split the JSON string on commas, among other issues.
This is worked around by adding a new callJson ipc subcommand which accepts one string argument which is passed directly to the ipc call.
I understand that this is kind of hacky, and am open to modify this or taking a different approach. I do think something should be done for JSON because it can be somewhat frustrating to debug/learn when simple cases work but complex cases fail. At the very least I could ditch this change and update the documentation for arguments.