t* dwm + patches
       
   URI git clone git://git.codevoid.de/dwm-sdk
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit f0a4845e7dec3a4c7316311fcf1108148bb29730
   DIR parent 82ec7a7ed4f3ba376faadfc2aca783b24618575f
   URI Author: Anselm R Garbe <anselm@garbe.us>
       Date:   Sat, 19 Sep 2009 11:52:16 +0100
       
       added TODO to updategeom in order to implement a decent version of it soon
       Diffstat:
         M dwm.c                               |      34 +++++++++++++++++++++++++++++++
       
       1 file changed, 34 insertions(+), 0 deletions(-)
       ---
   DIR diff --git a/dwm.c b/dwm.c
       t@@ -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;