simplified main.c, switching back to single urxvt usage
authorarg@10ksloc.org
Fri, 21 Jul 2006 14:11:38 +0200
changeset 137 77922a389fa8
parent 136 3a9caa6d565b
child 138 c1185dc7a36e
simplified main.c, switching back to single urxvt usage
event.c
main.c
--- a/event.c	Fri Jul 21 11:54:14 2006 +0200
+++ b/event.c	Fri Jul 21 14:11:38 2006 +0200
@@ -23,7 +23,7 @@
 const char *browse[] = { "firefox", NULL };
 const char *gimp[] = { "gimp", NULL };
 const char *term[] = { 
-	"urxvtc", "-tr", "+sb", "-bg", "black", "-fg", "white", "-cr", "white",
+	"urxvt", "-tr", "+sb", "-bg", "black", "-fg", "white", "-cr", "white",
 	"-fn", "-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*", NULL
 };
 const char *xlock[] = { "xlock", NULL };
--- a/main.c	Fri Jul 21 11:54:14 2006 +0200
+++ b/main.c	Fri Jul 21 14:11:38 2006 +0200
@@ -166,22 +166,17 @@
 	int i, n;
 	unsigned int mask;
 	fd_set rd;
-	Bool readstdin = True;
+	Bool readin = True;
 	Window w;
 	XEvent ev;
 	XSetWindowAttributes wa;
 
-	for(i = 1; (i < argc) && (argv[i][0] == '-'); i++) {
-		switch (argv[i][1]) {
-		default:
-			eprint("usage: dwm [-v]\n");
-			break;
-		case 'v':
-			fputs("dwm-"VERSION", (C)opyright MMVI Anselm R. Garbe\n", stdout);
-			exit(EXIT_SUCCESS);
-			break;
-		}
+	if(argc == 2 && !strncmp("-v", argv[1], 3)) {
+		fputs("dwm-"VERSION", (C)opyright MMVI Anselm R. Garbe\n", stdout);
+		exit(EXIT_SUCCESS);
 	}
+	else if(argc != 1)
+		eprint("usage: dwm [-v]\n");
 
 	dpy = XOpenDisplay(0);
 	if(!dpy)
@@ -256,10 +251,9 @@
 	scan();
 
 	/* main event loop, reads status text from stdin as well */
-Mainloop:
 	while(running) {
 		FD_ZERO(&rd);
-		if(readstdin)
+		if(readin)
 			FD_SET(STDIN_FILENO, &rd);
 		FD_SET(ConnectionNumber(dpy), &rd);
 
@@ -276,20 +270,12 @@
 						(handler[ev.type])(&ev); /* call handler */
 				}
 			}
-			if(readstdin && FD_ISSET(STDIN_FILENO, &rd)) {
-				i = n = 0;
-				for(;;) {
-					if((i = getchar()) == EOF) {
-						/* broken pipe/end of producer */
-						readstdin = False;
-						strcpy(stext, "broken pipe");
-						goto Mainloop;
-					}
-					if(i == '\n' || n >= sizeof(stext) - 1)
-						break;
-					stext[n++] = i;
-				}
-				stext[n] = 0;
+			if(readin && FD_ISSET(STDIN_FILENO, &rd)) {
+				readin = NULL != fgets(stext, sizeof(stext), stdin);
+				if(readin)
+					stext[strlen(stext) - 1] = 0;
+				else 
+					strcpy(stext, "broken pipe");
 				drawstatus();
 			}
 		}