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