[PATCH libinput] tools: print version number in libinput-list-devices

Peter Hutterer peter.hutterer at who-t.net
Tue Apr 28 14:55:23 PDT 2015


Makes debugging a bit easier when you can just ask users to do that instead of
digging around in whatever packaging system they have.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 tools/libinput-list-devices.c | 38 ++++++++++++++++++++++++++++----------
 1 file changed, 28 insertions(+), 10 deletions(-)

diff --git a/tools/libinput-list-devices.c b/tools/libinput-list-devices.c
index 24c7c53..c9e1191 100644
--- a/tools/libinput-list-devices.c
+++ b/tools/libinput-list-devices.c
@@ -30,6 +30,7 @@
 #include <libudev.h>
 
 #include <libinput.h>
+#include <libinput-version.h>
 
 #include "shared.h"
 
@@ -240,6 +241,23 @@ print_device_notify(struct libinput_event *ev)
 	printf("\n");
 }
 
+static inline void
+usage(void)
+{
+	printf("Usage: %s [--help|--version]\n"
+	       "\n"
+	       "This tool creates a libinput context on the default seat \"seat0\"\n"
+	       "and lists all devices recognized by libinput and the configuration options.\n"
+	       "Where multiple options are possible, the default is prefixed with \"*\".\n"
+	       "\n"
+	       "Options:\n"
+	       "--help ...... show this help\n"
+	       "--version ... show version information\n"
+	       "\n"
+	       "This tool requires access to the /dev/input/eventX nodes.\n",
+	       program_invocation_short_name);
+}
+
 int
 main(int argc, char **argv)
 {
@@ -248,16 +266,16 @@ main(int argc, char **argv)
 	struct libinput_event *ev;
 
 	if (argc > 1) {
-		printf("Usage: %s [--help]\n"
-		       "\n"
-		       "This tool creates a libinput context on the default seat \"seat0\"\n"
-		       "and lists all devices recognized by libinput and the configuration options.\n"
-		       "Where multiple options are possible, the default is prefixed with \"*\".\n"
-		       "\n"
-		       "This tool requires access to the /dev/input/eventX nodes.\n",
-		       program_invocation_short_name);
-
-		return 1;
+		if (strcmp(argv[1], "--help") == 0) {
+			usage();
+			return 0;
+		} else if (strcmp(argv[1], "--version") == 0) {
+			printf("%s\n", LIBINPUT_VERSION);
+			return 0;
+		} else {
+			usage();
+			return 1;
+		}
 	}
 
 	tools_init_options(&options);
-- 
2.3.5



More information about the wayland-devel mailing list