diff --git a/dwm.c b/dwm.c index 670afbe..b048e77 100644 --- a/dwm.c +++ b/dwm.c @@ -1784,10 +1784,18 @@ updategeom(void) { Bool dirty = False; #ifdef XINERAMA - if(XineramaIsActive(dpy)) { + int msw, msh; + Monitor *m; + + msw = msh = 0; + for(m = mons; m; m = m->next) { + msw += m->mw; + msh += m->mh; + } + + if(XineramaIsActive(dpy) && (msw != sw || msh != sh)) { int i, j, n, nn; Client *c; - Monitor *m; XineramaScreenInfo *info = XineramaQueryScreens(dpy, &nn); XineramaScreenInfo *unique = NULL;