hack that adds NET_SUPPORTING_WM_CHECK handling, dwm identifies itself as compiz, hence I believe this might workaround the JDK 1.6+ XToolkit bug
This commit is contained in:
parent
cb4951dd54
commit
762b66ae7c
18
dwm.c
18
dwm.c
|
@ -53,7 +53,7 @@
|
|||
enum { BarTop, BarBot, BarOff }; /* bar position */
|
||||
enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */
|
||||
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 */
|
||||
|
||||
/* typedefs */
|
||||
|
@ -1427,19 +1427,20 @@ void
|
|||
setup(void) {
|
||||
int d;
|
||||
unsigned int i, j, mask;
|
||||
Atom utf8string;
|
||||
Window w;
|
||||
XModifierKeymap *modmap;
|
||||
XSetWindowAttributes wa;
|
||||
|
||||
/* init atoms */
|
||||
utf8string = XInternAtom(dpy, "UTF8_STRING", False);
|
||||
wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False);
|
||||
wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False);
|
||||
wmatom[WMName] = XInternAtom(dpy, "WM_NAME", False);
|
||||
wmatom[WMState] = XInternAtom(dpy, "WM_STATE", 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);
|
||||
XChangeProperty(dpy, root, netatom[NetSupported], XA_ATOM, 32,
|
||||
PropModeReplace, (unsigned char *) netatom, NetLast);
|
||||
|
||||
/* init cursors */
|
||||
cursor[CurNormal] = XCreateFontCursor(dpy, XC_left_ptr);
|
||||
|
@ -1514,6 +1515,17 @@ setup(void) {
|
|||
|
||||
/* multihead support */
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue