diff options
author | Peter Grayson <pete@jpgrayson.net> | 2019-03-08 12:43:04 -0500 |
---|---|---|
committer | Brian Ashworth <bosrsf04@gmail.com> | 2019-03-08 14:29:39 -0500 |
commit | b7fe5097e949b9bfde6fd52f26d2599068833563 (patch) | |
tree | 37459687d2f8a639bc0439c98fdb00bf87d61ad8 | |
parent | ipc: describe libinput device configuration (diff) | |
download | sway-b7fe5097e949b9bfde6fd52f26d2599068833563.tar.gz sway-b7fe5097e949b9bfde6fd52f26d2599068833563.tar.zst sway-b7fe5097e949b9bfde6fd52f26d2599068833563.zip |
Add -p/--pretty option to swaymsg
This new option forces pretty (non-raw/non-JSON) output. By default, when
not using a tty, swaymsg outputs using the "raw" format. This makes it
impossible to, for example, pipe the pretty output to a pager such as
`less` since piping does not use a tty.
The new -p/--pretty option gives the user explicit control over the output
format while retaining the default tty-dependent behavior.
Signed-off-by: Peter Grayson <pete@jpgrayson.net>
-rw-r--r-- | completions/bash/swaymsg | 2 | ||||
-rw-r--r-- | completions/fish/swaymsg.fish | 3 | ||||
-rw-r--r-- | completions/zsh/_swaymsg | 7 | ||||
-rw-r--r-- | swaymsg/main.c | 7 | ||||
-rw-r--r-- | swaymsg/swaymsg.1.scd | 3 |
5 files changed, 17 insertions, 5 deletions
diff --git a/completions/bash/swaymsg b/completions/bash/swaymsg index 20092bdc..0b011902 100644 --- a/completions/bash/swaymsg +++ b/completions/bash/swaymsg | |||
@@ -21,6 +21,7 @@ _swaymsg() | |||
21 | 21 | ||
22 | short=( | 22 | short=( |
23 | -h | 23 | -h |
24 | -p | ||
24 | -q | 25 | -q |
25 | -r | 26 | -r |
26 | -s | 27 | -s |
@@ -30,6 +31,7 @@ _swaymsg() | |||
30 | 31 | ||
31 | long=( | 32 | long=( |
32 | --help | 33 | --help |
34 | --pretty | ||
33 | --quiet | 35 | --quiet |
34 | --raw | 36 | --raw |
35 | --socket | 37 | --socket |
diff --git a/completions/fish/swaymsg.fish b/completions/fish/swaymsg.fish index 636e3500..3f1cc50c 100644 --- a/completions/fish/swaymsg.fish +++ b/completions/fish/swaymsg.fish | |||
@@ -2,10 +2,11 @@ | |||
2 | 2 | ||
3 | complete -f -c swaymsg | 3 | complete -f -c swaymsg |
4 | complete -c swaymsg -s h -l help --description "Show help message and quit." | 4 | complete -c swaymsg -s h -l help --description "Show help message and quit." |
5 | complete -c swaymsg -s p -l pretty --description "Use pretty output even when not using a tty." | ||
5 | complete -c swaymsg -s q -l quiet --description "Sends the IPC message but does not print the response from sway." | 6 | complete -c swaymsg -s q -l quiet --description "Sends the IPC message but does not print the response from sway." |
6 | complete -c swaymsg -s v -l version --description "Print the version (of swaymsg) and quit." | ||
7 | complete -c swaymsg -s r -l raw --description "Use raw output even if using tty." | 7 | complete -c swaymsg -s r -l raw --description "Use raw output even if using tty." |
8 | complete -c swaymsg -s s -l socket -r --description "Use the specified socket path. Otherwise, swaymsg will ask where the socket is (which is the value of $SWAYSOCK, then of $I3SOCK)." | 8 | complete -c swaymsg -s s -l socket -r --description "Use the specified socket path. Otherwise, swaymsg will ask where the socket is (which is the value of $SWAYSOCK, then of $I3SOCK)." |
9 | complete -c swaymsg -s v -l version --description "Print the version (of swaymsg) and quit." | ||
9 | 10 | ||
10 | complete -c swaymsg -s t -l type -fr --description "Specify the type of IPC message." | 11 | complete -c swaymsg -s t -l type -fr --description "Specify the type of IPC message." |
11 | complete -c swaymsg -s t -l type -fra 'get_workspaces' --description "Gets a JSON-encoded list of workspaces and their status." | 12 | complete -c swaymsg -s t -l type -fra 'get_workspaces' --description "Gets a JSON-encoded list of workspaces and their status." |
diff --git a/completions/zsh/_swaymsg b/completions/zsh/_swaymsg index 0ba45d4a..c11fa990 100644 --- a/completions/zsh/_swaymsg +++ b/completions/zsh/_swaymsg | |||
@@ -28,10 +28,11 @@ types=( | |||
28 | ) | 28 | ) |
29 | 29 | ||
30 | _arguments -s \ | 30 | _arguments -s \ |
31 | '(-v --version)'{-v,--version}'[Show the version number and quit]' \ | ||
32 | '(-m --monitor)'{-m,--monitor}'[Monitor until killed (-t SUBSCRIBE only)]' \ | ||
33 | '(-h --help)'{-h,--help}'[Show help message and quit]' \ | 31 | '(-h --help)'{-h,--help}'[Show help message and quit]' \ |
32 | '(-m --monitor)'{-m,--monitor}'[Monitor until killed (-t SUBSCRIBE only)]' \ | ||
33 | '(-p --pretty)'{-p,--pretty}'[Use pretty output even when not using a tty]' \ | ||
34 | '(-q --quiet)'{-q,--quiet}'[Be quiet]' \ | 34 | '(-q --quiet)'{-q,--quiet}'[Be quiet]' \ |
35 | '(-r --raw)'{-r,--raw}'[Use raw output even if using a tty]' \ | 35 | '(-r --raw)'{-r,--raw}'[Use raw output even if using a tty]' \ |
36 | '(-s --socket)'{-s,--socket}'[Use the specified socket path]:files:_files' \ | 36 | '(-s --socket)'{-s,--socket}'[Use the specified socket path]:files:_files' \ |
37 | '(-t --type)'{-t,--type}'[Specify the message type]:type:{_describe "type" types}' | 37 | '(-t --type)'{-t,--type}'[Specify the message type]:type:{_describe "type" types}' \ |
38 | '(-v --version)'{-v,--version}'[Show the version number and quit]' | ||
diff --git a/swaymsg/main.c b/swaymsg/main.c index e51c00d9..a0ef7e3d 100644 --- a/swaymsg/main.c +++ b/swaymsg/main.c | |||
@@ -326,6 +326,7 @@ int main(int argc, char **argv) { | |||
326 | static struct option long_options[] = { | 326 | static struct option long_options[] = { |
327 | {"help", no_argument, NULL, 'h'}, | 327 | {"help", no_argument, NULL, 'h'}, |
328 | {"monitor", no_argument, NULL, 'm'}, | 328 | {"monitor", no_argument, NULL, 'm'}, |
329 | {"pretty", no_argument, NULL, 'p'}, | ||
329 | {"quiet", no_argument, NULL, 'q'}, | 330 | {"quiet", no_argument, NULL, 'q'}, |
330 | {"raw", no_argument, NULL, 'r'}, | 331 | {"raw", no_argument, NULL, 'r'}, |
331 | {"socket", required_argument, NULL, 's'}, | 332 | {"socket", required_argument, NULL, 's'}, |
@@ -339,6 +340,7 @@ int main(int argc, char **argv) { | |||
339 | "\n" | 340 | "\n" |
340 | " -h, --help Show help message and quit.\n" | 341 | " -h, --help Show help message and quit.\n" |
341 | " -m, --monitor Monitor until killed (-t SUBSCRIBE only)\n" | 342 | " -m, --monitor Monitor until killed (-t SUBSCRIBE only)\n" |
343 | " -p, --pretty Use pretty output even when not using a tty\n" | ||
342 | " -q, --quiet Be quiet.\n" | 344 | " -q, --quiet Be quiet.\n" |
343 | " -r, --raw Use raw output even if using a tty\n" | 345 | " -r, --raw Use raw output even if using a tty\n" |
344 | " -s, --socket <socket> Use the specified socket.\n" | 346 | " -s, --socket <socket> Use the specified socket.\n" |
@@ -350,7 +352,7 @@ int main(int argc, char **argv) { | |||
350 | int c; | 352 | int c; |
351 | while (1) { | 353 | while (1) { |
352 | int option_index = 0; | 354 | int option_index = 0; |
353 | c = getopt_long(argc, argv, "hmqrs:t:v", long_options, &option_index); | 355 | c = getopt_long(argc, argv, "hmpqrs:t:v", long_options, &option_index); |
354 | if (c == -1) { | 356 | if (c == -1) { |
355 | break; | 357 | break; |
356 | } | 358 | } |
@@ -358,6 +360,9 @@ int main(int argc, char **argv) { | |||
358 | case 'm': // Monitor | 360 | case 'm': // Monitor |
359 | monitor = true; | 361 | monitor = true; |
360 | break; | 362 | break; |
363 | case 'p': // Pretty | ||
364 | raw = false; | ||
365 | break; | ||
361 | case 'q': // Quiet | 366 | case 'q': // Quiet |
362 | quiet = true; | 367 | quiet = true; |
363 | break; | 368 | break; |
diff --git a/swaymsg/swaymsg.1.scd b/swaymsg/swaymsg.1.scd index 523db6cc..1bcf956a 100644 --- a/swaymsg/swaymsg.1.scd +++ b/swaymsg/swaymsg.1.scd | |||
@@ -19,6 +19,9 @@ _swaymsg_ [options...] [message] | |||
19 | there is a malformed response or an invalid event type was requested, | 19 | there is a malformed response or an invalid event type was requested, |
20 | swaymsg will stop monitoring and exit. | 20 | swaymsg will stop monitoring and exit. |
21 | 21 | ||
22 | *-p, --pretty* | ||
23 | Use raw output even when not using a tty. | ||
24 | |||
22 | *-q, --quiet* | 25 | *-q, --quiet* |
23 | Sends the IPC message but does not print the response from sway. | 26 | Sends the IPC message but does not print the response from sway. |
24 | 27 | ||