main.c
changeset 778 2ec66bdbb8ad
parent 777 469dc170f833
child 782 92862ab407d5
equal deleted inserted replaced
777:469dc170f833 778:2ec66bdbb8ad
   377 int
   377 int
   378 main(int argc, char *argv[]) {
   378 main(int argc, char *argv[]) {
   379 	char *p;
   379 	char *p;
   380 	int r, xfd;
   380 	int r, xfd;
   381 	fd_set rd;
   381 	fd_set rd;
       
   382 	XEvent ev;
   382 
   383 
   383 	if(argc == 2 && !strncmp("-v", argv[1], 3)) {
   384 	if(argc == 2 && !strncmp("-v", argv[1], 3)) {
   384 		fputs("dwm-"VERSION", (C)opyright MMVI-MMVII Anselm R. Garbe\n", stdout);
   385 		fputs("dwm-"VERSION", (C)opyright MMVI-MMVII Anselm R. Garbe\n", stdout);
   385 		exit(EXIT_SUCCESS);
   386 		exit(EXIT_SUCCESS);
   386 	}
   387 	}
   409 	drawstatus();
   410 	drawstatus();
   410 	scan();
   411 	scan();
   411 
   412 
   412 	/* main event loop, also reads status text from stdin */
   413 	/* main event loop, also reads status text from stdin */
   413 	XSync(dpy, False);
   414 	XSync(dpy, False);
   414 	procevent();
       
   415 	readin = True;
   415 	readin = True;
   416 	while(running) {
   416 	while(running) {
   417 		FD_ZERO(&rd);
   417 		FD_ZERO(&rd);
   418 		if(readin)
   418 		if(readin)
   419 			FD_SET(STDIN_FILENO, &rd);
   419 			FD_SET(STDIN_FILENO, &rd);
   441 					strncpy(stext, p + 1, sizeof stext);
   441 					strncpy(stext, p + 1, sizeof stext);
   442 			}
   442 			}
   443 			drawstatus();
   443 			drawstatus();
   444 		}
   444 		}
   445 		if(FD_ISSET(xfd, &rd))
   445 		if(FD_ISSET(xfd, &rd))
   446 			procevent();
   446 			while(XPending(dpy)) {
       
   447 				XNextEvent(dpy, &ev);
       
   448 				if(handler[ev.type])
       
   449 					(handler[ev.type])(&ev); /* call handler */
       
   450 			}
   447 	}
   451 	}
   448 	cleanup();
   452 	cleanup();
   449 	XCloseDisplay(dpy);
   453 	XCloseDisplay(dpy);
   450 	return 0;
   454 	return 0;
   451 }
   455 }