iapplied Ivan Delalande's NET_SUPPORTING_WM_CHECK patch for gtk3 compatibility - dwm - dynamic window manager Err parazyd.org 70 hgit clone https://git.parazyd.org/dwm URL:https://git.parazyd.org/dwm parazyd.org 70 1Log /git/dwm/log.gph parazyd.org 70 1Files /git/dwm/files.gph parazyd.org 70 1Refs /git/dwm/refs.gph parazyd.org 70 1README /git/dwm/file/README.gph parazyd.org 70 1LICENSE /git/dwm/file/LICENSE.gph parazyd.org 70 i--- Err parazyd.org 70 1commit e63bf229485a576d68975dd4eb00c210394133ae /git/dwm/commit/e63bf229485a576d68975dd4eb00c210394133ae.gph parazyd.org 70 1parent 5376947571040a4654384ea8889a54cc2313cca7 /git/dwm/commit/5376947571040a4654384ea8889a54cc2313cca7.gph parazyd.org 70 hAuthor: Anselm R Garbe URL:mailto:garbeam@gmail.com parazyd.org 70 iDate: Mon, 5 Dec 2016 10:09:49 +0100 Err parazyd.org 70 i Err parazyd.org 70 iapplied Ivan Delalande's NET_SUPPORTING_WM_CHECK patch for gtk3 compatibility Err parazyd.org 70 i Err parazyd.org 70 iDiffstat: Err parazyd.org 70 i M dwm.c | 16 ++++++++++++++-- Err parazyd.org 70 i Err parazyd.org 70 i1 file changed, 14 insertions(+), 2 deletions(-) Err parazyd.org 70 i--- Err parazyd.org 70 1diff --git a/dwm.c b/dwm.c /git/dwm/file/dwm.c.gph parazyd.org 70 i@@ -61,7 +61,7 @@ Err parazyd.org 70 i /* enums */ Err parazyd.org 70 i enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ Err parazyd.org 70 i enum { SchemeNorm, SchemeSel }; /* color schemes */ Err parazyd.org 70 i-enum { NetSupported, NetWMName, NetWMState, Err parazyd.org 70 i+enum { NetSupported, NetWMName, NetWMState, NetWMCheck, Err parazyd.org 70 i NetWMFullscreen, NetActiveWindow, NetWMWindowType, Err parazyd.org 70 i NetWMWindowTypeDialog, NetClientList, NetLast }; /* EWMH atoms */ Err parazyd.org 70 i enum { WMProtocols, WMDelete, WMState, WMTakeFocus, WMLast }; /* default atoms */ Err parazyd.org 70 i@@ -267,7 +267,7 @@ static Scm *scheme; Err parazyd.org 70 i static Display *dpy; Err parazyd.org 70 i static Drw *drw; Err parazyd.org 70 i static Monitor *mons, *selmon; Err parazyd.org 70 i-static Window root; Err parazyd.org 70 i+static Window root, wmcheckwin; Err parazyd.org 70 i Err parazyd.org 70 i /* configuration, allows nested code to access above variables */ Err parazyd.org 70 i #include "config.h" Err parazyd.org 70 i@@ -485,6 +485,7 @@ cleanup(void) Err parazyd.org 70 i drw_cur_free(drw, cursor[i]); Err parazyd.org 70 i for (i = 0; i < LENGTH(colors); i++) Err parazyd.org 70 i free(scheme[i]); Err parazyd.org 70 i+ XDestroyWindow(dpy, wmcheckwin); Err parazyd.org 70 i drw_free(drw); Err parazyd.org 70 i XSync(dpy, False); Err parazyd.org 70 i XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot, CurrentTime); Err parazyd.org 70 i@@ -1551,6 +1552,7 @@ setup(void) Err parazyd.org 70 i { Err parazyd.org 70 i int i; Err parazyd.org 70 i XSetWindowAttributes wa; Err parazyd.org 70 i+ Atom utf8string; Err parazyd.org 70 i Err parazyd.org 70 i /* clean up any zombies immediately */ Err parazyd.org 70 i sigchld(0); Err parazyd.org 70 i@@ -1567,6 +1569,7 @@ setup(void) Err parazyd.org 70 i bh = drw->fonts->h + 2; Err parazyd.org 70 i updategeom(); Err parazyd.org 70 i /* init atoms */ Err parazyd.org 70 i+ utf8string = XInternAtom(dpy, "UTF8_STRING", False); Err parazyd.org 70 i wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False); Err parazyd.org 70 i wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False); Err parazyd.org 70 i wmatom[WMState] = XInternAtom(dpy, "WM_STATE", False); Err parazyd.org 70 i@@ -1575,6 +1578,7 @@ setup(void) Err parazyd.org 70 i netatom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False); Err parazyd.org 70 i netatom[NetWMName] = XInternAtom(dpy, "_NET_WM_NAME", False); Err parazyd.org 70 i netatom[NetWMState] = XInternAtom(dpy, "_NET_WM_STATE", False); Err parazyd.org 70 i+ netatom[NetWMCheck] = XInternAtom(dpy, "_NET_SUPPORTING_WM_CHECK", False); Err parazyd.org 70 i netatom[NetWMFullscreen] = XInternAtom(dpy, "_NET_WM_STATE_FULLSCREEN", False); Err parazyd.org 70 i netatom[NetWMWindowType] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE", False); Err parazyd.org 70 i netatom[NetWMWindowTypeDialog] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_DIALOG", False); Err parazyd.org 70 i@@ -1590,6 +1594,14 @@ setup(void) Err parazyd.org 70 i /* init bars */ Err parazyd.org 70 i updatebars(); Err parazyd.org 70 i updatestatus(); Err parazyd.org 70 i+ /* supporting window for NetWMCheck */ Err parazyd.org 70 i+ wmcheckwin = XCreateSimpleWindow(dpy, root, 0, 0, 1, 1, 0, 0, 0); Err parazyd.org 70 i+ XChangeProperty(dpy, wmcheckwin, netatom[NetWMCheck], XA_WINDOW, 32, Err parazyd.org 70 i+ PropModeReplace, (unsigned char *) &wmcheckwin, 1); Err parazyd.org 70 i+ XChangeProperty(dpy, wmcheckwin, netatom[NetWMName], utf8string, 8, Err parazyd.org 70 i+ PropModeReplace, (unsigned char *) "dwm", 4); Err parazyd.org 70 i+ XChangeProperty(dpy, root, netatom[NetWMCheck], XA_WINDOW, 32, Err parazyd.org 70 i+ PropModeReplace, (unsigned char *) &wmcheckwin, 1); Err parazyd.org 70 i /* EWMH support per view */ Err parazyd.org 70 i XChangeProperty(dpy, root, netatom[NetSupported], XA_ATOM, 32, Err parazyd.org 70 i PropModeReplace, (unsigned char *) netatom, NetLast); Err parazyd.org 70 .