added TODO to updategeom in order to implement a decent version of it soon
This commit is contained in:
		
							
								
								
									
										34
									
								
								dwm.c
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								dwm.c
									
									
									
									
									
								
							@@ -1699,6 +1699,40 @@ updategeom(void) {
 | 
			
		||||
	Client *c;
 | 
			
		||||
	Monitor *newmons = NULL, *m = NULL, *tm;
 | 
			
		||||
 | 
			
		||||
	/* TODO:
 | 
			
		||||
	 * This function needs to be seriously re-designed:
 | 
			
		||||
	 *
 | 
			
		||||
	 * #ifdef XINERAMA
 | 
			
		||||
	 * 1. Determine number of already existing monitors n
 | 
			
		||||
	 * 2. Determine number of monitors Xinerama reports nn
 | 
			
		||||
	 * 3. if(n <= nn) {
 | 
			
		||||
	 *       if(n < nn) {
 | 
			
		||||
	 *          append nn-n monitors to current struct
 | 
			
		||||
	 *          flag dirty
 | 
			
		||||
	 *       }
 | 
			
		||||
	 *       for(i = 0; i < nn; i++) {
 | 
			
		||||
	 *           if(oldgeom != newgeom) {
 | 
			
		||||
	 *               apply newgeom;
 | 
			
		||||
	 *               flag dirty;
 | 
			
		||||
	 *           }
 | 
			
		||||
	 *       }
 | 
			
		||||
	 *    }
 | 
			
		||||
	 *    else {
 | 
			
		||||
	 *       detach all clients
 | 
			
		||||
	 *       destroy current monitor struct
 | 
			
		||||
	 *       create new monitor struct 
 | 
			
		||||
	 *       attach all clients to first monitor
 | 
			
		||||
	 *       flag dirty;
 | 
			
		||||
	 *    }
 | 
			
		||||
	 *    return dirty flag to caller
 | 
			
		||||
	 *        if dirty is seen by caller:
 | 
			
		||||
	 *           re-arrange bars/pixmaps
 | 
			
		||||
	 *           arrange()
 | 
			
		||||
	 * #else
 | 
			
		||||
	 *    don't share between XINERAMA and non-XINERAMA handling if it gets
 | 
			
		||||
	 *    too ugly
 | 
			
		||||
	 * #endif
 | 
			
		||||
	 */
 | 
			
		||||
#ifdef XINERAMA
 | 
			
		||||
	XineramaScreenInfo *info = NULL;
 | 
			
		||||
	Bool *flags = NULL;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user