X-Git-Url: https://git.xinqibao.xyz/dwm.git/blobdiff_plain/e3c2d327f6f2874a165357d1ea2a50b2baf3a6f4..5d9ae3f3b7ad904218add1c2559eec9a7a073e3e:/dwm.c diff --git a/dwm.c b/dwm.c index af13a58..a1a34e2 100644 --- a/dwm.c +++ b/dwm.c @@ -44,7 +44,7 @@ * TODO: Idea: * I intend to not provide real Xinerama support, but instead having a Column * tilecols[] array which is used by tile(), and a Column maxcols[] arrays which is used by - * maximise(). Those arrays should be initialized in config.h. For simplicity + * monocle(). Those arrays should be initialized in config.h. For simplicity * reasons mwfact should be replaced with a more advanced method which * implements the same, but using the boundary between tilecols[0] and * tilecols[1] instead. Besides this, get rid of BARPOS and use instead the @@ -55,9 +55,9 @@ * #define BW sw * bh is calculated automatically and should be used for the */ -#ifdef XINERAMA +//#ifdef XINERAMA #include -#endif +//#endif /* macros */ #define BUTTONMASK (ButtonPressMask|ButtonReleaseMask) @@ -172,7 +172,7 @@ void killclient(const char *arg); void manage(Window w, XWindowAttributes *wa); void mappingnotify(XEvent *e); void maprequest(XEvent *e); -void maximise(void); +void monocle(void); void movemouse(Client *c); Client *nexttiled(Client *c); void propertynotify(XEvent *e); @@ -1086,7 +1086,7 @@ maprequest(XEvent *e) { } void -maximise(void) { +monocle(void) { Client *c; domwfact = dozoom = False; @@ -1474,9 +1474,9 @@ setup(void) { int screens = 1; unsigned int i; XSetWindowAttributes wa; -#ifdef XINERAMA +//#ifdef XINERAMA XineramaScreenInfo *info; -#endif +//#endif /* init screen */ screen = DefaultScreen(dpy); @@ -1485,6 +1485,14 @@ setup(void) { sy = 0; sw = DisplayWidth(dpy, screen); sh = DisplayHeight(dpy, screen); + if(XineramaIsActive(dpy)) { + if((info = XineramaQueryScreens(dpy, &screens))) { + sx = info[0].x_org; + sy = info[0].y_org; + sw = info[0].width; + sh = info[0].height; + } + } /* init atoms */ wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False); @@ -1500,10 +1508,10 @@ setup(void) { cursor[CurMove] = XCreateFontCursor(dpy, XC_fleur); ncols = 2; -#ifdef XINERAMA +#if 0 if(XineramaIsActive(dpy)) { if((info = XineramaQueryScreens(dpy, &screens))) { - if(screens == 1) { + if(screens >= 1) { sx = info[0].x_org; sy = info[0].y_org; sw = info[0].width; @@ -1523,14 +1531,12 @@ setup(void) { } } else -#endif { cols = emallocz(ncols * sizeof(Column)); cols[0].x = sx; cols[0].y = sy; - - } +#endif /* init appearance */ dc.norm[ColBorder] = getcolor(NORMBORDERCOLOR); dc.norm[ColBG] = getcolor(NORMBGCOLOR); @@ -1865,7 +1871,10 @@ updatewmhints(Client *c) { XWMHints *wmh; if((wmh = XGetWMHints(dpy, c->win))) { - c->isurgent = (wmh->flags & XUrgencyHint) ? True : False; + if(c == sel) + sel->isurgent = False; + else + c->isurgent = (wmh->flags & XUrgencyHint) ? True : False; XFree(wmh); } }