|
@ -53,7 +53,7 @@ |
|
|
enum { BarTop, BarBot, BarOff }; /* bar position */ |
|
|
enum { BarTop, BarBot, BarOff }; /* bar position */ |
|
|
enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ |
|
|
enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ |
|
|
enum { ColBorder, ColFG, ColBG, ColLast }; /* color */ |
|
|
enum { ColBorder, ColFG, ColBG, ColLast }; /* color */ |
|
|
enum { NetSupported, NetWMName, NetLast }; /* EWMH atoms */ |
|
|
|
|
|
|
|
|
enum { NetSupported, NetWMCheck, NetWMName, NetLast }; /* EWMH atoms */ |
|
|
enum { WMProtocols, WMDelete, WMName, WMState, WMLast };/* default atoms */ |
|
|
enum { WMProtocols, WMDelete, WMName, WMState, WMLast };/* default atoms */ |
|
|
|
|
|
|
|
|
/* typedefs */ |
|
|
/* typedefs */ |
|
@ -1427,19 +1427,20 @@ void |
|
|
setup(void) { |
|
|
setup(void) { |
|
|
int d; |
|
|
int d; |
|
|
unsigned int i, j, mask; |
|
|
unsigned int i, j, mask; |
|
|
|
|
|
Atom utf8string; |
|
|
Window w; |
|
|
Window w; |
|
|
XModifierKeymap *modmap; |
|
|
XModifierKeymap *modmap; |
|
|
XSetWindowAttributes wa; |
|
|
XSetWindowAttributes wa; |
|
|
|
|
|
|
|
|
/* init atoms */ |
|
|
/* init atoms */ |
|
|
|
|
|
utf8string = XInternAtom(dpy, "UTF8_STRING", False); |
|
|
wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False); |
|
|
wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False); |
|
|
wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False); |
|
|
wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False); |
|
|
wmatom[WMName] = XInternAtom(dpy, "WM_NAME", False); |
|
|
wmatom[WMName] = XInternAtom(dpy, "WM_NAME", False); |
|
|
wmatom[WMState] = XInternAtom(dpy, "WM_STATE", False); |
|
|
wmatom[WMState] = XInternAtom(dpy, "WM_STATE", False); |
|
|
netatom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False); |
|
|
netatom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False); |
|
|
|
|
|
netatom[NetWMCheck] = XInternAtom(dpy, "_NET_SUPPORTING_WM_CHECK", False); |
|
|
netatom[NetWMName] = XInternAtom(dpy, "_NET_WM_NAME", False); |
|
|
netatom[NetWMName] = XInternAtom(dpy, "_NET_WM_NAME", False); |
|
|
XChangeProperty(dpy, root, netatom[NetSupported], XA_ATOM, 32, |
|
|
|
|
|
PropModeReplace, (unsigned char *) netatom, NetLast); |
|
|
|
|
|
|
|
|
|
|
|
/* init cursors */ |
|
|
/* init cursors */ |
|
|
cursor[CurNormal] = XCreateFontCursor(dpy, XC_left_ptr); |
|
|
cursor[CurNormal] = XCreateFontCursor(dpy, XC_left_ptr); |
|
@ -1514,6 +1515,17 @@ setup(void) { |
|
|
|
|
|
|
|
|
/* multihead support */ |
|
|
/* multihead support */ |
|
|
selscreen = XQueryPointer(dpy, root, &w, &w, &d, &d, &d, &d, &mask); |
|
|
selscreen = XQueryPointer(dpy, root, &w, &w, &d, &d, &d, &d, &mask); |
|
|
|
|
|
|
|
|
|
|
|
/* EWMH properties */ |
|
|
|
|
|
XChangeProperty(dpy, barwin, netatom[NetWMCheck], XA_WINDOW, 32, |
|
|
|
|
|
PropModeReplace, (unsigned char *) &barwin, 1); |
|
|
|
|
|
/* HACK: dwm identifies itself as compiz to workaround the XToolkit bug of Sun JDK */ |
|
|
|
|
|
XChangeProperty(dpy, barwin, netatom[NetWMName], utf8string, 8, |
|
|
|
|
|
PropModeReplace, (unsigned char *) "compiz", 7); |
|
|
|
|
|
XChangeProperty(dpy, root, netatom[NetWMCheck], XA_WINDOW, 32, |
|
|
|
|
|
PropModeReplace, (unsigned char *) &barwin, 1); |
|
|
|
|
|
XChangeProperty(dpy, root, netatom[NetSupported], XA_ATOM, 32, |
|
|
|
|
|
PropModeReplace, (unsigned char *) netatom, NetLast); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void |
|
|
void |
|
|