Handle the primary monitor
Add a `--swap` option to the `monitor` command
Internal state output syntax overhaul
Factorize client message sending
Keep the *name* section straightforward
Add a `--swap` option to the `desktop` command
Move completions to `contrib`