+/**
+ * TODO
+ * - treat monocle as floating layout, actually otherwise certain monocled windows don't get raised
+ * - use WX, WY, WW, WH for window snapping/resizing/mouse
+ * - MOX, MOY, MOW, MOH should only be used in the case of monocle layout and of n==1 in tiled
+ * - simplify tile()
+ */
/* See LICENSE file for copyright and license details.
*
* dynamic window manager is designed like any other X client as well. It is
int xerrordummy(Display *dpy, XErrorEvent *ee);
int xerrorstart(Display *dpy, XErrorEvent *ee);
void zoom(const char *arg);
-void selectview(const char *arg);
/* variables */
char stext[256], buf[256];
-double mwfact;
int screen, sx, sy, sw, sh;
int (*xerrorxlib)(Display *, XErrorEvent *);
-unsigned int bh, bpos;
-unsigned int blw = 0;
+unsigned int bh, blw = 0;
unsigned int numlockmask = 0;
void (*handler[LASTEvent]) (XEvent *) = {
[ButtonPress] = buttonpress,
Cursor cursor[CurLast];
Display *dpy;
DC dc = {0};
-Layout *lt;
+Layout *lt = NULL;
Window root, barwin;
/* configuration, allows nested code to access above variables */
void
cleanup(void) {
-
close(STDIN_FILENO);
while(stack) {
unban(stack);
XFreeFontSet(dpy, dc.font.set);
else
XFreeFont(dpy, dc.font.xfont);
-
XUngrabKey(dpy, AnyKey, AnyModifier, root);
XFreePixmap(dpy, dc.drawable);
XFreeGC(dpy, dc.gc);