diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2011-01-18 13:20:58 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2011-01-20 07:41:58 +1000 |
commit | 9e8d95799a31f297065f1b3ce346a2567b7cc07a (patch) | |
tree | b81f28f2ccbb220d9928ff39c3bc56db80c5e51c | |
parent | 976c989af7978277061d0166d8e2a82cb8b1e795 (diff) |
Fix broken "xinput list <devicename>".
Default behaviour for --list is to list --short if no device is given and
--long if a device is given. Restore this behaviour.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dirk Wallenstein <halsmit@t-online.de>
Tested-by: Dirk Wallenstein <halsmit@t-online.de>
-rw-r--r-- | src/list.c | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -25,6 +25,7 @@ #include <string.h> enum print_format { + FORMAT_NONE, FORMAT_SHORT, FORMAT_LONG, FORMAT_NAME, @@ -315,8 +316,8 @@ list(Display *display, char *name, char *desc) { - enum print_format format = FORMAT_SHORT; - int arg_dev = 0; + enum print_format format = FORMAT_NONE; + int arg_dev = 1; if (argc >= 1) { @@ -328,11 +329,14 @@ list(Display *display, format = FORMAT_NAME; else if (strcmp(argv[0], "--id-only") == 0) format = FORMAT_ID; - arg_dev++; + else + arg_dev--; } if (argc > arg_dev) { + if (format == FORMAT_NONE) + format = FORMAT_LONG; #ifdef HAVE_XI2 if (xinput_version(display) == XI_2_Major) { @@ -359,6 +363,8 @@ list(Display *display, } } } else { + if (format == FORMAT_NONE) + format = FORMAT_SHORT; #ifdef HAVE_XI2 if (xinput_version(display) == XI_2_Major) return list_xi2(display, format); |