dwm-multimon-4-status_all-6.4.patch (3946B)
1 From 34d7ca93ff7fff443f9cf0ce6ba6da6acbcfe06c Mon Sep 17 00:00:00 2001 2 From: "Gary B. Genett" <me@garybgenett.net> 3 Date: Sun, 19 Feb 2023 08:59:36 -0800 4 Subject: added statusall toggle 5 MIME-Version: 1.0 6 Content-Type: multipart/mixed; boundary="------------2.37.4" 7 8 This is a multi-part message in MIME format. 9 --------------2.37.4 10 Content-Type: text/plain; charset=UTF-8; format=fixed 11 Content-Transfer-Encoding: 8bit 12 13 --- 14 config.def.h | 1 + 15 dwm.c | 4 ++-- 16 2 files changed, 3 insertions(+), 2 deletions(-) 17 18 19 --------------2.37.4 20 Content-Type: text/x-patch; name="0004-added-statusall-toggle.patch" 21 Content-Transfer-Encoding: 8bit 22 Content-Disposition: attachment; filename="0004-added-statusall-toggle.patch" 23 24 diff --git a/config.def.h b/config.def.h 25 index a664c793845c4c7c0ebe8ac69c96885c76193819..fcfe8245a438686f276ffc9a4df17695382ed58b 100644 26 --- a/config.def.h 27 +++ b/config.def.h 28 @@ -29,20 +29,21 @@ static const Rule rules[] = { 29 /* class instance title tags mask isfloating monitor */ 30 { "Gimp", NULL, NULL, 0, 1, -1 }, 31 { "Firefox", NULL, NULL, 1 << 8, 0, -1 }, 32 }; 33 34 /* layout(s) */ 35 static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */ 36 static const int nmaster = 1; /* number of clients in master area */ 37 static const int nviews = 3; /* mask of tags highlighted by default (tags 1-4) */ 38 static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */ 39 +static const int statusall = 1; /* 1 means status is shown in all bars, not just active monitor */ 40 static const int lockfullscreen = 1; /* 1 will force focus on the fullscreen window */ 41 42 static const float facts[1]; //static const float facts[] = { 0, 0.5 }; // = mfact // 50% 43 static const int masters[1]; //static const int masters[] = { 0, -1 }; // = nmaster // vertical stacking (for rotated monitor) 44 static const int views[1]; //static const int views[] = { 0, ~0 }; // = nviews // all tags 45 /* invert tags after nviews */ /* array dimentions can both be as big as needed */ // final highlighted tags 46 static const int toggles[1][1]; //static const int toggles[2][2] = { {0,8}, {~0,~0} }; // 2-4+9 // all (leave as views above) 47 static const int toggles[1][1] = {{~0}}; 48 49 static const Layout layouts[] = { 50 /* symbol arrange function */ 51 diff --git a/dwm.c b/dwm.c 52 index 93da0f4565d7a17ef96a1b167cfcb2c9f0ac6ad3..77ff310e03edbf42ac2dd55471962ce259b63071 100644 53 --- a/dwm.c 54 +++ b/dwm.c 55 @@ -709,21 +709,21 @@ drawbar(Monitor *m) 56 int x, w, tw = 0; 57 int boxs = drw->fonts->h / 9; 58 int boxw = drw->fonts->h / 6 + 2; 59 unsigned int i, occ = 0, urg = 0; 60 Client *c; 61 62 if (!m->showbar) 63 return; 64 65 /* draw status first so it can be overdrawn by tags later */ 66 - if (m == selmon) { /* status is only drawn on selected monitor */ 67 + if (m == selmon || statusall) { /* status is only drawn on selected monitor */ 68 drw_setscheme(drw, scheme[SchemeNorm]); 69 tw = TEXTW(stext) - lrpad + 2; /* 2px right padding */ 70 drw_text(drw, m->ww - tw, 0, tw, bh, 0, stext, 0); 71 } 72 73 for (c = m->clients; c; c = c->next) { 74 occ |= c->tags; 75 if (c->isurgent) 76 urg |= c->tags; 77 } 78 @@ -2017,21 +2017,21 @@ updatesizehints(Client *c) 79 c->maxa = c->mina = 0.0; 80 c->isfixed = (c->maxw && c->maxh && c->maxw == c->minw && c->maxh == c->minh); 81 c->hintsvalid = 1; 82 } 83 84 void 85 updatestatus(void) 86 { 87 if (!gettextprop(root, XA_WM_NAME, stext, sizeof(stext))) 88 strcpy(stext, "dwm-"VERSION); 89 - drawbar(selmon); 90 + statusall ? drawbars() : drawbar(selmon); 91 } 92 93 void 94 updatetitle(Client *c) 95 { 96 if (!gettextprop(c->win, netatom[NetWMName], c->name, sizeof c->name)) 97 gettextprop(c->win, XA_WM_NAME, c->name, sizeof c->name); 98 if (c->name[0] == '\0') /* hack to mark broken clients */ 99 strcpy(c->name, broken); 100 } 101 102 --------------2.37.4-- 103 104