added TODO to updategeom in order to implement a decent version of it soon

This commit is contained in:
Anselm R Garbe 2009-09-19 11:52:16 +01:00
parent 82ec7a7ed4
commit f0a4845e7d

34
dwm.c
View file

@ -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;