|
|
@ -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); |
|
|
|