| 
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -166,22 +166,17 @@ main(int argc, char *argv[]) | 
															
														
														
													
														
															
																 | 
																 | 
																	int i, n; | 
																 | 
																 | 
																	int i, n; | 
															
														
														
													
														
															
																 | 
																 | 
																	unsigned int mask; | 
																 | 
																 | 
																	unsigned int mask; | 
															
														
														
													
														
															
																 | 
																 | 
																	fd_set rd; | 
																 | 
																 | 
																	fd_set rd; | 
															
														
														
													
														
															
																 | 
																 | 
																	Bool readstdin = True; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	Bool readin = True; | 
															
														
														
													
														
															
																 | 
																 | 
																	Window w; | 
																 | 
																 | 
																	Window w; | 
															
														
														
													
														
															
																 | 
																 | 
																	XEvent ev; | 
																 | 
																 | 
																	XEvent ev; | 
															
														
														
													
														
															
																 | 
																 | 
																	XSetWindowAttributes wa; | 
																 | 
																 | 
																	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); | 
																 | 
																 | 
																	dpy = XOpenDisplay(0); | 
															
														
														
													
														
															
																 | 
																 | 
																	if(!dpy) | 
																 | 
																 | 
																	if(!dpy) | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -256,10 +251,9 @@ main(int argc, char *argv[]) | 
															
														
														
													
														
															
																 | 
																 | 
																	scan(); | 
																 | 
																 | 
																	scan(); | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																	/* main event loop, reads status text from stdin as well */ | 
																 | 
																 | 
																	/* main event loop, reads status text from stdin as well */ | 
															
														
														
													
														
															
																 | 
																 | 
																Mainloop: | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	while(running) { | 
																 | 
																 | 
																	while(running) { | 
															
														
														
													
														
															
																 | 
																 | 
																		FD_ZERO(&rd); | 
																 | 
																 | 
																		FD_ZERO(&rd); | 
															
														
														
													
														
															
																 | 
																 | 
																		if(readstdin) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		if(readin) | 
															
														
														
													
														
															
																 | 
																 | 
																			FD_SET(STDIN_FILENO, &rd); | 
																 | 
																 | 
																			FD_SET(STDIN_FILENO, &rd); | 
															
														
														
													
														
															
																 | 
																 | 
																		FD_SET(ConnectionNumber(dpy), &rd); | 
																 | 
																 | 
																		FD_SET(ConnectionNumber(dpy), &rd); | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -276,20 +270,12 @@ Mainloop: | 
															
														
														
													
														
															
																 | 
																 | 
																						(handler[ev.type])(&ev); /* call handler */ | 
																 | 
																 | 
																						(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(); | 
																 | 
																 | 
																				drawstatus(); | 
															
														
														
													
														
															
																 | 
																 | 
																			} | 
																 | 
																 | 
																			} | 
															
														
														
													
														
															
																 | 
																 | 
																		} | 
																 | 
																 | 
																		} | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																	
																 | 
																
  |