diff options
| author | arg@10ksloc.org <unknown> | 2006-07-21 14:11:38 +0200 | 
|---|---|---|
| committer | arg@10ksloc.org <unknown> | 2006-07-21 14:11:38 +0200 | 
| commit | 4970ef938eca10d9af3ef058d15d2ffeb6dfbe18 (patch) | |
| tree | 54366283a3d033db79332b5bd6cc7c1e6a735dfc | |
| parent | f85b163899a743d29ebdf1d4969e729b3f2cb79c (diff) | |
simplified main.c, switching back to single urxvt usage
| -rw-r--r-- | event.c | 2 | ||||
| -rw-r--r-- | main.c | 40 | 
2 files changed, 14 insertions, 28 deletions
| @@ -23,7 +23,7 @@ typedef struct {  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 }; @@ -166,22 +166,17 @@ main(int argc, char *argv[])  	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 @@ main(int argc, char *argv[])  	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 @@ Mainloop:  						(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();  			}  		} | 
