diff options
author | Anselm R Garbe <anselm@garbe.us> | 2009-09-19 11:52:16 +0100 |
---|---|---|
committer | Anselm R Garbe <anselm@garbe.us> | 2009-09-19 11:52:16 +0100 |
commit | f0a4845e7dec3a4c7316311fcf1108148bb29730 (patch) | |
tree | b055a57a06759c7d959b0a7a17e8c23e18397bab /dwm.c | |
parent | 82ec7a7ed4f3ba376faadfc2aca783b24618575f (diff) | |
download | dwm-f0a4845e7dec3a4c7316311fcf1108148bb29730.tar.gz |
added TODO to updategeom in order to implement a decent version of it soon
Diffstat (limited to 'dwm.c')
-rw-r--r-- | dwm.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/dwm.c b/dwm.c index 2b4d6b0..7363396 100644 --- a/dwm.c +++ b/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; |