/*replace tag and view with combotag and comboview in TAGKEYS in config.h*/ /*put these in the function declarations section*/ static void keyrelease(XEvent *e); static void combotag(const Arg *arg); static void comboview(const Arg *arg); /*add this in the handlers array in the variables section*/ [KeyRelease] = keyrelease, /*put these in with the rest of the functions somewhere*/ static int combo = 0; void keyrelease(XEvent *e) { combo = 0; } void combotag(const Arg *arg) { if(selmon->sel && arg->ui & TAGMASK) { if (combo) { selmon->sel->tags |= arg->ui & TAGMASK; } else { combo = 1; selmon->sel->tags = arg->ui & TAGMASK; } arrange(selmon); } } void comboview(const Arg *arg) { unsigned int newtags = arg->ui & TAGMASK; if(!newtags || newtags == selmon->tagset[selmon->seltags]) return; if (combo) { selmon->tagset[selmon->seltags] |= newtags; } else { combo = 1; selmon->tagset[selmon->seltags] = newtags; } arrange(selmon); }