static Cursor cursor[CurLast];
static Display *dpy;
static DC dc = {0};
+static Layout *lt = NULL;
static Window root, barwin;
-
/* configuration, allows nested code to access above variables */
#include "config.h"
-static Layout *lt = layouts;
-
/* compile-time check if all tags fit into an uint bit array. */
struct NumTags { char limitexceeded[sizeof(uint) * 8 < LENGTH(tags) ? -1 : 1]; };
}
}
if(ev->x < x + blw) {
- if(ev->button == Button1)
+ if(ev->button == Button1)
togglelayout(NULL);
- else if(ev->button == Button3)
+ else if(ev->button == Button3)
togglemax(NULL);
}
}
void
cleanup(void) {
Arg a = {.i = ~0};
+ Layout foo = { "", NULL };
+
close(STDIN_FILENO);
view(&a);
+ lt = &foo;
while(stack)
unmanage(stack);
if(dc.font.set)
for(i = clients; i != sel; i = i->next)
if (!i->isbanned)
c = i;
- if(!c)
+ if(!c)
for(; i; i = i->next)
if (!i->isbanned)
c = i;
sw = DisplayWidth(dpy, screen);
sh = DisplayHeight(dpy, screen);
bh = dc.font.height + 2;
+ lt = layouts;
updategeom();
/* init atoms */
void
togglelayout(const Arg *arg) {
- if(++lt == &layouts[LENGTH(layouts)])
+ if(arg && arg->v)
+ lt = (Layout *)arg->v;
+ else if(++lt == &layouts[LENGTH(layouts)])
lt = &layouts[0];
if(sel)
arrange();