Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- barwinwidth patch for dwm 5.9
- Make barwin span the whole width of screen, instead of window area.
- Basically, replace:
- m->ww with m->mw
- m->wx with m->mx
- This is done so padding the "window area" does not affect barwin.
- diff -up a/dwm.c b/dwm.c
- --- a/dwm.c 2011-08-29 12:00:00.00 +0000
- +++ b/dwm.c 2011-08-29 12:00:00.00 +0000
- @@ -442,7 +442,7 @@ buttonpress(XEvent *e) {
- }
- else if(ev->x < x + blw)
- click = ClkLtSymbol;
- - else if(ev->x > selmon->ww - TEXTW(stext))
- + else if(ev->x > selmon->mw - TEXTW(stext))
- click = ClkStatusText;
- else
- click = ClkWinTitle;
- @@ -597,7 +597,7 @@ configurenotify(XEvent *e) {
- dc.drawable = XCreatePixmap(dpy, root, sw, bh, DefaultDepth(dpy, screen));
- updatebars();
- for(m = mons; m; m = m->next)
- - XMoveResizeWindow(dpy, m->barwin, m->wx, m->by, m->ww, bh);
- + XMoveResizeWindow(dpy, m->barwin, m->mx, m->by, m->mw, bh);
- arrange(NULL);
- }
- }
- @@ -748,15 +748,15 @@ drawbar(Monitor *m) {
- x = dc.x;
- if(m == selmon) { /* status is only drawn on selected monitor */
- dc.w = TEXTW(stext);
- - dc.x = m->ww - dc.w;
- + dc.x = m->mw - dc.w;
- if(dc.x < x) {
- dc.x = x;
- - dc.w = m->ww - x;
- + dc.w = m->mw - x;
- }
- drawtext(stext, dc.norm, False);
- }
- else
- - dc.x = m->ww;
- + dc.x = m->mw;
- if((dc.w = dc.x - x) > bh) {
- dc.x = x;
- if(m->sel) {
- @@ -767,7 +767,7 @@ drawbar(Monitor *m) {
- else
- drawtext(NULL, dc.norm, False);
- }
- - XCopyArea(dpy, dc.drawable, m->barwin, dc.gc, 0, 0, m->ww, bh, 0, 0);
- + XCopyArea(dpy, dc.drawable, m->barwin, dc.gc, 0, 0, m->mw, bh, 0, 0);
- XSync(dpy, False);
- }
- @@ -1131,8 +1131,8 @@ manage(Window w, XWindowAttributes *wa)
- c->y = c->mon->my + c->mon->mh - HEIGHT(c);
- c->x = MAX(c->x, c->mon->mx);
- /* only fix client y-offset, if the client center might cover the bar */
- - c->y = MAX(c->y, ((c->mon->by == 0) && (c->x + (c->w / 2) >= c->mon->wx)
- - && (c->x + (c->w / 2) < c->mon->wx + c->mon->ww)) ? bh : c->mon->my);
- + c->y = MAX(c->y, ((c->mon->by == 0) && (c->x + (c->w / 2) >= c->mon->mx)
- + && (c->x + (c->w / 2) < c->mon->mx + c->mon->mw)) ? bh : c->mon->my);
- c->bw = borderpx;
- }
- wc.border_width = c->bw;
- @@ -1673,7 +1673,7 @@ void
- togglebar(const Arg *arg) {
- selmon->showbar = !selmon->showbar;
- updatebarpos(selmon);
- - XMoveResizeWindow(dpy, selmon->barwin, selmon->wx, selmon->by, selmon->ww, bh);
- + XMoveResizeWindow(dpy, selmon->barwin, selmon->mx, selmon->by, selmon->mw, bh);
- arrange(selmon);
- }
- @@ -1763,7 +1763,7 @@ updatebars(void) {
- .event_mask = ButtonPressMask|ExposureMask
- };
- for(m = mons; m; m = m->next) {
- - m->barwin = XCreateWindow(dpy, root, m->wx, m->by, m->ww, bh, 0, DefaultDepth(dpy, screen),
- + m->barwin = XCreateWindow(dpy, root, m->mx, m->by, m->mw, bh, 0, DefaultDepth(dpy, screen),
- CopyFromParent, DefaultVisual(dpy, screen),
- CWOverrideRedirect|CWBackPixmap|CWEventMask, &wa);
- XDefineCursor(dpy, m->barwin, cursor[CurNormal]);
Add Comment
Please, Sign In to add comment