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 4a4857a812034079314b95598f8e8c2e6f33567d /git/dwm-sdk/commit/4a4857a812034079314b95598f8e8c2e6f33567d.gph codevoid.de 70 1parent 3b59a15d64e38b4196139bb05bb08b8d2ef49335 /git/dwm-sdk/commit/3b59a15d64e38b4196139bb05bb08b8d2ef49335.gph codevoid.de 70 hAuthor: Stefan Hagen URL:mailto:sh+git[at]codevoid[dot]de codevoid.de 70 iDate: Sun, 3 Nov 2019 16:12:27 +0100 Err codevoid.de 70 i Err codevoid.de 70 iremove FloatColor - %retab Err codevoid.de 70 i Err codevoid.de 70 iDiffstat: Err codevoid.de 70 i M config.h | 16 ++++------------ Err codevoid.de 70 i M config.mk | 6 +++--- Err codevoid.de 70 i M drw.h | 2 +- Err codevoid.de 70 i M dwm.c | 613 +++++++++++++------------------ Err codevoid.de 70 i M maximize.c | 111 +++++++++++++++---------------- Err codevoid.de 70 i Err codevoid.de 70 i5 files changed, 312 insertions(+), 436 deletions(-) Err codevoid.de 70 i--- Err codevoid.de 70 1diff --git a/config.h b/config.h /git/dwm-sdk/file/config.h.gph codevoid.de 70 it@@ -10,28 +10,20 @@ static const char selbgcolor[] = "#181818"; // top bar selection bg Err codevoid.de 70 i static const char selfgcolor[] = "#eeeeee"; // top bar selection fg Err codevoid.de 70 i static const char normbordercolor[] = "#242424"; // window border bg Err codevoid.de 70 i static const char selbordercolor[] = "#990000"; // window border fg Err codevoid.de 70 i-static const char normfloatbordercolor[] = "#00FF00"; // float window border bg Err codevoid.de 70 i-static const char selfloatbordercolor[] = "#00FF00"; // float window border fg Err codevoid.de 70 i static const unsigned int borderpx = 1; // window border size px Err codevoid.de 70 i static const unsigned int gappx = 10; // window gap size px Err codevoid.de 70 i static const unsigned int snap = 8; // snap distance px Err codevoid.de 70 i-static const unsigned int systraypinning = 1; // 0: tray follows mouse Err codevoid.de 70 i- // >0: pin tray to mon X Err codevoid.de 70 i static const unsigned int systrayspacing = 2; // systray spacing Err codevoid.de 70 i+static const unsigned int systraypinning = 1; // 0 tray follows mouse Err codevoid.de 70 i static const int systraypinningfailfirst = 1; // 1 first screen, 0 last Err codevoid.de 70 i static const int showsystray = 1; // 0 = no systray Err codevoid.de 70 i static const int showbar = 1; // 0 = no bar Err codevoid.de 70 i static const int topbar = 1; // 0 = bottom bar Err codevoid.de 70 i static const int extrabar = 0; // 0 = no extra bar Err codevoid.de 70 i Err codevoid.de 70 i-static const char *colors[][4] = { Err codevoid.de 70 i- [SchemeNorm] = { Err codevoid.de 70 i- normfgcolor, normbgcolor, normbordercolor, normfloatbordercolor Err codevoid.de 70 i- }, Err codevoid.de 70 i- [SchemeSel] = { Err codevoid.de 70 i- /* fg bg border floatborder */ Err codevoid.de 70 i- selfgcolor, selbgcolor, selbordercolor, selfloatbordercolor Err codevoid.de 70 i- }, Err codevoid.de 70 i+static const char *colors[][3] = { Err codevoid.de 70 i+ [SchemeNorm] = { normfgcolor, normbgcolor, normbordercolor }, Err codevoid.de 70 i+ [SchemeSel] = { selfgcolor, selbgcolor, selbordercolor }, Err codevoid.de 70 i }; Err codevoid.de 70 i Err codevoid.de 70 i /* dmenu options */ Err codevoid.de 70 1diff --git a/config.mk b/config.mk /git/dwm-sdk/file/config.mk.gph codevoid.de 70 it@@ -25,9 +25,9 @@ INCS = -I${X11INC} -I${FREETYPEINC} Err codevoid.de 70 i LIBS = -L${X11LIB} -lX11 ${XINERAMALIBS} ${FREETYPELIBS} Err codevoid.de 70 i Err codevoid.de 70 i # flags Err codevoid.de 70 i-CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=2 -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS} Err codevoid.de 70 i-#CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS} Err codevoid.de 70 i-CFLAGS = -std=c99 -pedantic -Wall -Wno-deprecated-declarations -Os ${INCS} ${CPPFLAGS} Err codevoid.de 70 i+CPPFLAGS = -g -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=2 -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS} Err codevoid.de 70 i+#CFLAGS = -std=c99 -pedantic -Wall -Wno-deprecated-declarations -Os ${INCS} ${CPPFLAGS} Err codevoid.de 70 i+CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS} Err codevoid.de 70 i LDFLAGS = ${LIBS} Err codevoid.de 70 i Err codevoid.de 70 i # Solaris Err codevoid.de 70 1diff --git a/drw.h b/drw.h /git/dwm-sdk/file/drw.h.gph codevoid.de 70 it@@ -12,7 +12,7 @@ typedef struct Fnt { Err codevoid.de 70 i struct Fnt *next; Err codevoid.de 70 i } Fnt; Err codevoid.de 70 i Err codevoid.de 70 i-enum { ColFg, ColBg, ColBorder, ColFloat }; /* Clr scheme index */ Err codevoid.de 70 i+enum { ColFg, ColBg, ColBorder }; /* Clr scheme index */ Err codevoid.de 70 i typedef XftColor Clr; Err codevoid.de 70 i Err codevoid.de 70 i typedef struct { Err codevoid.de 70 1diff --git a/dwm.c b/dwm.c /git/dwm-sdk/file/dwm.c.gph codevoid.de 70 it@@ -48,7 +48,7 @@ Err codevoid.de 70 i #define BUTTONMASK (ButtonPressMask|ButtonReleaseMask) Err codevoid.de 70 i #define CLEANMASK(mask) (mask & ~(numlockmask|LockMask) & (ShiftMask|ControlMask|Mod1Mask|Mod2Mask|Mod3Mask|Mod4Mask|Mod5Mask)) Err codevoid.de 70 i #define INTERSECT(x,y,w,h,m) (MAX(0, MIN((x)+(w),(m)->wx+(m)->ww) - MAX((x),(m)->wx)) \ Err codevoid.de 70 i- * MAX(0, MIN((y)+(h),(m)->wy+(m)->wh) - MAX((y),(m)->wy))) Err codevoid.de 70 i+ * MAX(0, MIN((y)+(h),(m)->wy+(m)->wh) - MAX((y),(m)->wy))) Err codevoid.de 70 i #define ISVISIBLE(C) ((C->tags & C->mon->tagset[C->mon->seltags])) Err codevoid.de 70 i #define LENGTH(X) (sizeof X / sizeof X[0]) Err codevoid.de 70 i #define MOUSEMASK (BUTTONMASK|PointerMotionMask) Err codevoid.de 70 it@@ -77,13 +77,13 @@ 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, NetWMCheck, Err codevoid.de 70 i- NetSystemTray, NetSystemTrayOP, NetSystemTrayOrientation, NetSystemTrayOrientationHorz, Err codevoid.de 70 i- NetWMFullscreen, NetActiveWindow, NetWMWindowType, Err codevoid.de 70 i- NetWMWindowTypeDialog, NetClientList, NetLast }; /* EWMH atoms */ Err codevoid.de 70 i+ NetSystemTray, NetSystemTrayOP, NetSystemTrayOrientation, Err codevoid.de 70 i+ NetSystemTrayOrientationHorz, NetWMFullscreen, NetActiveWindow, Err codevoid.de 70 i+ NetWMWindowType, NetWMWindowTypeDialog, NetClientList, NetLast }; /* EWMH atoms */ Err codevoid.de 70 i enum { Manager, Xembed, XembedInfo, XLast }; /* Xembed atoms */ Err codevoid.de 70 i enum { WMProtocols, WMDelete, WMState, WMTakeFocus, WMLast }; /* default atoms */ Err codevoid.de 70 i enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, Err codevoid.de 70 i- ClkClientWin, ClkRootWin, ClkLast }; /* clicks */ Err codevoid.de 70 i+ ClkClientWin, ClkRootWin, ClkLast }; /* clicks */ Err codevoid.de 70 i Err codevoid.de 70 i typedef union { Err codevoid.de 70 i int i; Err codevoid.de 70 it@@ -336,8 +336,7 @@ static unsigned int scratchtag = 1 << LENGTH(tags); Err codevoid.de 70 i struct NumTags { char limitexceeded[LENGTH(tags) > 31 ? -1 : 1]; }; Err codevoid.de 70 i Err codevoid.de 70 i /* function implementations */ Err codevoid.de 70 i-void Err codevoid.de 70 i-applyrules(Client *c) Err codevoid.de 70 i+void applyrules(Client *c) Err codevoid.de 70 i { Err codevoid.de 70 i const char *class, *instance; Err codevoid.de 70 i unsigned int i; Err codevoid.de 70 it@@ -356,8 +355,8 @@ applyrules(Client *c) Err codevoid.de 70 i for (i = 0; i < LENGTH(rules); i++) { Err codevoid.de 70 i r = &rules[i]; Err codevoid.de 70 i if ((!r->title || strstr(c->name, r->title)) Err codevoid.de 70 i- && (!r->class || strstr(class, r->class)) Err codevoid.de 70 i- && (!r->instance || strstr(instance, r->instance))) Err codevoid.de 70 i+ && (!r->class || strstr(class, r->class)) Err codevoid.de 70 i+ && (!r->instance || strstr(instance, r->instance))) Err codevoid.de 70 i { Err codevoid.de 70 i c->isfloating = r->isfloating; Err codevoid.de 70 i c->neverfocus = r->neverfocus; Err codevoid.de 70 it@@ -374,8 +373,7 @@ applyrules(Client *c) Err codevoid.de 70 i c->tags = c->tags & TAGMASK ? c->tags & TAGMASK : c->mon->tagset[c->mon->seltags]; Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-int Err codevoid.de 70 i-applysizehints(Client *c, int *x, int *y, int *w, int *h, int interact) Err codevoid.de 70 i+int applysizehints(Client *c, int *x, int *y, int *w, int *h, int interact) Err codevoid.de 70 i { Err codevoid.de 70 i int baseismin; Err codevoid.de 70 i Monitor *m = c->mon; Err codevoid.de 70 it@@ -440,8 +438,7 @@ applysizehints(Client *c, int *x, int *y, int *w, int *h, int interact) Err codevoid.de 70 i return *x != c->x || *y != c->y || *w != c->w || *h != c->h; Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-arrange(Monitor *m) Err codevoid.de 70 i+void arrange(Monitor *m) Err codevoid.de 70 i { Err codevoid.de 70 i if (m) Err codevoid.de 70 i showhide(m->stack); Err codevoid.de 70 it@@ -454,30 +451,26 @@ arrange(Monitor *m) Err codevoid.de 70 i arrangemon(m); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-arrangemon(Monitor *m) Err codevoid.de 70 i+void arrangemon(Monitor *m) Err codevoid.de 70 i { Err codevoid.de 70 i strncpy(m->ltsymbol, m->lt[m->sellt]->symbol, sizeof m->ltsymbol); Err codevoid.de 70 i if (m->lt[m->sellt]->arrange) Err codevoid.de 70 i m->lt[m->sellt]->arrange(m); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-attach(Client *c) Err codevoid.de 70 i+void attach(Client *c) Err codevoid.de 70 i { Err codevoid.de 70 i c->next = c->mon->clients; Err codevoid.de 70 i c->mon->clients = c; Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-attachstack(Client *c) Err codevoid.de 70 i+void attachstack(Client *c) Err codevoid.de 70 i { Err codevoid.de 70 i c->snext = c->mon->stack; Err codevoid.de 70 i c->mon->stack = c; Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-buttonpress(XEvent *e) Err codevoid.de 70 i+void buttonpress(XEvent *e) Err codevoid.de 70 i { Err codevoid.de 70 i unsigned int i, x, click; Err codevoid.de 70 i Arg arg = {0}; Err codevoid.de 70 it@@ -514,12 +507,11 @@ buttonpress(XEvent *e) Err codevoid.de 70 i } Err codevoid.de 70 i for (i = 0; i < LENGTH(buttons); i++) Err codevoid.de 70 i if (click == buttons[i].click && buttons[i].func && buttons[i].button == ev->button Err codevoid.de 70 i- && CLEANMASK(buttons[i].mask) == CLEANMASK(ev->state)) Err codevoid.de 70 i+ && CLEANMASK(buttons[i].mask) == CLEANMASK(ev->state)) Err codevoid.de 70 i buttons[i].func(click == ClkTagBar && buttons[i].arg.i == 0 ? &arg : &buttons[i].arg); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-checkotherwm(void) Err codevoid.de 70 i+void checkotherwm(void) Err codevoid.de 70 i { Err codevoid.de 70 i xerrorxlib = XSetErrorHandler(xerrorstart); Err codevoid.de 70 i /* this causes an error if some other window manager is running */ Err codevoid.de 70 it@@ -529,8 +521,7 @@ checkotherwm(void) Err codevoid.de 70 i XSync(dpy, False); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-cleanup(void) Err codevoid.de 70 i+void cleanup(void) Err codevoid.de 70 i { Err codevoid.de 70 i Arg a = {.ui = ~0}; Err codevoid.de 70 i Layout foo = { "", NULL }; Err codevoid.de 70 it@@ -563,8 +554,7 @@ cleanup(void) Err codevoid.de 70 i XDeleteProperty(dpy, root, netatom[NetActiveWindow]); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-cleanupmon(Monitor *mon) Err codevoid.de 70 i+void cleanupmon(Monitor *mon) Err codevoid.de 70 i { Err codevoid.de 70 i Monitor *m; Err codevoid.de 70 i Err codevoid.de 70 it@@ -579,8 +569,7 @@ cleanupmon(Monitor *mon) Err codevoid.de 70 i free(mon); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-clientmessage(XEvent *e) Err codevoid.de 70 i+void clientmessage(XEvent *e) Err codevoid.de 70 i { Err codevoid.de 70 i XWindowAttributes wa; Err codevoid.de 70 i XSetWindowAttributes swa; Err codevoid.de 70 it@@ -632,17 +621,16 @@ clientmessage(XEvent *e) Err codevoid.de 70 i return; Err codevoid.de 70 i if (cme->message_type == netatom[NetWMState]) { Err codevoid.de 70 i if (cme->data.l[1] == netatom[NetWMFullscreen] Err codevoid.de 70 i- || cme->data.l[2] == netatom[NetWMFullscreen]) Err codevoid.de 70 i+ || cme->data.l[2] == netatom[NetWMFullscreen]) Err codevoid.de 70 i setfullscreen(c, (cme->data.l[0] == 1 /* _NET_WM_STATE_ADD */ Err codevoid.de 70 i- || (cme->data.l[0] == 2 /* _NET_WM_STATE_TOGGLE */ && !c->isfullscreen))); Err codevoid.de 70 i+ || (cme->data.l[0] == 2 /* _NET_WM_STATE_TOGGLE */ && !c->isfullscreen))); Err codevoid.de 70 i } else if (cme->message_type == netatom[NetActiveWindow]) { Err codevoid.de 70 i if (c != selmon->sel && !c->isurgent) Err codevoid.de 70 i seturgent(c, 1); Err codevoid.de 70 i } Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-configure(Client *c) Err codevoid.de 70 i+void configure(Client *c) Err codevoid.de 70 i { Err codevoid.de 70 i XConfigureEvent ce; Err codevoid.de 70 i Err codevoid.de 70 it@@ -660,8 +648,7 @@ configure(Client *c) Err codevoid.de 70 i XSendEvent(dpy, c->win, False, StructureNotifyMask, (XEvent *)&ce); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-configurenotify(XEvent *e) Err codevoid.de 70 i+void configurenotify(XEvent *e) Err codevoid.de 70 i { Err codevoid.de 70 i Monitor *m; Err codevoid.de 70 i Client *c; Err codevoid.de 70 it@@ -690,8 +677,7 @@ configurenotify(XEvent *e) Err codevoid.de 70 i } Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-configurerequest(XEvent *e) Err codevoid.de 70 i+void configurerequest(XEvent *e) Err codevoid.de 70 i { Err codevoid.de 70 i Client *c; Err codevoid.de 70 i Monitor *m; Err codevoid.de 70 it@@ -742,8 +728,7 @@ configurerequest(XEvent *e) Err codevoid.de 70 i XSync(dpy, False); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-Monitor * Err codevoid.de 70 i-createmon(void) Err codevoid.de 70 i+Monitor * createmon(void) Err codevoid.de 70 i { Err codevoid.de 70 i Monitor *m; Err codevoid.de 70 i int i; Err codevoid.de 70 it@@ -778,8 +763,7 @@ createmon(void) Err codevoid.de 70 i return m; Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-destroynotify(XEvent *e) Err codevoid.de 70 i+void destroynotify(XEvent *e) Err codevoid.de 70 i { Err codevoid.de 70 i Client *c; Err codevoid.de 70 i XDestroyWindowEvent *ev = &e->xdestroywindow; Err codevoid.de 70 it@@ -793,8 +777,7 @@ destroynotify(XEvent *e) Err codevoid.de 70 i } Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-detach(Client *c) Err codevoid.de 70 i+void detach(Client *c) Err codevoid.de 70 i { Err codevoid.de 70 i Client **tc; Err codevoid.de 70 i Err codevoid.de 70 it@@ -802,8 +785,7 @@ detach(Client *c) Err codevoid.de 70 i *tc = c->next; Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-detachstack(Client *c) Err codevoid.de 70 i+void detachstack(Client *c) Err codevoid.de 70 i { Err codevoid.de 70 i Client **tc, *t; Err codevoid.de 70 i Err codevoid.de 70 it@@ -816,8 +798,7 @@ detachstack(Client *c) Err codevoid.de 70 i } Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-Monitor * Err codevoid.de 70 i-dirtomon(int dir) Err codevoid.de 70 i+Monitor * dirtomon(int dir) Err codevoid.de 70 i { Err codevoid.de 70 i Monitor *m = NULL; Err codevoid.de 70 i Err codevoid.de 70 it@@ -831,8 +812,7 @@ dirtomon(int dir) Err codevoid.de 70 i return m; Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-drawbar(Monitor *m) Err codevoid.de 70 i+void drawbar(Monitor *m) Err codevoid.de 70 i { Err codevoid.de 70 i int x, w, sw = 0, stw = 0; Err codevoid.de 70 i int boxs = drw->fonts->h / 9; Err codevoid.de 70 it@@ -863,8 +843,8 @@ drawbar(Monitor *m) Err codevoid.de 70 i drw_text(drw, x, 0, w, bh, lrpad / 2, tags[i], urg & 1 << i); Err codevoid.de 70 i if (occ & 1 << i) Err codevoid.de 70 i drw_rect(drw, x + boxw - 2, 0, w - boxw, boxw / 2, Err codevoid.de 70 i- m == selmon && selmon->sel && selmon->sel->tags & 1 << i, Err codevoid.de 70 i- urg & 1 << i); Err codevoid.de 70 i+ m == selmon && selmon->sel && selmon->sel->tags & 1 << i, Err codevoid.de 70 i+ urg & 1 << i); Err codevoid.de 70 i x += w; Err codevoid.de 70 i } Err codevoid.de 70 i w = blw = TEXTW(m->ltsymbol); Err codevoid.de 70 it@@ -888,8 +868,7 @@ drawbar(Monitor *m) Err codevoid.de 70 i drw_map(drw, eb.win, 0, 0, mons->ww, bh); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-drawbars(void) Err codevoid.de 70 i+void drawbars(void) Err codevoid.de 70 i { Err codevoid.de 70 i Monitor *m; Err codevoid.de 70 i Err codevoid.de 70 it@@ -897,8 +876,7 @@ drawbars(void) Err codevoid.de 70 i drawbar(m); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-enternotify(XEvent *e) Err codevoid.de 70 i+void enternotify(XEvent *e) Err codevoid.de 70 i { Err codevoid.de 70 i Client *c; Err codevoid.de 70 i Monitor *m; Err codevoid.de 70 it@@ -916,8 +894,7 @@ enternotify(XEvent *e) Err codevoid.de 70 i focus(c); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-expose(XEvent *e) Err codevoid.de 70 i+void expose(XEvent *e) Err codevoid.de 70 i { Err codevoid.de 70 i Monitor *m; Err codevoid.de 70 i XExposeEvent *ev = &e->xexpose; Err codevoid.de 70 it@@ -929,8 +906,7 @@ expose(XEvent *e) Err codevoid.de 70 i } Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-focus(Client *c) Err codevoid.de 70 i+void focus(Client *c) Err codevoid.de 70 i { Err codevoid.de 70 i if (!c || !ISVISIBLE(c)) Err codevoid.de 70 i for (c = selmon->stack; c && !ISVISIBLE(c); c = c->snext); Err codevoid.de 70 it@@ -946,11 +922,9 @@ focus(Client *c) Err codevoid.de 70 i grabbuttons(c, 1); Err codevoid.de 70 i if(c->ismax) { Err codevoid.de 70 i XSetWindowBorder(dpy, c->win, scheme[SchemeNorm][ColBg].pixel); Err codevoid.de 70 i- } else if(c->isfloating) { Err codevoid.de 70 i- XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColFloat].pixel); Err codevoid.de 70 i- } else { Err codevoid.de 70 i+ } else { Err codevoid.de 70 i XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColBorder].pixel); Err codevoid.de 70 i- } Err codevoid.de 70 i+ } Err codevoid.de 70 i setfocus(c); Err codevoid.de 70 i } else { Err codevoid.de 70 i XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); Err codevoid.de 70 it@@ -961,8 +935,7 @@ focus(Client *c) Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i /* there are some broken focus acquiring clients needing extra handling */ Err codevoid.de 70 i-void Err codevoid.de 70 i-focusin(XEvent *e) Err codevoid.de 70 i+void focusin(XEvent *e) Err codevoid.de 70 i { Err codevoid.de 70 i XFocusChangeEvent *ev = &e->xfocus; Err codevoid.de 70 i Err codevoid.de 70 it@@ -970,8 +943,7 @@ focusin(XEvent *e) Err codevoid.de 70 i setfocus(selmon->sel); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-focusmon(const Arg *arg) Err codevoid.de 70 i+void focusmon(const Arg *arg) Err codevoid.de 70 i { Err codevoid.de 70 i Monitor *m; Err codevoid.de 70 i Err codevoid.de 70 it@@ -984,8 +956,7 @@ focusmon(const Arg *arg) Err codevoid.de 70 i focus(NULL); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-focusstack(const Arg *arg) Err codevoid.de 70 i+void focusstack(const Arg *arg) Err codevoid.de 70 i { Err codevoid.de 70 i Client *c = NULL, *i; Err codevoid.de 70 i Err codevoid.de 70 it@@ -1012,8 +983,7 @@ focusstack(const Arg *arg) Err codevoid.de 70 i } Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-Atom Err codevoid.de 70 i-getatomprop(Client *c, Atom prop) Err codevoid.de 70 i+Atom getatomprop(Client *c, Atom prop) Err codevoid.de 70 i { Err codevoid.de 70 i int di; Err codevoid.de 70 i unsigned long dl; Err codevoid.de 70 it@@ -1026,7 +996,7 @@ getatomprop(Client *c, Atom prop) Err codevoid.de 70 i req = xatom[XembedInfo]; Err codevoid.de 70 i Err codevoid.de 70 i if (XGetWindowProperty(dpy, c->win, prop, 0L, sizeof atom, False, req, Err codevoid.de 70 i- &da, &di, &dl, &dl, &p) == Success && p) { Err codevoid.de 70 i+ &da, &di, &dl, &dl, &p) == Success && p) { Err codevoid.de 70 i atom = *(Atom *)p; Err codevoid.de 70 i if (da == xatom[XembedInfo] && dl == 2) Err codevoid.de 70 i atom = ((Atom *)p)[1]; Err codevoid.de 70 it@@ -1035,8 +1005,7 @@ getatomprop(Client *c, Atom prop) Err codevoid.de 70 i return atom; Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-int Err codevoid.de 70 i-getrootptr(int *x, int *y) Err codevoid.de 70 i+int getrootptr(int *x, int *y) Err codevoid.de 70 i { Err codevoid.de 70 i int di; Err codevoid.de 70 i unsigned int dui; Err codevoid.de 70 it@@ -1045,8 +1014,7 @@ getrootptr(int *x, int *y) Err codevoid.de 70 i return XQueryPointer(dpy, root, &dummy, &dummy, x, y, &di, &di, &dui); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-long Err codevoid.de 70 i-getstate(Window w) Err codevoid.de 70 i+long getstate(Window w) Err codevoid.de 70 i { Err codevoid.de 70 i int format; Err codevoid.de 70 i long result = -1; Err codevoid.de 70 it@@ -1055,7 +1023,7 @@ getstate(Window w) Err codevoid.de 70 i Atom real; Err codevoid.de 70 i Err codevoid.de 70 i if (XGetWindowProperty(dpy, w, wmatom[WMState], 0L, 2L, False, wmatom[WMState], Err codevoid.de 70 i- &real, &format, &n, &extra, (unsigned char **)&p) != Success) Err codevoid.de 70 i+ &real, &format, &n, &extra, (unsigned char **)&p) != Success) Err codevoid.de 70 i return -1; Err codevoid.de 70 i if (n != 0) Err codevoid.de 70 i result = *p; Err codevoid.de 70 it@@ -1063,8 +1031,7 @@ getstate(Window w) Err codevoid.de 70 i return result; Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-unsigned int Err codevoid.de 70 i-getsystraywidth() Err codevoid.de 70 i+unsigned int getsystraywidth() Err codevoid.de 70 i { Err codevoid.de 70 i unsigned int w = 0; Err codevoid.de 70 i Client *i; Err codevoid.de 70 it@@ -1073,8 +1040,7 @@ getsystraywidth() Err codevoid.de 70 i return w ? w + systrayspacing : 1; Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-int Err codevoid.de 70 i-gettextprop(Window w, Atom atom, char *text, unsigned int size) Err codevoid.de 70 i+int gettextprop(Window w, Atom atom, char *text, unsigned int size) Err codevoid.de 70 i { Err codevoid.de 70 i char **list = NULL; Err codevoid.de 70 i int n; Err codevoid.de 70 it@@ -1098,8 +1064,7 @@ gettextprop(Window w, Atom atom, char *text, unsigned int size) Err codevoid.de 70 i return 1; Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-grabbuttons(Client *c, int focused) Err codevoid.de 70 i+void grabbuttons(Client *c, int focused) Err codevoid.de 70 i { Err codevoid.de 70 i updatenumlockmask(); Err codevoid.de 70 i { Err codevoid.de 70 it@@ -1108,19 +1073,18 @@ grabbuttons(Client *c, int focused) Err codevoid.de 70 i XUngrabButton(dpy, AnyButton, AnyModifier, c->win); Err codevoid.de 70 i if (!focused) Err codevoid.de 70 i XGrabButton(dpy, AnyButton, AnyModifier, c->win, False, Err codevoid.de 70 i- BUTTONMASK, GrabModeSync, GrabModeSync, None, None); Err codevoid.de 70 i+ BUTTONMASK, GrabModeSync, GrabModeSync, None, None); Err codevoid.de 70 i for (i = 0; i < LENGTH(buttons); i++) Err codevoid.de 70 i if (buttons[i].click == ClkClientWin) Err codevoid.de 70 i for (j = 0; j < LENGTH(modifiers); j++) Err codevoid.de 70 i XGrabButton(dpy, buttons[i].button, Err codevoid.de 70 i- buttons[i].mask | modifiers[j], Err codevoid.de 70 i- c->win, False, BUTTONMASK, Err codevoid.de 70 i- GrabModeAsync, GrabModeSync, None, None); Err codevoid.de 70 i+ buttons[i].mask | modifiers[j], Err codevoid.de 70 i+ c->win, False, BUTTONMASK, Err codevoid.de 70 i+ GrabModeAsync, GrabModeSync, None, None); Err codevoid.de 70 i } Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-grabkeys(void) Err codevoid.de 70 i+void grabkeys(void) Err codevoid.de 70 i { Err codevoid.de 70 i updatenumlockmask(); Err codevoid.de 70 i { Err codevoid.de 70 it@@ -1133,31 +1097,29 @@ grabkeys(void) Err codevoid.de 70 i if ((code = XKeysymToKeycode(dpy, keys[i].keysym))) Err codevoid.de 70 i for (j = 0; j < LENGTH(modifiers); j++) Err codevoid.de 70 i XGrabKey(dpy, code, keys[i].mod | modifiers[j], root, Err codevoid.de 70 i- True, GrabModeAsync, GrabModeAsync); Err codevoid.de 70 i+ True, GrabModeAsync, GrabModeAsync); Err codevoid.de 70 i } Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-incnmaster(const Arg *arg) Err codevoid.de 70 i+void incnmaster(const Arg *arg) Err codevoid.de 70 i { Err codevoid.de 70 i selmon->nmaster = MAX(selmon->nmaster + arg->i, 0); Err codevoid.de 70 i arrange(selmon); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i #ifdef XINERAMA Err codevoid.de 70 i-static int Err codevoid.de 70 i+ static int Err codevoid.de 70 i isuniquegeom(XineramaScreenInfo *unique, size_t n, XineramaScreenInfo *info) Err codevoid.de 70 i { Err codevoid.de 70 i while (n--) Err codevoid.de 70 i if (unique[n].x_org == info->x_org && unique[n].y_org == info->y_org Err codevoid.de 70 i- && unique[n].width == info->width && unique[n].height == info->height) Err codevoid.de 70 i+ && unique[n].width == info->width && unique[n].height == info->height) Err codevoid.de 70 i return 0; Err codevoid.de 70 i return 1; Err codevoid.de 70 i } Err codevoid.de 70 i #endif /* XINERAMA */ Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-keypress(XEvent *e) Err codevoid.de 70 i+void keypress(XEvent *e) Err codevoid.de 70 i { Err codevoid.de 70 i unsigned int i; Err codevoid.de 70 i KeySym keysym; Err codevoid.de 70 it@@ -1167,13 +1129,12 @@ keypress(XEvent *e) Err codevoid.de 70 i keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0); Err codevoid.de 70 i for (i = 0; i < LENGTH(keys); i++) Err codevoid.de 70 i if (keysym == keys[i].keysym Err codevoid.de 70 i- && CLEANMASK(keys[i].mod) == CLEANMASK(ev->state) Err codevoid.de 70 i- && keys[i].func) Err codevoid.de 70 i+ && CLEANMASK(keys[i].mod) == CLEANMASK(ev->state) Err codevoid.de 70 i+ && keys[i].func) Err codevoid.de 70 i keys[i].func(&(keys[i].arg)); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-killclient(const Arg *arg) Err codevoid.de 70 i+void killclient(const Arg *arg) Err codevoid.de 70 i { Err codevoid.de 70 i if (!selmon->sel) Err codevoid.de 70 i return; Err codevoid.de 70 it@@ -1188,8 +1149,7 @@ killclient(const Arg *arg) Err codevoid.de 70 i } Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-manage(Window w, XWindowAttributes *wa) Err codevoid.de 70 i+void manage(Window w, XWindowAttributes *wa) Err codevoid.de 70 i { Err codevoid.de 70 i Client *c, *t = NULL; Err codevoid.de 70 i Window trans = None; Err codevoid.de 70 it@@ -1220,7 +1180,7 @@ manage(Window w, XWindowAttributes *wa) Err codevoid.de 70 i c->x = MAX(c->x, c->mon->mx); Err codevoid.de 70 i /* only fix client y-offset, if the client center might cover the bar */ Err codevoid.de 70 i c->y = MAX(c->y, ((c->mon->by == c->mon->my) && (c->x + (c->w / 2) >= c->mon->wx) Err codevoid.de 70 i- && (c->x + (c->w / 2) < c->mon->wx + c->mon->ww)) ? bh : c->mon->my); Err codevoid.de 70 i+ && (c->x + (c->w / 2) < c->mon->wx + c->mon->ww)) ? bh : c->mon->my); Err codevoid.de 70 i c->bw = borderpx; Err codevoid.de 70 i Err codevoid.de 70 i if (!strcmp(c->name, scratchpadname)) { Err codevoid.de 70 it@@ -1234,11 +1194,9 @@ manage(Window w, XWindowAttributes *wa) Err codevoid.de 70 i XConfigureWindow(dpy, w, CWBorderWidth, &wc); Err codevoid.de 70 i if(c->ismax) { Err codevoid.de 70 i XSetWindowBorder(dpy, c->win, scheme[SchemeNorm][ColBg].pixel); Err codevoid.de 70 i- } else if(c->isfloating) { Err codevoid.de 70 i- XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColFloat].pixel); Err codevoid.de 70 i- } else { Err codevoid.de 70 i+ } else { Err codevoid.de 70 i XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColBorder].pixel); Err codevoid.de 70 i- } Err codevoid.de 70 i+ } Err codevoid.de 70 i configure(c); /* propagates border_width, if size doesn't change */ Err codevoid.de 70 i updatewindowtype(c); Err codevoid.de 70 i updatesizehints(c); Err codevoid.de 70 it@@ -1251,15 +1209,13 @@ manage(Window w, XWindowAttributes *wa) Err codevoid.de 70 i XRaiseWindow(dpy, c->win); Err codevoid.de 70 i if(c->ismax) { Err codevoid.de 70 i XSetWindowBorder(dpy, c->win, scheme[SchemeNorm][ColBg].pixel); Err codevoid.de 70 i- } else if(c->isfloating) { Err codevoid.de 70 i- XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColFloat].pixel); Err codevoid.de 70 i- } else { Err codevoid.de 70 i+ } else { Err codevoid.de 70 i XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColBorder].pixel); Err codevoid.de 70 i- } Err codevoid.de 70 i+ } Err codevoid.de 70 i attach(c); Err codevoid.de 70 i attachstack(c); Err codevoid.de 70 i XChangeProperty(dpy, root, netatom[NetClientList], XA_WINDOW, 32, PropModeAppend, Err codevoid.de 70 i- (unsigned char *) &(c->win), 1); Err codevoid.de 70 i+ (unsigned char *) &(c->win), 1); Err codevoid.de 70 i XMoveResizeWindow(dpy, c->win, c->x + 2 * sw, c->y, c->w, c->h); /* some windows require this */ Err codevoid.de 70 i setclientstate(c, NormalState); Err codevoid.de 70 i if (c->mon == selmon) Err codevoid.de 70 it@@ -1270,8 +1226,7 @@ manage(Window w, XWindowAttributes *wa) Err codevoid.de 70 i focus(NULL); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-mappingnotify(XEvent *e) Err codevoid.de 70 i+void mappingnotify(XEvent *e) Err codevoid.de 70 i { Err codevoid.de 70 i XMappingEvent *ev = &e->xmapping; Err codevoid.de 70 i Err codevoid.de 70 it@@ -1280,8 +1235,7 @@ mappingnotify(XEvent *e) Err codevoid.de 70 i grabkeys(); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-maprequest(XEvent *e) Err codevoid.de 70 i+void maprequest(XEvent *e) Err codevoid.de 70 i { Err codevoid.de 70 i static XWindowAttributes wa; Err codevoid.de 70 i XMapRequestEvent *ev = &e->xmaprequest; Err codevoid.de 70 it@@ -1300,8 +1254,7 @@ maprequest(XEvent *e) Err codevoid.de 70 i manage(ev->window, &wa); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-monocle(Monitor *m) Err codevoid.de 70 i+void monocle(Monitor *m) Err codevoid.de 70 i { Err codevoid.de 70 i unsigned int n = 0; Err codevoid.de 70 i Client *c; Err codevoid.de 70 it@@ -1315,8 +1268,7 @@ monocle(Monitor *m) Err codevoid.de 70 i resize(c, m->wx, m->wy, m->ww - 2 * c->bw, m->wh - 2 * c->bw, 0); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-motionnotify(XEvent *e) Err codevoid.de 70 i+void motionnotify(XEvent *e) Err codevoid.de 70 i { Err codevoid.de 70 i static Monitor *mon = NULL; Err codevoid.de 70 i Monitor *m; Err codevoid.de 70 it@@ -1332,8 +1284,7 @@ motionnotify(XEvent *e) Err codevoid.de 70 i mon = m; Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-movemouse(const Arg *arg) Err codevoid.de 70 i+void movemouse(const Arg *arg) Err codevoid.de 70 i { Err codevoid.de 70 i int x, y, ocx, ocy, nx, ny; Err codevoid.de 70 i Client *c; Err codevoid.de 70 it@@ -1349,39 +1300,39 @@ movemouse(const Arg *arg) Err codevoid.de 70 i ocx = c->x; Err codevoid.de 70 i ocy = c->y; Err codevoid.de 70 i if (XGrabPointer(dpy, root, False, MOUSEMASK, GrabModeAsync, GrabModeAsync, Err codevoid.de 70 i- None, cursor[CurMove]->cursor, CurrentTime) != GrabSuccess) Err codevoid.de 70 i+ None, cursor[CurMove]->cursor, CurrentTime) != GrabSuccess) Err codevoid.de 70 i return; Err codevoid.de 70 i if (!getrootptr(&x, &y)) Err codevoid.de 70 i return; Err codevoid.de 70 i do { Err codevoid.de 70 i XMaskEvent(dpy, MOUSEMASK|ExposureMask|SubstructureRedirectMask, &ev); Err codevoid.de 70 i switch(ev.type) { Err codevoid.de 70 i- case ConfigureRequest: Err codevoid.de 70 i- case Expose: Err codevoid.de 70 i- case MapRequest: Err codevoid.de 70 i- handler[ev.type](&ev); Err codevoid.de 70 i- break; Err codevoid.de 70 i- case MotionNotify: Err codevoid.de 70 i- if ((ev.xmotion.time - lasttime) <= (1000 / 60)) Err codevoid.de 70 i- continue; Err codevoid.de 70 i- lasttime = ev.xmotion.time; Err codevoid.de 70 i- Err codevoid.de 70 i- nx = ocx + (ev.xmotion.x - x); Err codevoid.de 70 i- ny = ocy + (ev.xmotion.y - y); Err codevoid.de 70 i- if (abs(selmon->wx - nx) < snap) Err codevoid.de 70 i- nx = selmon->wx; Err codevoid.de 70 i- else if (abs((selmon->wx + selmon->ww) - (nx + WIDTH(c))) < snap) Err codevoid.de 70 i- nx = selmon->wx + selmon->ww - WIDTH(c); Err codevoid.de 70 i- if (abs(selmon->wy - ny) < snap) Err codevoid.de 70 i- ny = selmon->wy; Err codevoid.de 70 i- else if (abs((selmon->wy + selmon->wh) - (ny + HEIGHT(c))) < snap) Err codevoid.de 70 i- ny = selmon->wy + selmon->wh - HEIGHT(c); Err codevoid.de 70 i- if (!c->isfloating && selmon->lt[selmon->sellt]->arrange Err codevoid.de 70 i- && (abs(nx - c->x) > snap || abs(ny - c->y) > snap)) Err codevoid.de 70 i- togglefloating(NULL); Err codevoid.de 70 i- if (!selmon->lt[selmon->sellt]->arrange || c->isfloating) Err codevoid.de 70 i- resize(c, nx, ny, c->w, c->h, 1); Err codevoid.de 70 i- break; Err codevoid.de 70 i+ case ConfigureRequest: Err codevoid.de 70 i+ case Expose: Err codevoid.de 70 i+ case MapRequest: Err codevoid.de 70 i+ handler[ev.type](&ev); Err codevoid.de 70 i+ break; Err codevoid.de 70 i+ case MotionNotify: Err codevoid.de 70 i+ if ((ev.xmotion.time - lasttime) <= (1000 / 60)) Err codevoid.de 70 i+ continue; Err codevoid.de 70 i+ lasttime = ev.xmotion.time; Err codevoid.de 70 i+ Err codevoid.de 70 i+ nx = ocx + (ev.xmotion.x - x); Err codevoid.de 70 i+ ny = ocy + (ev.xmotion.y - y); Err codevoid.de 70 i+ if (abs(selmon->wx - nx) < snap) Err codevoid.de 70 i+ nx = selmon->wx; Err codevoid.de 70 i+ else if (abs((selmon->wx + selmon->ww) - (nx + WIDTH(c))) < snap) Err codevoid.de 70 i+ nx = selmon->wx + selmon->ww - WIDTH(c); Err codevoid.de 70 i+ if (abs(selmon->wy - ny) < snap) Err codevoid.de 70 i+ ny = selmon->wy; Err codevoid.de 70 i+ else if (abs((selmon->wy + selmon->wh) - (ny + HEIGHT(c))) < snap) Err codevoid.de 70 i+ ny = selmon->wy + selmon->wh - HEIGHT(c); Err codevoid.de 70 i+ if (!c->isfloating && selmon->lt[selmon->sellt]->arrange Err codevoid.de 70 i+ && (abs(nx - c->x) > snap || abs(ny - c->y) > snap)) Err codevoid.de 70 i+ togglefloating(NULL); Err codevoid.de 70 i+ if (!selmon->lt[selmon->sellt]->arrange || c->isfloating) Err codevoid.de 70 i+ resize(c, nx, ny, c->w, c->h, 1); Err codevoid.de 70 i+ break; Err codevoid.de 70 i } Err codevoid.de 70 i } while (ev.type != ButtonRelease); Err codevoid.de 70 i XUngrabPointer(dpy, CurrentTime); Err codevoid.de 70 it@@ -1392,15 +1343,13 @@ movemouse(const Arg *arg) Err codevoid.de 70 i } Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-Client * Err codevoid.de 70 i-nexttiled(Client *c) Err codevoid.de 70 i+Client * nexttiled(Client *c) Err codevoid.de 70 i { Err codevoid.de 70 i for (; c && (c->isfloating || !ISVISIBLE(c)); c = c->next); Err codevoid.de 70 i return c; Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-pop(Client *c) Err codevoid.de 70 i+void pop(Client *c) Err codevoid.de 70 i { Err codevoid.de 70 i detach(c); Err codevoid.de 70 i attach(c); Err codevoid.de 70 it@@ -1408,8 +1357,7 @@ pop(Client *c) Err codevoid.de 70 i arrange(c->mon); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-propertynotify(XEvent *e) Err codevoid.de 70 i+void propertynotify(XEvent *e) Err codevoid.de 70 i { Err codevoid.de 70 i Client *c; Err codevoid.de 70 i Window trans; Err codevoid.de 70 it@@ -1431,19 +1379,19 @@ propertynotify(XEvent *e) Err codevoid.de 70 i return; /* ignore */ Err codevoid.de 70 i else if ((c = wintoclient(ev->window))) { Err codevoid.de 70 i switch(ev->atom) { Err codevoid.de 70 i- default: break; Err codevoid.de 70 i- case XA_WM_TRANSIENT_FOR: Err codevoid.de 70 i- if (!c->isfloating && (XGetTransientForHint(dpy, c->win, &trans)) && Err codevoid.de 70 i- (c->isfloating = (wintoclient(trans)) != NULL)) Err codevoid.de 70 i- arrange(c->mon); Err codevoid.de 70 i- break; Err codevoid.de 70 i- case XA_WM_NORMAL_HINTS: Err codevoid.de 70 i- updatesizehints(c); Err codevoid.de 70 i- break; Err codevoid.de 70 i- case XA_WM_HINTS: Err codevoid.de 70 i- updatewmhints(c); Err codevoid.de 70 i- drawbars(); Err codevoid.de 70 i- break; Err codevoid.de 70 i+ default: break; Err codevoid.de 70 i+ case XA_WM_TRANSIENT_FOR: Err codevoid.de 70 i+ if (!c->isfloating && (XGetTransientForHint(dpy, c->win, &trans)) && Err codevoid.de 70 i+ (c->isfloating = (wintoclient(trans)) != NULL)) Err codevoid.de 70 i+ arrange(c->mon); Err codevoid.de 70 i+ break; Err codevoid.de 70 i+ case XA_WM_NORMAL_HINTS: Err codevoid.de 70 i+ updatesizehints(c); Err codevoid.de 70 i+ break; Err codevoid.de 70 i+ case XA_WM_HINTS: Err codevoid.de 70 i+ updatewmhints(c); Err codevoid.de 70 i+ drawbars(); Err codevoid.de 70 i+ break; Err codevoid.de 70 i } Err codevoid.de 70 i if (ev->atom == XA_WM_NAME || ev->atom == netatom[NetWMName]) { Err codevoid.de 70 i updatetitle(c); Err codevoid.de 70 it@@ -1455,14 +1403,12 @@ propertynotify(XEvent *e) Err codevoid.de 70 i } Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-quit(const Arg *arg) Err codevoid.de 70 i+void quit(const Arg *arg) Err codevoid.de 70 i { Err codevoid.de 70 i running = 0; Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-Monitor * Err codevoid.de 70 i-recttomon(int x, int y, int w, int h) Err codevoid.de 70 i+Monitor * recttomon(int x, int y, int w, int h) Err codevoid.de 70 i { Err codevoid.de 70 i Monitor *m, *r = selmon; Err codevoid.de 70 i int a, area = 0; Err codevoid.de 70 it@@ -1475,8 +1421,7 @@ recttomon(int x, int y, int w, int h) Err codevoid.de 70 i return r; Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-removesystrayicon(Client *i) Err codevoid.de 70 i+void removesystrayicon(Client *i) Err codevoid.de 70 i { Err codevoid.de 70 i Client **ii; Err codevoid.de 70 i Err codevoid.de 70 it@@ -1489,23 +1434,20 @@ removesystrayicon(Client *i) Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-resize(Client *c, int x, int y, int w, int h, int interact) Err codevoid.de 70 i+void resize(Client *c, int x, int y, int w, int h, int interact) Err codevoid.de 70 i { Err codevoid.de 70 i if (applysizehints(c, &x, &y, &w, &h, interact)) Err codevoid.de 70 i resizeclient(c, x, y, w, h); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-resizebarwin(Monitor *m) { Err codevoid.de 70 i+void resizebarwin(Monitor *m) { Err codevoid.de 70 i unsigned int w = m->ww; Err codevoid.de 70 i if (showsystray && m == systraytomon(m)) Err codevoid.de 70 i w -= getsystraywidth(); Err codevoid.de 70 i XMoveResizeWindow(dpy, m->barwin, m->wx, m->by, w, bh); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-resizeclient(Client *c, int x, int y, int w, int h) Err codevoid.de 70 i+void resizeclient(Client *c, int x, int y, int w, int h) Err codevoid.de 70 i { Err codevoid.de 70 i XWindowChanges wc; Err codevoid.de 70 i Err codevoid.de 70 it@@ -1519,8 +1461,7 @@ resizeclient(Client *c, int x, int y, int w, int h) Err codevoid.de 70 i XSync(dpy, False); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-resizemouse(const Arg *arg) Err codevoid.de 70 i+void resizemouse(const Arg *arg) Err codevoid.de 70 i { Err codevoid.de 70 i int ocx, ocy, nw, nh; Err codevoid.de 70 i Client *c; Err codevoid.de 70 it@@ -1536,34 +1477,34 @@ resizemouse(const Arg *arg) Err codevoid.de 70 i ocx = c->x; Err codevoid.de 70 i ocy = c->y; Err codevoid.de 70 i if (XGrabPointer(dpy, root, False, MOUSEMASK, GrabModeAsync, GrabModeAsync, Err codevoid.de 70 i- None, cursor[CurResize]->cursor, CurrentTime) != GrabSuccess) Err codevoid.de 70 i+ None, cursor[CurResize]->cursor, CurrentTime) != GrabSuccess) Err codevoid.de 70 i return; Err codevoid.de 70 i XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1); Err codevoid.de 70 i do { Err codevoid.de 70 i XMaskEvent(dpy, MOUSEMASK|ExposureMask|SubstructureRedirectMask, &ev); Err codevoid.de 70 i switch(ev.type) { Err codevoid.de 70 i- case ConfigureRequest: Err codevoid.de 70 i- case Expose: Err codevoid.de 70 i- case MapRequest: Err codevoid.de 70 i- handler[ev.type](&ev); Err codevoid.de 70 i- break; Err codevoid.de 70 i- case MotionNotify: Err codevoid.de 70 i- if ((ev.xmotion.time - lasttime) <= (1000 / 60)) Err codevoid.de 70 i- continue; Err codevoid.de 70 i- lasttime = ev.xmotion.time; Err codevoid.de 70 i- Err codevoid.de 70 i- nw = MAX(ev.xmotion.x - ocx - 2 * c->bw + 1, 1); Err codevoid.de 70 i- nh = MAX(ev.xmotion.y - ocy - 2 * c->bw + 1, 1); Err codevoid.de 70 i- if (c->mon->wx + nw >= selmon->wx && c->mon->wx + nw <= selmon->wx + selmon->ww Err codevoid.de 70 i- && c->mon->wy + nh >= selmon->wy && c->mon->wy + nh <= selmon->wy + selmon->wh) Err codevoid.de 70 i- { Err codevoid.de 70 i- if (!c->isfloating && selmon->lt[selmon->sellt]->arrange Err codevoid.de 70 i- && (abs(nw - c->w) > snap || abs(nh - c->h) > snap)) Err codevoid.de 70 i- togglefloating(NULL); Err codevoid.de 70 i- } Err codevoid.de 70 i- if (!selmon->lt[selmon->sellt]->arrange || c->isfloating) Err codevoid.de 70 i- resize(c, c->x, c->y, nw, nh, 1); Err codevoid.de 70 i- break; Err codevoid.de 70 i+ case ConfigureRequest: Err codevoid.de 70 i+ case Expose: Err codevoid.de 70 i+ case MapRequest: Err codevoid.de 70 i+ handler[ev.type](&ev); Err codevoid.de 70 i+ break; Err codevoid.de 70 i+ case MotionNotify: Err codevoid.de 70 i+ if ((ev.xmotion.time - lasttime) <= (1000 / 60)) Err codevoid.de 70 i+ continue; Err codevoid.de 70 i+ lasttime = ev.xmotion.time; Err codevoid.de 70 i+ Err codevoid.de 70 i+ nw = MAX(ev.xmotion.x - ocx - 2 * c->bw + 1, 1); Err codevoid.de 70 i+ nh = MAX(ev.xmotion.y - ocy - 2 * c->bw + 1, 1); Err codevoid.de 70 i+ if (c->mon->wx + nw >= selmon->wx && c->mon->wx + nw <= selmon->wx + selmon->ww Err codevoid.de 70 i+ && c->mon->wy + nh >= selmon->wy && c->mon->wy + nh <= selmon->wy + selmon->wh) Err codevoid.de 70 i+ { Err codevoid.de 70 i+ if (!c->isfloating && selmon->lt[selmon->sellt]->arrange Err codevoid.de 70 i+ && (abs(nw - c->w) > snap || abs(nh - c->h) > snap)) Err codevoid.de 70 i+ togglefloating(NULL); Err codevoid.de 70 i+ } Err codevoid.de 70 i+ if (!selmon->lt[selmon->sellt]->arrange || c->isfloating) Err codevoid.de 70 i+ resize(c, c->x, c->y, nw, nh, 1); Err codevoid.de 70 i+ break; Err codevoid.de 70 i } Err codevoid.de 70 i } while (ev.type != ButtonRelease); Err codevoid.de 70 i XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1); Err codevoid.de 70 it@@ -1576,8 +1517,7 @@ resizemouse(const Arg *arg) Err codevoid.de 70 i } Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-resizerequest(XEvent *e) Err codevoid.de 70 i+void resizerequest(XEvent *e) Err codevoid.de 70 i { Err codevoid.de 70 i XResizeRequestEvent *ev = &e->xresizerequest; Err codevoid.de 70 i Client *i; Err codevoid.de 70 it@@ -1589,8 +1529,7 @@ resizerequest(XEvent *e) Err codevoid.de 70 i } Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-restack(Monitor *m) Err codevoid.de 70 i+void restack(Monitor *m) Err codevoid.de 70 i { Err codevoid.de 70 i Client *c; Err codevoid.de 70 i XEvent ev; Err codevoid.de 70 it@@ -1614,8 +1553,7 @@ restack(Monitor *m) Err codevoid.de 70 i while (XCheckMaskEvent(dpy, EnterWindowMask, &ev)); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-run(void) Err codevoid.de 70 i+void run(void) Err codevoid.de 70 i { Err codevoid.de 70 i XEvent ev; Err codevoid.de 70 i /* main event loop */ Err codevoid.de 70 it@@ -1625,8 +1563,7 @@ run(void) Err codevoid.de 70 i handler[ev.type](&ev); /* call handler */ Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-scan(void) Err codevoid.de 70 i+void scan(void) Err codevoid.de 70 i { Err codevoid.de 70 i unsigned int i, num; Err codevoid.de 70 i Window d1, d2, *wins = NULL; Err codevoid.de 70 it@@ -1635,7 +1572,7 @@ scan(void) Err codevoid.de 70 i if (XQueryTree(dpy, root, &d1, &d2, &wins, &num)) { Err codevoid.de 70 i for (i = 0; i < num; i++) { Err codevoid.de 70 i if (!XGetWindowAttributes(dpy, wins[i], &wa) Err codevoid.de 70 i- || wa.override_redirect || XGetTransientForHint(dpy, wins[i], &d1)) Err codevoid.de 70 i+ || wa.override_redirect || XGetTransientForHint(dpy, wins[i], &d1)) Err codevoid.de 70 i continue; Err codevoid.de 70 i if (wa.map_state == IsViewable || getstate(wins[i]) == IconicState) Err codevoid.de 70 i manage(wins[i], &wa); Err codevoid.de 70 it@@ -1644,7 +1581,7 @@ scan(void) Err codevoid.de 70 i if (!XGetWindowAttributes(dpy, wins[i], &wa)) Err codevoid.de 70 i continue; Err codevoid.de 70 i if (XGetTransientForHint(dpy, wins[i], &d1) Err codevoid.de 70 i- && (wa.map_state == IsViewable || getstate(wins[i]) == IconicState)) Err codevoid.de 70 i+ && (wa.map_state == IsViewable || getstate(wins[i]) == IconicState)) Err codevoid.de 70 i manage(wins[i], &wa); Err codevoid.de 70 i } Err codevoid.de 70 i if (wins) Err codevoid.de 70 it@@ -1652,8 +1589,7 @@ scan(void) Err codevoid.de 70 i } Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-sendmon(Client *c, Monitor *m) Err codevoid.de 70 i+void sendmon(Client *c, Monitor *m) Err codevoid.de 70 i { Err codevoid.de 70 i if (c->mon == m) Err codevoid.de 70 i return; Err codevoid.de 70 it@@ -1668,17 +1604,15 @@ sendmon(Client *c, Monitor *m) Err codevoid.de 70 i arrange(NULL); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-setclientstate(Client *c, long state) Err codevoid.de 70 i+void setclientstate(Client *c, long state) Err codevoid.de 70 i { Err codevoid.de 70 i long data[] = { state, None }; Err codevoid.de 70 i Err codevoid.de 70 i XChangeProperty(dpy, c->win, wmatom[WMState], wmatom[WMState], 32, Err codevoid.de 70 i- PropModeReplace, (unsigned char *)data, 2); Err codevoid.de 70 i+ PropModeReplace, (unsigned char *)data, 2); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-int Err codevoid.de 70 i-sendevent(Window w, Atom proto, int mask, long d0, long d1, long d2, long d3, long d4) Err codevoid.de 70 i+int sendevent(Window w, Atom proto, int mask, long d0, long d1, long d2, long d3, long d4) Err codevoid.de 70 i { Err codevoid.de 70 i int n; Err codevoid.de 70 i Atom *protocols, mt; Err codevoid.de 70 it@@ -1712,24 +1646,22 @@ sendevent(Window w, Atom proto, int mask, long d0, long d1, long d2, long d3, lo Err codevoid.de 70 i return exists; Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-void Err codevoid.de 70 i-setfocus(Client *c) Err codevoid.de 70 i+void setfocus(Client *c) Err codevoid.de 70 i { Err codevoid.de 70 i if (!c->neverfocus) { Err codevoid.de 70 i XSetInputFocus Err codevoid.de 70 .