| 
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1699,6 +1699,40 @@ updategeom(void) { | 
															
														
														
													
														
															
																 | 
																 | 
																	Client *c; | 
																 | 
																 | 
																	Client *c; | 
															
														
														
													
														
															
																 | 
																 | 
																	Monitor *newmons = NULL, *m = NULL, *tm; | 
																 | 
																 | 
																	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 | 
																 | 
																 | 
																#ifdef XINERAMA | 
															
														
														
													
														
															
																 | 
																 | 
																	XineramaScreenInfo *info = NULL; | 
																 | 
																 | 
																	XineramaScreenInfo *info = NULL; | 
															
														
														
													
														
															
																 | 
																 | 
																	Bool *flags = NULL; | 
																 | 
																 | 
																	Bool *flags = NULL; | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																	
																 | 
																
  |