diff options
| author | bakkeby <[email protected]> | 2020-07-15 09:26:16 +0200 |
|---|---|---|
| committer | bakkeby <[email protected]> | 2020-07-15 09:26:16 +0200 |
| commit | f2da4d20d9a79070863972423ca964cf65342ba7 (patch) | |
| tree | 9bbc68308ada0a1d28c231a822ce4a103cdeb8f7 /patch/bar_holdbar.c | |
| parent | 903b32ac8b4a69b37981874f23b15a9f65f2a20d (diff) | |
| download | dwm-flexipatch-f2da4d20d9a79070863972423ca964cf65342ba7.tar.gz dwm-flexipatch-f2da4d20d9a79070863972423ca964cf65342ba7.zip | |
Further bar renaming
Diffstat (limited to 'patch/bar_holdbar.c')
| -rw-r--r-- | patch/bar_holdbar.c | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/patch/bar_holdbar.c b/patch/bar_holdbar.c new file mode 100644 index 0000000..4be9af1 --- /dev/null +++ b/patch/bar_holdbar.c @@ -0,0 +1,99 @@ +void +holdbar(const Arg *arg) +{ + if (selmon->showbar) + return; + selmon->showbar = 2; + updateholdbarpos(selmon); + #if BAR_PADDING_PATCH + XMoveResizeWindow(dpy, selmon->barwin, selmon->wx + sp, selmon->by + vp, selmon->ww - 2 * sp, bh); + #else + XMoveResizeWindow(dpy, selmon->barwin, selmon->wx, selmon->by, selmon->ww, bh); + #endif // BAR_PADDING_PATCH + #if BAR_EXTRABAR_PATCH + #if BAR_PADDING_PATCH + XMoveResizeWindow(dpy, selmon->extrabarwin, selmon->wx + sp, selmon->eby - vp, selmon->ww - 2 * sp, bh); + #else + XMoveResizeWindow(dpy, selmon->extrabarwin, selmon->wx, selmon->eby, selmon->ww, bh); + #endif // BAR_PADDING_PATCH + #endif // BAR_EXTRABAR_PATCH +} + +void +keyrelease(XEvent *e) +{ + if (XEventsQueued(dpy, QueuedAfterReading)) { + XEvent ne; + XPeekEvent(dpy, &ne); + + if (ne.type == KeyPress && ne.xkey.time == e->xkey.time && + ne.xkey.keycode == e->xkey.keycode) { + XNextEvent(dpy, &ne); + return; + } + } + if (e->xkey.keycode == XKeysymToKeycode(dpy, HOLDKEY) && selmon->showbar == 2) { + selmon->showbar = 0; + updateholdbarpos(selmon); + #if BAR_PADDING_PATCH + XMoveResizeWindow(dpy, selmon->barwin, selmon->wx + sp, selmon->by + vp, selmon->ww - 2 * sp, bh); + #else + XMoveResizeWindow(dpy, selmon->barwin, selmon->wx, selmon->by, selmon->ww, bh); + #endif // BAR_PADDING_PATCH + #if BAR_EXTRABAR_PATCH + #if BAR_PADDING_PATCH + XMoveResizeWindow(dpy, selmon->extrabarwin, selmon->wx + sp, selmon->eby - vp, selmon->ww - 2 * sp, bh); + #else + XMoveResizeWindow(dpy, selmon->extrabarwin, selmon->wx, selmon->eby, selmon->ww, bh); + #endif // BAR_PADDING_PATCH + #endif // BAR_EXTRABAR_PATCH + arrange(selmon); + } + #if COMBO_PATCH + combo = 0; + #endif // COMBO_PATCH +} + +void +updateholdbarpos(Monitor *m) +{ + m->wy = m->my; + m->wh = m->mh; + #if BAR_EXTRABAR_PATCH + #if BAR_PADDING_PATCH + m->wh = m->wh - vertpad * m->showbar * 2 - bh * m->showbar * 2; + m->wy = m->showbar ? m->wy + bh + vertpad: m->wy; + if (m->showbar) { + m->by = m->topbar ? m->wy - bh - vertpad: m->wy + m->wh + vertpad; + m->eby = m->topbar ? m->wy + m->wh + vertpad: m->wy - bh - vertpad; + } else { + m->by = -bh - vertpad; + m->eby = -bh - vertpad; + } + #else + m->wh = m->wh - bh * m->showbar * 2; + m->wy = m->showbar ? m->wy + bh : m->wy; + if (m->showbar) { + m->by = m->topbar ? m->wy - bh : m->wy + m->wh; + m->eby = m->topbar ? m->wy + m->wh : m->wy - bh; + } else { + m->by = -bh; + m->eby = -bh; + } + #endif // BAR_PADDING_PATCH + #elif BAR_PADDING_PATCH + if (m->showbar) { + m->wh = m->wh - vertpad - bh; + m->by = m->topbar ? m->wy : m->wy + m->wh + vertpad; + m->wy = m->topbar ? m->wy + bh + vp : m->wy; + } else + m->by = -bh - vp; + #else + if (m->showbar) { + m->wh -= bh; + m->by = m->topbar ? m->wy : m->wy + m->wh; + m->wy = m->topbar ? m->wy + bh : m->wy; + } else + m->by = -bh; + #endif // BAR_EXTRABAR_PATCH +} |
