aewl
diff main.c @ 137:77922a389fa8
simplified main.c, switching back to single urxvt usage
author | arg@10ksloc.org |
---|---|
date | Fri, 21 Jul 2006 14:11:38 +0200 |
parents | 1489f6b97714 |
children | c1185dc7a36e |
line diff
1.1 --- a/main.c Fri Jul 21 11:54:14 2006 +0200 1.2 +++ b/main.c Fri Jul 21 14:11:38 2006 +0200 1.3 @@ -166,22 +166,17 @@ 1.4 int i, n; 1.5 unsigned int mask; 1.6 fd_set rd; 1.7 - Bool readstdin = True; 1.8 + Bool readin = True; 1.9 Window w; 1.10 XEvent ev; 1.11 XSetWindowAttributes wa; 1.12 1.13 - for(i = 1; (i < argc) && (argv[i][0] == '-'); i++) { 1.14 - switch (argv[i][1]) { 1.15 - default: 1.16 - eprint("usage: dwm [-v]\n"); 1.17 - break; 1.18 - case 'v': 1.19 - fputs("dwm-"VERSION", (C)opyright MMVI Anselm R. Garbe\n", stdout); 1.20 - exit(EXIT_SUCCESS); 1.21 - break; 1.22 - } 1.23 + if(argc == 2 && !strncmp("-v", argv[1], 3)) { 1.24 + fputs("dwm-"VERSION", (C)opyright MMVI Anselm R. Garbe\n", stdout); 1.25 + exit(EXIT_SUCCESS); 1.26 } 1.27 + else if(argc != 1) 1.28 + eprint("usage: dwm [-v]\n"); 1.29 1.30 dpy = XOpenDisplay(0); 1.31 if(!dpy) 1.32 @@ -256,10 +251,9 @@ 1.33 scan(); 1.34 1.35 /* main event loop, reads status text from stdin as well */ 1.36 -Mainloop: 1.37 while(running) { 1.38 FD_ZERO(&rd); 1.39 - if(readstdin) 1.40 + if(readin) 1.41 FD_SET(STDIN_FILENO, &rd); 1.42 FD_SET(ConnectionNumber(dpy), &rd); 1.43 1.44 @@ -276,20 +270,12 @@ 1.45 (handler[ev.type])(&ev); /* call handler */ 1.46 } 1.47 } 1.48 - if(readstdin && FD_ISSET(STDIN_FILENO, &rd)) { 1.49 - i = n = 0; 1.50 - for(;;) { 1.51 - if((i = getchar()) == EOF) { 1.52 - /* broken pipe/end of producer */ 1.53 - readstdin = False; 1.54 - strcpy(stext, "broken pipe"); 1.55 - goto Mainloop; 1.56 - } 1.57 - if(i == '\n' || n >= sizeof(stext) - 1) 1.58 - break; 1.59 - stext[n++] = i; 1.60 - } 1.61 - stext[n] = 0; 1.62 + if(readin && FD_ISSET(STDIN_FILENO, &rd)) { 1.63 + readin = NULL != fgets(stext, sizeof(stext), stdin); 1.64 + if(readin) 1.65 + stext[strlen(stext) - 1] = 0; 1.66 + else 1.67 + strcpy(stext, "broken pipe"); 1.68 drawstatus(); 1.69 } 1.70 }