]> diplodocus.org Git - xorg-xinput/commitdiff
Add --short argument to list. Only prints name and ID.
authorPeter Hutterer <peter@cs.unisa.edu.au>
Thu, 20 Dec 2007 01:22:41 +0000 (11:52 +1030)
committerPeter Hutterer <peter@cs.unisa.edu.au>
Thu, 20 Dec 2007 01:31:15 +0000 (12:01 +1030)
src/list.c
src/xinput.c

index 79c2aa491e5e8e0cfbd326e80c2d4eddca051468..a0236103d70b393bc7259abb7bd05a4141faab44 100644 (file)
@@ -24,7 +24,7 @@
 #include "xinput.h"
 
 static void
 #include "xinput.h"
 
 static void
-print_info(XDeviceInfo *info)
+print_info(XDeviceInfo *info, Bool shortformat)
 {
     int                        i,j;
     XAnyClassPtr       any;
 {
     int                        i,j;
     XAnyClassPtr       any;
@@ -57,6 +57,9 @@ print_info(XDeviceInfo        *info)
     }
     printf("]\n");
 
     }
     printf("]\n");
 
+    if (shortformat)
+        return;
+
     if (info->num_classes > 0) {
        any = (XAnyClassPtr) (info->inputclassinfo);
        for (i=0; i<info->num_classes; i++) {
     if (info->num_classes > 0) {
        any = (XAnyClassPtr) (info->inputclassinfo);
        for (i=0; i<info->num_classes; i++) {
@@ -105,6 +108,9 @@ list(Display        *display,
 {
     XDeviceInfo                *info;
     int                        loop;
 {
     XDeviceInfo                *info;
     int                        loop;
+    int                 shortformat = False;
+
+    shortformat = (argc == 1 && strcmp(argv[0], "--short") == 0);
 
     if (argc == 0) {
        int             num_devices;
 
     if (argc == 0) {
        int             num_devices;
@@ -112,7 +118,7 @@ list(Display        *display,
        info = XListInputDevices(display, &num_devices);
        
        for(loop=0; loop<num_devices; loop++) {
        info = XListInputDevices(display, &num_devices);
        
        for(loop=0; loop<num_devices; loop++) {
-           print_info(info+loop);
+           print_info(info+loop, shortformat);
        }
     } else {
        int     ret = EXIT_SUCCESS;
        }
     } else {
        int     ret = EXIT_SUCCESS;
@@ -124,7 +130,7 @@ list(Display        *display,
                fprintf(stderr, "unable to find device %s\n", argv[0]);
                ret = EXIT_FAILURE;
            } else {
                fprintf(stderr, "unable to find device %s\n", argv[0]);
                ret = EXIT_FAILURE;
            } else {
-               print_info(info);
+               print_info(info, shortformat);
            }
        }
        return ret;
            }
        }
        return ret;
index 8275d1896cfb8b1c5ed22819e7c153458863a6a0..6bafb2a5a7d8049959968ea10b4178966ec4e028 100644 (file)
@@ -66,7 +66,7 @@ static entry drivers[] =
      set_mode
     },
     {"list",
      set_mode
     },
     {"list",
-     "[<device name>...]",
+     "[--short || <device name>...]",
      list
     },
     {"query-state",
      list
     },
     {"query-state",