holdbar: toggle bar improvements

This commit is contained in:
bakkeby 2020-06-30 10:15:36 +02:00
parent 347e6ace91
commit 8c07458f11
2 changed files with 11 additions and 5 deletions

8
dwm.c
View File

@ -3526,11 +3526,15 @@ tagmon(const Arg *arg)
void void
togglebar(const Arg *arg) togglebar(const Arg *arg)
{ {
#if PERTAG_PATCH && PERTAGBAR_PATCH #if HOLDBAR_PATCH && PERTAG_PATCH && PERTAGBAR_PATCH
selmon->showbar = selmon->pertag->showbars[selmon->pertag->curtag] = (selmon->showbar == 2 ? 1 : !selmon->showbar);
#elif HOLDBAR_PATCH
selmon->showbar = (selmon->showbar == 2 ? 1 : !selmon->showbar);
#elif PERTAG_PATCH && PERTAGBAR_PATCH
selmon->showbar = selmon->pertag->showbars[selmon->pertag->curtag] = !selmon->showbar; selmon->showbar = selmon->pertag->showbars[selmon->pertag->curtag] = !selmon->showbar;
#else #else
selmon->showbar = !selmon->showbar; selmon->showbar = !selmon->showbar;
#endif // PERTAG_PATCH #endif // HOLDBAR_PATCH | PERTAG_PATCH
updatebarpos(selmon); updatebarpos(selmon);
#if BARPADDING_PATCH #if BARPADDING_PATCH
XMoveResizeWindow(dpy, selmon->barwin, selmon->wx + sp, selmon->by + vp, selmon->ww - 2*sp, bh); XMoveResizeWindow(dpy, selmon->barwin, selmon->wx + sp, selmon->by + vp, selmon->ww - 2*sp, bh);

View File

@ -1,7 +1,9 @@
void void
holdbar(const Arg *arg) holdbar(const Arg *arg)
{ {
selmon->showbar = 1; if (selmon->showbar)
return;
selmon->showbar = 2;
updateholdbarpos(selmon); updateholdbarpos(selmon);
#if BARPADDING_PATCH #if BARPADDING_PATCH
XMoveResizeWindow(dpy, selmon->barwin, selmon->wx + sp, selmon->by + vp, selmon->ww - 2 * sp, bh); XMoveResizeWindow(dpy, selmon->barwin, selmon->wx + sp, selmon->by + vp, selmon->ww - 2 * sp, bh);
@ -30,7 +32,7 @@ keyrelease(XEvent *e)
return; return;
} }
} }
if (e->xkey.keycode == XKeysymToKeycode(dpy, HOLDKEY)) { if (e->xkey.keycode == XKeysymToKeycode(dpy, HOLDKEY) && selmon->showbar == 2) {
selmon->showbar = 0; selmon->showbar = 0;
updateholdbarpos(selmon); updateholdbarpos(selmon);
#if BARPADDING_PATCH #if BARPADDING_PATCH
@ -94,4 +96,4 @@ updateholdbarpos(Monitor *m)
} else } else
m->by = -bh; m->by = -bh;
#endif // EXTRABAR_PATCH #endif // EXTRABAR_PATCH
} }