diff options
-rw-r--r-- | src/busctl/busctl.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/busctl/busctl.c b/src/busctl/busctl.c index 0adceb6d1b..37ba05680f 100644 --- a/src/busctl/busctl.c +++ b/src/busctl/busctl.c @@ -39,7 +39,7 @@ static JsonFormatFlags arg_json_format_flags = JSON_FORMAT_OFF; static PagerFlags arg_pager_flags = 0; static bool arg_legend = true; -static bool arg_full = false; +static int arg_full = -1; static const char *arg_address = NULL; static bool arg_unique = false; static bool arg_acquired = false; @@ -215,7 +215,7 @@ static int list_bus_names(int argc, char **argv, void *userdata) { if (!table) return log_oom(); - if (arg_full) + if (arg_full > 0) table_set_width(table, 0); r = table_set_align_percent(table, table_get_cell(table, 0, COLUMN_PID), 100); @@ -1120,7 +1120,7 @@ static int introspect(int argc, char **argv, void *userdata) { sorted[k++] = m; } - if (result_width > 40 && !arg_full) + if (result_width > 40 && arg_full <= 0) result_width = 40; typesafe_qsort(sorted, k, member_compare_funcp); @@ -2550,6 +2550,9 @@ static int parse_argv(int argc, char *argv[]) { assert_not_reached(); } + if (arg_full < 0) + arg_full = terminal_is_dumb(); + return 1; } |