dwm/patch/combo.c

49 lines
862 B
C
Raw Normal View History

2019-09-11 23:35:43 +02:00
static int combo = 0;
#if !HOLDBAR_PATCH
2019-09-11 23:35:43 +02:00
void
keyrelease(XEvent *e)
{
2019-09-11 23:35:43 +02:00
combo = 0;
}
#endif // !HOLDBAR_PATCH
2019-09-11 23:35:43 +02:00
void
combotag(const Arg *arg)
{
if (selmon->sel && arg->ui & TAGMASK) {
#if SWITCHTAG_PATCH
if (selmon->sel->switchtag)
selmon->sel->switchtag = 0;
#endif // SWITCHTAG_PATCH
2019-09-11 23:35:43 +02:00
if (combo) {
selmon->sel->tags |= arg->ui & TAGMASK;
} else {
combo = 1;
selmon->sel->tags = arg->ui & TAGMASK;
}
focus(NULL);
arrange(selmon);
}
}
void
comboview(const Arg *arg)
{
2019-09-11 23:35:43 +02:00
unsigned newtags = arg->ui & TAGMASK;
if (combo) {
selmon->tagset[selmon->seltags] |= newtags;
} else {
selmon->seltags ^= 1; /*toggle tagset*/
combo = 1;
if (newtags) {
#if PERTAG_PATCH
pertagview(&((Arg) { .ui = newtags }));
#else
2019-09-11 23:35:43 +02:00
selmon->tagset[selmon->seltags] = newtags;
#endif // PERTAG_PATCH
}
2019-09-11 23:35:43 +02:00
}
focus(NULL);
arrange(selmon);
}