diff options
| -rw-r--r-- | dwm.c | 18 | 
1 files changed, 15 insertions, 3 deletions
| @@ -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 | 
