fixed urgency hint, though Xinerama integration is still ongoing

This commit is contained in:
Anselm R Garbe 2008-03-05 10:22:21 +00:00
parent e3c2d327f6
commit 59aa02a075

26
dwm.c
View file

@ -55,9 +55,9 @@
* #define BW sw * #define BW sw
* bh is calculated automatically and should be used for the * bh is calculated automatically and should be used for the
*/ */
#ifdef XINERAMA //#ifdef XINERAMA
#include <X11/extensions/Xinerama.h> #include <X11/extensions/Xinerama.h>
#endif //#endif
/* macros */ /* macros */
#define BUTTONMASK (ButtonPressMask|ButtonReleaseMask) #define BUTTONMASK (ButtonPressMask|ButtonReleaseMask)
@ -1474,9 +1474,9 @@ setup(void) {
int screens = 1; int screens = 1;
unsigned int i; unsigned int i;
XSetWindowAttributes wa; XSetWindowAttributes wa;
#ifdef XINERAMA //#ifdef XINERAMA
XineramaScreenInfo *info; XineramaScreenInfo *info;
#endif //#endif
/* init screen */ /* init screen */
screen = DefaultScreen(dpy); screen = DefaultScreen(dpy);
@ -1485,6 +1485,14 @@ setup(void) {
sy = 0; sy = 0;
sw = DisplayWidth(dpy, screen); sw = DisplayWidth(dpy, screen);
sh = DisplayHeight(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 */ /* init atoms */
wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False); wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False);
@ -1500,10 +1508,10 @@ setup(void) {
cursor[CurMove] = XCreateFontCursor(dpy, XC_fleur); cursor[CurMove] = XCreateFontCursor(dpy, XC_fleur);
ncols = 2; ncols = 2;
#ifdef XINERAMA #if 0
if(XineramaIsActive(dpy)) { if(XineramaIsActive(dpy)) {
if((info = XineramaQueryScreens(dpy, &screens))) { if((info = XineramaQueryScreens(dpy, &screens))) {
if(screens == 1) { if(screens >= 1) {
sx = info[0].x_org; sx = info[0].x_org;
sy = info[0].y_org; sy = info[0].y_org;
sw = info[0].width; sw = info[0].width;
@ -1523,14 +1531,12 @@ setup(void) {
} }
} }
else else
#endif
{ {
cols = emallocz(ncols * sizeof(Column)); cols = emallocz(ncols * sizeof(Column));
cols[0].x = sx; cols[0].x = sx;
cols[0].y = sy; cols[0].y = sy;
} }
#endif
/* init appearance */ /* init appearance */
dc.norm[ColBorder] = getcolor(NORMBORDERCOLOR); dc.norm[ColBorder] = getcolor(NORMBORDERCOLOR);
dc.norm[ColBG] = getcolor(NORMBGCOLOR); dc.norm[ColBG] = getcolor(NORMBGCOLOR);
@ -1864,6 +1870,8 @@ void
updatewmhints(Client *c) { updatewmhints(Client *c) {
XWMHints *wmh; XWMHints *wmh;
if(c == sel)
return;
if((wmh = XGetWMHints(dpy, c->win))) { if((wmh = XGetWMHints(dpy, c->win))) {
c->isurgent = (wmh->flags & XUrgencyHint) ? True : False; c->isurgent = (wmh->flags & XUrgencyHint) ? True : False;
XFree(wmh); XFree(wmh);