aboutsummaryrefslogtreecommitdiff
path: root/swaymsg
diff options
context:
space:
mode:
authorPeter Grayson <pete@jpgrayson.net>2019-03-08 12:43:04 -0500
committerBrian Ashworth <bosrsf04@gmail.com>2019-03-08 14:29:39 -0500
commitb7fe5097e949b9bfde6fd52f26d2599068833563 (patch)
tree37459687d2f8a639bc0439c98fdb00bf87d61ad8 /swaymsg
parent7f700e08ac8ac95c395b54c86b40d2fc79242310 (diff)
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>
Diffstat (limited to 'swaymsg')
-rw-r--r--swaymsg/main.c7
-rw-r--r--swaymsg/swaymsg.1.scd3
2 files changed, 9 insertions, 1 deletions
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) {
static struct option long_options[] = {
{"help", no_argument, NULL, 'h'},
{"monitor", no_argument, NULL, 'm'},
+ {"pretty", no_argument, NULL, 'p'},
{"quiet", no_argument, NULL, 'q'},
{"raw", no_argument, NULL, 'r'},
{"socket", required_argument, NULL, 's'},
@@ -339,6 +340,7 @@ int main(int argc, char **argv) {
"\n"
" -h, --help Show help message and quit.\n"
" -m, --monitor Monitor until killed (-t SUBSCRIBE only)\n"
+ " -p, --pretty Use pretty output even when not using a tty\n"
" -q, --quiet Be quiet.\n"
" -r, --raw Use raw output even if using a tty\n"
" -s, --socket <socket> Use the specified socket.\n"
@@ -350,7 +352,7 @@ int main(int argc, char **argv) {
int c;
while (1) {
int option_index = 0;
- c = getopt_long(argc, argv, "hmqrs:t:v", long_options, &option_index);
+ c = getopt_long(argc, argv, "hmpqrs:t:v", long_options, &option_index);
if (c == -1) {
break;
}
@@ -358,6 +360,9 @@ int main(int argc, char **argv) {
case 'm': // Monitor
monitor = true;
break;
+ case 'p': // Pretty
+ raw = false;
+ break;
case 'q': // Quiet
quiet = true;
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]
there is a malformed response or an invalid event type was requested,
swaymsg will stop monitoring and exit.
+*-p, --pretty*
+ Use raw output even when not using a tty.
+
*-q, --quiet*
Sends the IPC message but does not print the response from sway.