commit 9ff7c9fea2f062994c4b91c1a297580719dcde8b
parent 4ab83f9dfce2db53293f65f22590260217fbbbd5
Author: Christoph Lohmann <20h@r-36.net>
Date: Thu, 24 Mar 2011 19:41:58 +0100
Adding commandline options.
Diffstat:
svkbd.c | | | 42 | ++++++++++++++++++++++++++++++++++++++---- |
1 file changed, 38 insertions(+), 4 deletions(-)
diff --git a/svkbd.c b/svkbd.c
@@ -425,12 +425,46 @@ updatekeys() {
}
}
+void
+usage(char *argv0) {
+ fprintf(stderr, "usage: %s [-hv] [-wh height] [-ww width] "
+ "[-wx x position] [-wy y position]\n", argv0);
+ exit(1);
+}
+
int
main(int argc, char *argv[]) {
- if(argc == 2 && !strcmp("-v", argv[1]))
- die("svkbd-"VERSION", © 2006-2010 svkbd engineers, see LICENSE for details\n");
- else if(argc != 1)
- die("usage: svkbd [-v]\n");
+ int i;
+
+ for (i = 1; argv[i]; i++) {
+ if(!strcmp(argv[i], "-v")) {
+ die("svkbd-"VERSION", © 2006-2010 svkbd engineers,"
+ " see LICENSE for details\n");
+ }
+ if(!strcmp(argv[i], "-wh")) {
+ wh = atoi(argv[i+1]);
+ i++;
+ continue;
+ }
+ if(!strcmp(argv[i], "-ww")) {
+ ww = atoi(argv[i+1]);
+ i++;
+ continue;
+ }
+ if(!strcmp(argv[i], "-wx")) {
+ wx = atoi(argv[i+1]);
+ i++;
+ continue;
+ }
+ if(!strcmp(argv[i], "-wy")) {
+ wy = atoi(argv[i+1]);
+ i++;
+ continue;
+ }
+ if(!strcmp(argv[i], "-h"))
+ usage(argv[0]);
+ }
+
if(!setlocale(LC_CTYPE, "") || !XSupportsLocale())
fprintf(stderr, "warning: no locale support\n");
if(!(dpy = XOpenDisplay(0)))