| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -473,7 +473,7 @@ void | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					setup(void) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						int x, y, screen = DefaultScreen(dc->dpy); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						Window root = RootWindow(dc->dpy, screen); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						XSetWindowAttributes wa; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						XSetWindowAttributes swa; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#ifdef XINERAMA | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						int n; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						XineramaScreenInfo *info; | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -494,9 +494,14 @@ setup(void) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if((info = XineramaQueryScreens(dc->dpy, &n))) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							int i, di; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							unsigned int du; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							Window dw; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							Window w, dw; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							XWindowAttributes wa; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							XQueryPointer(dc->dpy, root, &dw, &dw, &x, &y, &di, &di, &du); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							XGetInputFocus(dc->dpy, &w, &di); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(w != root && XGetWindowAttributes(dc->dpy, w, &wa)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								XTranslateCoordinates(dc->dpy, root, root, wa.x, wa.y, &x, &y, &dw); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								XQueryPointer(dc->dpy, root, &dw, &dw, &x, &y, &di, &di, &du); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							for(i = 0; i < n-1; i++) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if(INRECT(x, y, info[i].x_org, info[i].y_org, info[i].width, info[i].height)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									break; | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -517,13 +522,13 @@ setup(void) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						match(False); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						/* menu window */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						wa.override_redirect = True; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						wa.background_pixmap = ParentRelative; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						wa.event_mask = ExposureMask | KeyPressMask | VisibilityChangeMask; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						swa.override_redirect = True; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						swa.background_pixmap = ParentRelative; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						swa.event_mask = ExposureMask | KeyPressMask | VisibilityChangeMask; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						win = XCreateWindow(dc->dpy, root, x, y, mw, mh, 0, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						                    DefaultDepth(dc->dpy, screen), CopyFromParent, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						                    DefaultVisual(dc->dpy, screen), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						                    CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						                    CWOverrideRedirect | CWBackPixmap | CWEventMask, &swa); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						XMapRaised(dc->dpy, win); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						resizedc(dc, mw, mh); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |