Guest User

Untitled

a guest
Jan 23rd, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.95 KB | None | 0 0
  1. barwinwidth patch for dwm 5.9
  2.  
  3. Make barwin span the whole width of screen, instead of window area.
  4. Basically, replace:
  5. m->ww with m->mw
  6. m->wx with m->mx
  7. This is done so padding the "window area" does not affect barwin.
  8.  
  9. diff -up a/dwm.c b/dwm.c
  10. --- a/dwm.c 2011-08-29 12:00:00.00 +0000
  11. +++ b/dwm.c 2011-08-29 12:00:00.00 +0000
  12. @@ -442,7 +442,7 @@ buttonpress(XEvent *e) {
  13. }
  14. else if(ev->x < x + blw)
  15. click = ClkLtSymbol;
  16. - else if(ev->x > selmon->ww - TEXTW(stext))
  17. + else if(ev->x > selmon->mw - TEXTW(stext))
  18. click = ClkStatusText;
  19. else
  20. click = ClkWinTitle;
  21. @@ -597,7 +597,7 @@ configurenotify(XEvent *e) {
  22. dc.drawable = XCreatePixmap(dpy, root, sw, bh, DefaultDepth(dpy, screen));
  23. updatebars();
  24. for(m = mons; m; m = m->next)
  25. - XMoveResizeWindow(dpy, m->barwin, m->wx, m->by, m->ww, bh);
  26. + XMoveResizeWindow(dpy, m->barwin, m->mx, m->by, m->mw, bh);
  27. arrange(NULL);
  28. }
  29. }
  30. @@ -748,15 +748,15 @@ drawbar(Monitor *m) {
  31. x = dc.x;
  32. if(m == selmon) { /* status is only drawn on selected monitor */
  33. dc.w = TEXTW(stext);
  34. - dc.x = m->ww - dc.w;
  35. + dc.x = m->mw - dc.w;
  36. if(dc.x < x) {
  37. dc.x = x;
  38. - dc.w = m->ww - x;
  39. + dc.w = m->mw - x;
  40. }
  41. drawtext(stext, dc.norm, False);
  42. }
  43. else
  44. - dc.x = m->ww;
  45. + dc.x = m->mw;
  46. if((dc.w = dc.x - x) > bh) {
  47. dc.x = x;
  48. if(m->sel) {
  49. @@ -767,7 +767,7 @@ drawbar(Monitor *m) {
  50. else
  51. drawtext(NULL, dc.norm, False);
  52. }
  53. - XCopyArea(dpy, dc.drawable, m->barwin, dc.gc, 0, 0, m->ww, bh, 0, 0);
  54. + XCopyArea(dpy, dc.drawable, m->barwin, dc.gc, 0, 0, m->mw, bh, 0, 0);
  55. XSync(dpy, False);
  56. }
  57.  
  58. @@ -1131,8 +1131,8 @@ manage(Window w, XWindowAttributes *wa)
  59. c->y = c->mon->my + c->mon->mh - HEIGHT(c);
  60. c->x = MAX(c->x, c->mon->mx);
  61. /* only fix client y-offset, if the client center might cover the bar */
  62. - c->y = MAX(c->y, ((c->mon->by == 0) && (c->x + (c->w / 2) >= c->mon->wx)
  63. - && (c->x + (c->w / 2) < c->mon->wx + c->mon->ww)) ? bh : c->mon->my);
  64. + c->y = MAX(c->y, ((c->mon->by == 0) && (c->x + (c->w / 2) >= c->mon->mx)
  65. + && (c->x + (c->w / 2) < c->mon->mx + c->mon->mw)) ? bh : c->mon->my);
  66. c->bw = borderpx;
  67. }
  68. wc.border_width = c->bw;
  69. @@ -1673,7 +1673,7 @@ void
  70. togglebar(const Arg *arg) {
  71. selmon->showbar = !selmon->showbar;
  72. updatebarpos(selmon);
  73. - XMoveResizeWindow(dpy, selmon->barwin, selmon->wx, selmon->by, selmon->ww, bh);
  74. + XMoveResizeWindow(dpy, selmon->barwin, selmon->mx, selmon->by, selmon->mw, bh);
  75. arrange(selmon);
  76. }
  77.  
  78. @@ -1763,7 +1763,7 @@ updatebars(void) {
  79. .event_mask = ButtonPressMask|ExposureMask
  80. };
  81. for(m = mons; m; m = m->next) {
  82. - m->barwin = XCreateWindow(dpy, root, m->wx, m->by, m->ww, bh, 0, DefaultDepth(dpy, screen),
  83. + m->barwin = XCreateWindow(dpy, root, m->mx, m->by, m->mw, bh, 0, DefaultDepth(dpy, screen),
  84. CopyFromParent, DefaultVisual(dpy, screen),
  85. CWOverrideRedirect|CWBackPixmap|CWEventMask, &wa);
  86. XDefineCursor(dpy, m->barwin, cursor[CurNormal]);
Add Comment
Please, Sign In to add comment