diff options
| author | bakkeby <[email protected]> | 2020-07-15 08:57:30 +0200 |
|---|---|---|
| committer | bakkeby <[email protected]> | 2020-07-15 08:57:30 +0200 |
| commit | 903b32ac8b4a69b37981874f23b15a9f65f2a20d (patch) | |
| tree | b7aff3bdd522721a03cbfdaea8adf15fefd90463 /patch | |
| parent | 1584a32063cd252ec726dd18747c5f91f12f8be9 (diff) | |
| download | dwm-flexipatch-903b32ac8b4a69b37981874f23b15a9f65f2a20d.tar.gz dwm-flexipatch-903b32ac8b4a69b37981874f23b15a9f65f2a20d.zip | |
Major refactoring in preparation for bar modules
Diffstat (limited to 'patch')
| -rw-r--r-- | patch/awesomebar.c | 67 | ||||
| -rw-r--r-- | patch/awesomebar.h | 4 | ||||
| -rw-r--r-- | patch/bar_alpha.c (renamed from patch/alpha.c) | 0 | ||||
| -rw-r--r-- | patch/bar_alpha.h (renamed from patch/alpha.h) | 0 | ||||
| -rw-r--r-- | patch/bar_alternativetags.c (renamed from patch/alternativetags.c) | 0 | ||||
| -rw-r--r-- | patch/bar_alternativetags.h (renamed from patch/alternativetags.h) | 0 | ||||
| -rw-r--r-- | patch/bar_awesomebar.c | 146 | ||||
| -rw-r--r-- | patch/bar_awesomebar.h | 8 | ||||
| -rw-r--r-- | patch/bar_dwmblocks.c (renamed from patch/dwmblocks.c) | 0 | ||||
| -rw-r--r-- | patch/bar_dwmblocks.h (renamed from patch/dwmblocks.h) | 0 | ||||
| -rw-r--r-- | patch/bar_fancybar.c | 97 | ||||
| -rw-r--r-- | patch/bar_fancybar.h | 3 | ||||
| -rw-r--r-- | patch/bar_ltsymbol.c | 21 | ||||
| -rw-r--r-- | patch/bar_ltsymbol.h | 3 | ||||
| -rw-r--r-- | patch/bar_status.c | 25 | ||||
| -rw-r--r-- | patch/bar_status.h | 3 | ||||
| -rw-r--r-- | patch/bar_status2d.c (renamed from patch/status2d.c) | 117 | ||||
| -rw-r--r-- | patch/bar_status2d.h | 5 | ||||
| -rw-r--r-- | patch/bar_status2d_eb.c | 11 | ||||
| -rw-r--r-- | patch/bar_status2d_eb.h | 2 | ||||
| -rw-r--r-- | patch/bar_statusbutton.c | 21 | ||||
| -rw-r--r-- | patch/bar_statusbutton.h | 3 | ||||
| -rw-r--r-- | patch/bar_statuscmd.c | 76 | ||||
| -rw-r--r-- | patch/bar_statuscmd.h | 6 | ||||
| -rw-r--r-- | patch/bar_systray.c (renamed from patch/systray.c) | 122 | ||||
| -rw-r--r-- | patch/bar_systray.h (renamed from patch/systray.h) | 8 | ||||
| -rw-r--r-- | patch/bar_taggrid.c | 142 | ||||
| -rw-r--r-- | patch/bar_taggrid.h | 4 | ||||
| -rw-r--r-- | patch/bar_tags.c | 123 | ||||
| -rw-r--r-- | patch/bar_tags.h | 3 | ||||
| -rw-r--r-- | patch/bar_wintitle.c | 89 | ||||
| -rw-r--r-- | patch/bar_wintitle.h | 3 | ||||
| -rw-r--r-- | patch/combo.c | 4 | ||||
| -rw-r--r-- | patch/combo.h | 4 | ||||
| -rw-r--r-- | patch/holdbar.c | 34 | ||||
| -rw-r--r-- | patch/include.c | 106 | ||||
| -rw-r--r-- | patch/include.h | 104 | ||||
| -rw-r--r-- | patch/killunsel.c | 4 | ||||
| -rw-r--r-- | patch/layout_bstack.c (renamed from patch/bstack.c) | 0 | ||||
| -rw-r--r-- | patch/layout_bstack.h (renamed from patch/bstack.h) | 0 | ||||
| -rw-r--r-- | patch/layout_bstackhoriz.c (renamed from patch/bstackhoriz.c) | 0 | ||||
| -rw-r--r-- | patch/layout_bstackhoriz.h (renamed from patch/bstackhoriz.h) | 0 | ||||
| -rw-r--r-- | patch/layout_centeredfloatingmaster.c (renamed from patch/centeredfloatingmaster.c) | 0 | ||||
| -rw-r--r-- | patch/layout_centeredfloatingmaster.h (renamed from patch/centeredfloatingmaster.h) | 0 | ||||
| -rw-r--r-- | patch/layout_centeredmaster.c (renamed from patch/centeredmaster.c) | 0 | ||||
| -rw-r--r-- | patch/layout_centeredmaster.h (renamed from patch/centeredmaster.h) | 0 | ||||
| -rw-r--r-- | patch/layout_columns.c (renamed from patch/columns.c) | 0 | ||||
| -rw-r--r-- | patch/layout_columns.h (renamed from patch/columns.h) | 0 | ||||
| -rw-r--r-- | patch/layout_deck.c (renamed from patch/deck.c) | 0 | ||||
| -rw-r--r-- | patch/layout_deck.h (renamed from patch/deck.h) | 0 | ||||
| -rw-r--r-- | patch/layout_fibonacci.c (renamed from patch/fibonacci.c) | 0 | ||||
| -rw-r--r-- | patch/layout_fibonacci.h (renamed from patch/fibonacci.h) | 0 | ||||
| -rw-r--r-- | patch/layout_flextile-deluxe.c (renamed from patch/flextile-deluxe.c) | 0 | ||||
| -rw-r--r-- | patch/layout_flextile-deluxe.h (renamed from patch/flextile-deluxe.h) | 0 | ||||
| -rw-r--r-- | patch/layout_gapplessgrid.c (renamed from patch/gapplessgrid.c) | 0 | ||||
| -rw-r--r-- | patch/layout_gapplessgrid.h (renamed from patch/gapplessgrid.h) | 0 | ||||
| -rw-r--r-- | patch/layout_grid.c (renamed from patch/grid.c) | 0 | ||||
| -rw-r--r-- | patch/layout_grid.h (renamed from patch/grid.h) | 0 | ||||
| -rw-r--r-- | patch/layout_horizgrid.c (renamed from patch/horizgrid.c) | 0 | ||||
| -rw-r--r-- | patch/layout_horizgrid.h (renamed from patch/horizgrid.h) | 0 | ||||
| -rw-r--r-- | patch/layout_monocle.c (renamed from patch/monocle.c) | 0 | ||||
| -rw-r--r-- | patch/layout_monocle.h (renamed from patch/monocle.h) | 0 | ||||
| -rw-r--r-- | patch/layout_nrowgrid.c (renamed from patch/nrowgrid.c) | 0 | ||||
| -rw-r--r-- | patch/layout_nrowgrid.h (renamed from patch/nrowgrid.h) | 0 | ||||
| -rw-r--r-- | patch/layout_tile.c (renamed from patch/tile.c) | 0 | ||||
| -rw-r--r-- | patch/layout_tile.h (renamed from patch/tile.h) | 0 | ||||
| -rw-r--r-- | patch/status2d.h | 2 | ||||
| -rw-r--r-- | patch/statuscolors.c | 4 | ||||
| -rw-r--r-- | patch/xrdb.c | 14 |
69 files changed, 1063 insertions, 325 deletions
diff --git a/patch/awesomebar.c b/patch/awesomebar.c deleted file mode 100644 index e21f4f1..0000000 --- a/patch/awesomebar.c +++ /dev/null @@ -1,67 +0,0 @@ -void -hide(Client *c) { - - if (!c || HIDDEN(c)) - return; - - Window w = c->win; - static XWindowAttributes ra, ca; - - // more or less taken directly from blackbox's hide() function - XGrabServer(dpy); - XGetWindowAttributes(dpy, root, &ra); - XGetWindowAttributes(dpy, w, &ca); - // prevent UnmapNotify events - XSelectInput(dpy, root, ra.your_event_mask & ~SubstructureNotifyMask); - XSelectInput(dpy, w, ca.your_event_mask & ~StructureNotifyMask); - XUnmapWindow(dpy, w); - setclientstate(c, IconicState); - XSelectInput(dpy, root, ra.your_event_mask); - XSelectInput(dpy, w, ca.your_event_mask); - XUngrabServer(dpy); - - focus(c->snext); - arrange(c->mon); -} - -void -show(Client *c) -{ - if (!c || !HIDDEN(c)) - return; - - XMapWindow(dpy, c->win); - setclientstate(c, NormalState); - arrange(c->mon); -} - -void -togglewin(const Arg *arg) -{ - Client *c = (Client*)arg->v; - if (c == selmon->sel) - hide(c); - else { - if (HIDDEN(c)) - show(c); - focus(c); - restack(selmon); - } -} - -void -showhideclient(const Arg *arg) -{ - Client *c = (Client*)arg->v; - if (!c) - c = selmon->sel; - if (!c) - return; - - if (HIDDEN(c)) { - show(c); - restack(selmon); - } else { - hide(c); - } -}
\ No newline at end of file diff --git a/patch/awesomebar.h b/patch/awesomebar.h deleted file mode 100644 index 8cf46f4..0000000 --- a/patch/awesomebar.h +++ /dev/null @@ -1,4 +0,0 @@ -static void hide(Client *c); -static void show(Client *c); -static void togglewin(const Arg *arg); -static void showhideclient(const Arg *arg);
\ No newline at end of file diff --git a/patch/alpha.c b/patch/bar_alpha.c index 7da7215..7da7215 100644 --- a/patch/alpha.c +++ b/patch/bar_alpha.c diff --git a/patch/alpha.h b/patch/bar_alpha.h index 3c81522..3c81522 100644 --- a/patch/alpha.h +++ b/patch/bar_alpha.h diff --git a/patch/alternativetags.c b/patch/bar_alternativetags.c index 3c329bc..3c329bc 100644 --- a/patch/alternativetags.c +++ b/patch/bar_alternativetags.c diff --git a/patch/alternativetags.h b/patch/bar_alternativetags.h index 2c130f3..2c130f3 100644 --- a/patch/alternativetags.h +++ b/patch/bar_alternativetags.h diff --git a/patch/bar_awesomebar.c b/patch/bar_awesomebar.c new file mode 100644 index 0000000..85ec003 --- /dev/null +++ b/patch/bar_awesomebar.c @@ -0,0 +1,146 @@ +int +width_awesomebar(Monitor *m, int max_width) +{ + return max_width; +} + +int +draw_awesomebar(Monitor *m, int x_orig, int w) +{ + int n = 0, scm, remainder = 0, tabw; + unsigned int i, x = x_orig; + Client *c; + for (c = m->clients; c; c = c->next) + if (ISVISIBLE(c)) + n++; + + if (n > 0) { + remainder = w % n; + tabw = w / n; + for (i = 0, c = m->clients; c; c = c->next, i++) { + if (!ISVISIBLE(c)) + continue; + if (m->sel == c) + #if BAR_VTCOLORS_PATCH + scm = SchemeTitleSel; + #elif BAR_TITLECOLOR_PATCH + scm = SchemeTitle; + #else + scm = SchemeSel; + #endif // BAR_VTCOLORS_PATCH / BAR_TITLECOLOR_PATCH + else if (HIDDEN(c)) + scm = SchemeHid; + else + #if BAR_VTCOLORS_PATCH + scm = SchemeTitleNorm; + #else + scm = SchemeNorm; + #endif // BAR_VTCOLORS_PATCH + + drw_setscheme(drw, scheme[scm]); + #if BAR_PANGO_PATCH + drw_text(drw, x, 0, tabw + (i < remainder ? 1 : 0), bh, lrpad / 2, c->name, 0, False); + #else + drw_text(drw, x, 0, tabw + (i < remainder ? 1 : 0), bh, lrpad / 2, c->name, 0); + #endif // BAR_PANGO_PATCH + x += tabw; + } + } + return x_orig + w; +} + +int +click_awesomebar(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h) +{ + int x = 0, n = 0; + Client *c; + + for (c = m->clients; c; c = c->next) + if (ISVISIBLE(c)) + n++; + + c = m->clients; + + do { + if (!c || !ISVISIBLE(c)) + continue; + else + x += (1.0 / (double)n) * rel_w; + } while (c && rel_x > x && (c = c->next)); + + if (c) { + arg->v = c; + return ClkWinTitle; + } + return -1; +} + +void +hide(Client *c) { + + if (!c || HIDDEN(c)) + return; + + Window w = c->win; + static XWindowAttributes ra, ca; + + // more or less taken directly from blackbox's hide() function + XGrabServer(dpy); + XGetWindowAttributes(dpy, root, &ra); + XGetWindowAttributes(dpy, w, &ca); + // prevent UnmapNotify events + XSelectInput(dpy, root, ra.your_event_mask & ~SubstructureNotifyMask); + XSelectInput(dpy, w, ca.your_event_mask & ~StructureNotifyMask); + XUnmapWindow(dpy, w); + setclientstate(c, IconicState); + XSelectInput(dpy, root, ra.your_event_mask); + XSelectInput(dpy, w, ca.your_event_mask); + XUngrabServer(dpy); + + focus(c->snext); + arrange(c->mon); +} + +void +show(Client *c) +{ + if (!c || !HIDDEN(c)) + return; + + XMapWindow(dpy, c->win); + setclientstate(c, NormalState); + arrange(c->mon); +} + +void +togglewin(const Arg *arg) +{ + Client *c = (Client*)arg->v; + if (!c) + return; + if (c == selmon->sel) + hide(c); + else { + if (HIDDEN(c)) + show(c); + focus(c); + restack(selmon); + } +} + +void +showhideclient(const Arg *arg) +{ + Client *c = (Client*)arg->v; + if (!c) + c = selmon->sel; + if (!c) + return; + + if (HIDDEN(c)) { + show(c); + restack(selmon); + } else { + hide(c); + } +}
\ No newline at end of file diff --git a/patch/bar_awesomebar.h b/patch/bar_awesomebar.h new file mode 100644 index 0000000..84c8505 --- /dev/null +++ b/patch/bar_awesomebar.h @@ -0,0 +1,8 @@ +static int width_awesomebar(Monitor *m, int max_width); +static int draw_awesomebar(Monitor *m, int x, int w); +static int click_awesomebar(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h); + +static void hide(Client *c); +static void show(Client *c); +static void togglewin(const Arg *arg); +static void showhideclient(const Arg *arg);
\ No newline at end of file diff --git a/patch/dwmblocks.c b/patch/bar_dwmblocks.c index 442b0bc..442b0bc 100644 --- a/patch/dwmblocks.c +++ b/patch/bar_dwmblocks.c diff --git a/patch/dwmblocks.h b/patch/bar_dwmblocks.h index f08f1d5..f08f1d5 100644 --- a/patch/dwmblocks.h +++ b/patch/bar_dwmblocks.h diff --git a/patch/bar_fancybar.c b/patch/bar_fancybar.c new file mode 100644 index 0000000..b6f5363 --- /dev/null +++ b/patch/bar_fancybar.c @@ -0,0 +1,97 @@ +int +width_fancybar(Monitor *m, int max_width) +{ + return max_width; +} + +int +draw_fancybar(Monitor *m, int x, int w) +{ + int ftw, mw, ew = 0, n = 0; + unsigned int i; + Client *c; + #if !BAR_HIDEVACANTTAGS_PATCH + #if !BAR_ACTIVETAGINDICATORBAR_PATCH && !BAR_ACTIVETAGINDICATORBAR_ALT1_PATCH + #if BAR_PANGO_PATCH + int boxs = drw->font->h / 9; + #else + int boxs = drw->fonts->h / 9; + #endif // BAR_PANGO_PATCH + #endif // BAR_ACTIVETAGINDICATORBAR_PATCH | BAR_ACTIVETAGINDICATORBAR_ALT1_PATCH + #if BAR_PANGO_PATCH + int boxw = drw->font->h / 6 + 2; + #else + int boxw = drw->fonts->h / 6 + 2; + #endif // BAR_PANGO_PATCH + #endif // BAR_HIDEVACANTTAGS_PATCH + + for (c = m->clients; c; c = c->next) { + if (ISVISIBLE(c)) + n++; + } + + if (n > 0) { + ftw = TEXTW(m->sel->name) + lrpad; + mw = (ftw >= w || n == 1) ? 0 : (w - ftw) / (n - 1); + + i = 0; + for (c = m->clients; c; c = c->next) { + if (!ISVISIBLE(c) || c == m->sel) + continue; + ftw = TEXTW(c->name); + if (ftw < mw) + ew += (mw - ftw); + else + i++; + } + if (i > 0) + mw += ew / i; + + for (c = m->clients; c; c = c->next) { + if (!ISVISIBLE(c)) + continue; + ftw = MIN(m->sel == c ? w : mw, TEXTW(c->name)); + + #if BAR_VTCOLORS_PATCH + drw_setscheme(drw, scheme[m->sel == c ? SchemeTitleSel : SchemeTitleNorm]); + #elif BAR_TITLECOLOR_PATCH + drw_setscheme(drw, scheme[m->sel == c ? SchemeTitle : SchemeNorm]); + #else + drw_setscheme(drw, scheme[m->sel == c ? SchemeSel : SchemeNorm]); + #endif // BAR_VTCOLORS_PATCH / BAR_TITLECOLOR_PATCH + if (ftw > 0) /* trap special handling of 0 in drw_text */ + #if BAR_PANGO_PATCH + drw_text(drw, x, 0, ftw, bh, lrpad / 2, c->name, 0, False); + #else + drw_text(drw, x, 0, ftw, bh, lrpad / 2, c->name, 0); + #endif // BAR_PANGO_PATCH + #if !BAR_HIDEVACANTTAGS_PATCH + if (c->isfloating) + #if BAR_ACTIVETAGINDICATORBAR_PATCH + drw_rect(drw, x + boxw, 0, w - ( 2 * boxw + 1), boxw, c->isfixed, 0); + #elif BAR_ACTIVETAGINDICATORBAR_ALT1_PATCH + drw_rect(drw, x + boxw, bh - boxw/2, w - ( 2 * boxw + 1), boxw/2, + #else + drw_rect(drw, x + boxs, boxs, boxw, boxw, c->isfixed, 0); + #endif // BAR_ACTIVETAGINDICATORBAR_PATCH + #endif // BAR_HIDEVACANTTAGS_PATCH + x += ftw; + w -= ftw; + } + } + #if BAR_VTCOLORS_PATCH + drw_setscheme(drw, scheme[SchemeTitleNorm]); + #else + drw_setscheme(drw, scheme[SchemeNorm]); + #endif // BAR_VTCOLORS_PATCH + drw_rect(drw, x, 0, w, bh, 1, 1); + return x + w; +} + +int +click_fancybar(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h) +{ + return ClkWinTitle; +} + + diff --git a/patch/bar_fancybar.h b/patch/bar_fancybar.h new file mode 100644 index 0000000..24336d9 --- /dev/null +++ b/patch/bar_fancybar.h @@ -0,0 +1,3 @@ +static int width_fancybar(Monitor *m, int max_width); +static int draw_fancybar(Monitor *m, int x, int w); +static int click_fancybar(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h);
\ No newline at end of file diff --git a/patch/bar_ltsymbol.c b/patch/bar_ltsymbol.c new file mode 100644 index 0000000..f4417f1 --- /dev/null +++ b/patch/bar_ltsymbol.c @@ -0,0 +1,21 @@ +int +width_ltsymbol(Monitor *m, int max_width) +{ + return TEXTW(m->ltsymbol); +} + +int +draw_ltsymbol(Monitor *m, int x, int w) +{ + #if BAR_PANGO_PATCH + return drw_text(drw, x, 0, w, bh, lrpad / 2, m->ltsymbol, 0, False); + #else + return drw_text(drw, x, 0, w, bh, lrpad / 2, m->ltsymbol, 0); + #endif // BAR_PANGO_PATCH +} + +int +click_ltsymbol(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h) +{ + return ClkLtSymbol; +}
\ No newline at end of file diff --git a/patch/bar_ltsymbol.h b/patch/bar_ltsymbol.h new file mode 100644 index 0000000..5471496 --- /dev/null +++ b/patch/bar_ltsymbol.h @@ -0,0 +1,3 @@ +static int width_ltsymbol(Monitor *m, int max_width); +static int draw_ltsymbol(Monitor *m, int x, int w); +static int click_ltsymbol(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h); diff --git a/patch/bar_status.c b/patch/bar_status.c new file mode 100644 index 0000000..fdf72de --- /dev/null +++ b/patch/bar_status.c @@ -0,0 +1,25 @@ +int +width_status(Monitor *m, int max_width) +{ + #if BAR_PANGO_PATCH + return TEXTWM(stext) - lrpad + 2; /* 2px right padding */ + #else + return TEXTW(stext) - lrpad + 2; /* 2px right padding */ + #endif // BAR_PANGO_PATCH +} + +int +draw_status(Monitor *m, int x, int w) +{ + #if BAR_PANGO_PATCH + return drw_text(drw, x, 0, w, bh, 0, stext, 0, True); + #else + return drw_text(drw, x, 0, w, bh, 0, stext, 0); + #endif // BAR_PANGO_PATCH +} + +int +click_status(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h) +{ + return ClkStatusText; +} diff --git a/patch/bar_status.h b/patch/bar_status.h new file mode 100644 index 0000000..3b6c924 --- /dev/null +++ b/patch/bar_status.h @@ -0,0 +1,3 @@ +static int width_status(Monitor *m, int max_width); +static int draw_status(Monitor *m, int x, int w); +static int click_status(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h);
\ No newline at end of file diff --git a/patch/status2d.c b/patch/bar_status2d.c index 99dcacd..8b3b3e5 100644 --- a/patch/status2d.c +++ b/patch/bar_status2d.c @@ -1,7 +1,25 @@ int -drawstatusbar(Monitor *m, int bh, char* stext, int stw, int stp, int align) +width_status2d(Monitor *m, int max_width) { - int ret, i, w, x, len; + return status2dtextlength(rawstext); +} + +int +draw_status2d(Monitor *m, int x, int w) +{ + return drawstatusbar(m, x, w, rawstext); +} + +int +click_status2d(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h) +{ + return ClkStatusText; +} + +int +drawstatusbar(Monitor *m, int x, int ow, char* stext) +{ + int i, w, len; short isCode = 0; char *text; char *p; @@ -10,58 +28,11 @@ drawstatusbar(Monitor *m, int bh, char* stext, int stw, int stp, int align) if (!(text = (char*) malloc(sizeof(char)*len))) die("malloc"); p = text; - #if STATUSCMD_PATCH + #if BAR_STATUSCMD_PATCH copyvalidchars(text, stext); #else memcpy(text, stext, len); - #endif // STATUSCMD_PATCH - - /* compute width of the status text */ - w = stp * 2; - i = -1; - while (text[++i]) { - if (text[i] == '^') { - if (!isCode) { - isCode = 1; - text[i] = '\0'; - #if PANGO_PATCH - w += TEXTWM(text) - lrpad; - #else - w += TEXTW(text) - lrpad; - #endif // PANGO_PATCH - text[i] = '^'; - if (text[++i] == 'f') - w += atoi(text + ++i); - } else { - isCode = 0; - text = text + i + 1; - i = -1; - } - } - } - if (!isCode) - #if PANGO_PATCH - w += TEXTWM(text) - lrpad; - #else - w += TEXTW(text) - lrpad; - #endif // PANGO_PATCH - else - isCode = 0; - text = p; - w += 2; /* 1px padding on both sides */ - if (align == 0) - x = 0 + stp; // left - else if (align == 1) - x = m->ww - w - stw + stp; // right - else - x = m->ww / 2 - w / 2; // center - ret = w; - - drw_setscheme(drw, scheme[LENGTH(colors)]); - drw->scheme[ColFg] = scheme[SchemeNorm][ColFg]; - drw->scheme[ColBg] = scheme[SchemeNorm][ColBg]; - drw_rect(drw, x - stp - 1, 0, w, bh, 1, 1); - x++; + #endif // BAR_STATUSCMD_PATCH /* process status text */ i = -1; @@ -70,13 +41,13 @@ drawstatusbar(Monitor *m, int bh, char* stext, int stw, int stp, int align) isCode = 1; text[i] = '\0'; - #if PANGO_PATCH + #if BAR_PANGO_PATCH w = TEXTWM(text) - lrpad; drw_text(drw, x, 0, w, bh, 0, text, 0, True); #else w = TEXTW(text) - lrpad; drw_text(drw, x, 0, w, bh, 0, text, 0); - #endif // PANGO_PATCH + #endif // BAR_PANGO_PATCH x += w; @@ -90,13 +61,13 @@ drawstatusbar(Monitor *m, int bh, char* stext, int stw, int stp, int align) } memcpy(buf, (char*)text+i+1, 7); buf[7] = '\0'; - #if ALPHA_PATCH && STATUS2D_NO_ALPHA_PATCH + #if BAR_ALPHA_PATCH && BAR_STATUS2D_NO_ALPHA_PATCH drw_clr_create(drw, &drw->scheme[ColFg], buf, 0xff); - #elif ALPHA_PATCH + #elif BAR_ALPHA_PATCH drw_clr_create(drw, &drw->scheme[ColFg], buf, alphas[SchemeNorm][ColFg]); #else drw_clr_create(drw, &drw->scheme[ColFg], buf); - #endif // ALPHA_PATCH + #endif // BAR_ALPHA_PATCH i += 7; } else if (text[i] == 'b') { char buf[8]; @@ -106,13 +77,13 @@ drawstatusbar(Monitor *m, int bh, char* stext, int stw, int stp, int align) } memcpy(buf, (char*)text+i+1, 7); buf[7] = '\0'; - #if ALPHA_PATCH && STATUS2D_NO_ALPHA_PATCH + #if BAR_ALPHA_PATCH && BAR_STATUS2D_NO_ALPHA_PATCH drw_clr_create(drw, &drw->scheme[ColBg], buf, 0xff); - #elif ALPHA_PATCH + #elif BAR_ALPHA_PATCH drw_clr_create(drw, &drw->scheme[ColBg], buf, alphas[SchemeNorm][ColBg]); #else drw_clr_create(drw, &drw->scheme[ColBg], buf); - #endif // ALPHA_PATCH + #endif // BAR_ALPHA_PATCH i += 7; } else if (text[i] == 'd') { drw->scheme[ColFg] = scheme[SchemeNorm][ColFg]; @@ -142,21 +113,21 @@ drawstatusbar(Monitor *m, int bh, char* stext, int stw, int stp, int align) isCode = 0; } } - if (!isCode) { - #if PANGO_PATCH + #if BAR_PANGO_PATCH w = TEXTWM(text) - lrpad; drw_text(drw, x, 0, w, bh, 0, text, 0, True); #else w = TEXTW(text) - lrpad; drw_text(drw, x, 0, w, bh, 0, text, 0); - #endif // PANGO_PATCH + #endif // BAR_PANGO_PATCH + x += w; } + free(p); drw_setscheme(drw, scheme[SchemeNorm]); - free(p); - return ret; + return x; } int @@ -165,16 +136,17 @@ status2dtextlength(char* stext) int i, w, len; short isCode = 0; char *text; + char *p; len = strlen(stext) + 1; if (!(text = (char*) malloc(sizeof(char)*len))) die("malloc"); - - #if STATUSCMD_PATCH + p = text; + #if BAR_STATUSCMD_PATCH copyvalidchars(text, stext); #else memcpy(text, stext, len); - #endif // STATUSCMD_PATCH + #endif // BAR_STATUSCMD_PATCH /* compute width of the status text */ w = 0; @@ -184,11 +156,11 @@ status2dtextlength(char* stext) if (!isCode) { isCode = 1; text[i] = '\0'; - #if PANGO_PATCH + #if BAR_PANGO_PATCH w += TEXTWM(text) - lrpad; #else w += TEXTW(text) - lrpad; - #endif // PANGO_PATCH + #endif // BAR_PANGO_PATCH text[i] = '^'; if (text[++i] == 'f') w += atoi(text + ++i); @@ -200,10 +172,11 @@ status2dtextlength(char* stext) } } if (!isCode) - #if PANGO_PATCH + #if BAR_PANGO_PATCH w += TEXTWM(text) - lrpad; #else w += TEXTW(text) - lrpad; - #endif // PANGO_PATCH + #endif // BAR_PANGO_PATCH + free(p); return w; -} +}
\ No newline at end of file diff --git a/patch/bar_status2d.h b/patch/bar_status2d.h new file mode 100644 index 0000000..3f1a346 --- /dev/null +++ b/patch/bar_status2d.h @@ -0,0 +1,5 @@ +static int width_status2d(Monitor *m, int max_width); +static int draw_status2d(Monitor *m, int x, int w); +static int click_status2d(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h); +static int drawstatusbar(Monitor *m, int x, int w, char* text); +static int status2dtextlength(char* stext);
\ No newline at end of file diff --git a/patch/bar_status2d_eb.c b/patch/bar_status2d_eb.c new file mode 100644 index 0000000..adce774 --- /dev/null +++ b/patch/bar_status2d_eb.c @@ -0,0 +1,11 @@ +int +width_status2d_eb(Monitor *m, int max_width) +{ + return status2dtextlength(rawestext); +} + +int +draw_status2d_eb(Monitor *m, int x, int w) +{ + return drawstatusbar(m, x, w, rawestext); +}
\ No newline at end of file diff --git a/patch/bar_status2d_eb.h b/patch/bar_status2d_eb.h new file mode 100644 index 0000000..87b41fb --- /dev/null +++ b/patch/bar_status2d_eb.h @@ -0,0 +1,2 @@ +static int width_status2d_eb(Monitor *m, int max_width); +static int draw_status2d_eb(Monitor *m, int x, int w);
\ No newline at end of file diff --git a/patch/bar_statusbutton.c b/patch/bar_statusbutton.c new file mode 100644 index 0000000..130ef62 --- /dev/null +++ b/patch/bar_statusbutton.c @@ -0,0 +1,21 @@ +int +width_stbutton(Monitor *m, int max_width) +{ + return TEXTW(buttonbar); +} + +int +draw_stbutton(Monitor *m, int x, int w) +{ + #if BAR_PANGO_PATCH + return drw_text(drw, x, 0, w, bh, lrpad / 2, buttonbar, 0, False); + #else + return drw_text(drw, x, 0, w, bh, lrpad / 2, buttonbar, 0); + #endif // BAR_PANGO_PATCH +} + +int +click_stbutton(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h) +{ + return ClkButton; +} diff --git a/patch/bar_statusbutton.h b/patch/bar_statusbutton.h new file mode 100644 index 0000000..84ac2c5 --- /dev/null +++ b/patch/bar_statusbutton.h @@ -0,0 +1,3 @@ +static int width_stbutton(Monitor *m, int max_width); +static int draw_stbutton(Monitor *m, int x, int w); +static int click_stbutton(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h);
\ No newline at end of file diff --git a/patch/bar_statuscmd.c b/patch/bar_statuscmd.c new file mode 100644 index 0000000..f6166c3 --- /dev/null +++ b/patch/bar_statuscmd.c @@ -0,0 +1,76 @@ +#if !BAR_DWMBLOCKS_PATCH +static const char statusexport[] = "export BUTTON=-;"; +static int statuscmdn; +static int lastbutton; +#endif // BAR_DWMBLOCKS_PATCH + +int +click_statuscmd(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h) +{ + return click_statuscmd_text(m, arg, rel_x, rel_y, rawstext); +} + +#if BAR_EXTRABAR_PATCH +int +click_statuscmd_eb(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h) +{ + return click_statuscmd_text(m, arg, rel_x, rel_y, rawestext); +} +#endif // BAR_EXTRABAR_PATCH + +int +click_statuscmd_text(Monitor *m, Arg *arg, int rel_x, int rel_y, char *text) +{ + int i = -1; + int x = 0; + char ch; + #if BAR_DWMBLOCKS_PATCH + dwmblockssig = -1; + #else + statuscmdn = 0; + #endif // BAR_DWMBLOCKS_PATCH + while (text[++i]) { + if ((unsigned char)text[i] < ' ') { + ch = text[i]; + text[i] = '\0'; + #if BAR_STATUS2D_PATCH && !BAR_BAR_STATUSCOLORS_PATCH + x += status2dtextlength(text); + #elif BAR_PANGO_PATCH + x += TEXTWM(text) - lrpad; + #else + x += TEXTW(text) - lrpad; + #endif // STATUS2D_PATCH + text[i] = ch; + text += i+1; + i = -1; + #if BAR_DWMBLOCKS_PATCH + if (x >= rel_x && dwmblockssig != -1) + break; + dwmblockssig = ch; + #else + if (x >= rel_x) + break; + if (ch <= LENGTH(statuscmds)) + statuscmdn = ch - 1; + #endif // BAR_DWMBLOCKS_PATCH + } + } + #if BAR_DWMBLOCKS_PATCH + if (dwmblockssig == -1) + dwmblockssig = 0; + #endif // BAR_DWMBLOCKS_PATCH + return ClkStatusText; +} + +void +copyvalidchars(char *text, char *rawtext) +{ + int i = -1, j = 0; + + while (rawtext[++i]) { + if ((unsigned char)rawtext[i] >= ' ') { + text[j++] = rawtext[i]; + } + } + text[j] = '\0'; +} diff --git a/patch/bar_statuscmd.h b/patch/bar_statuscmd.h new file mode 100644 index 0000000..92ed7e1 --- /dev/null +++ b/patch/bar_statuscmd.h @@ -0,0 +1,6 @@ +static int click_statuscmd(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h); +#if BAR_EXTRABAR_PATCH +static int click_statuscmd_eb(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h); +#endif // BAR_EXTRABAR_PATCH +static int click_statuscmd_text(Monitor *m, Arg *arg, int rel_x, int rel_y, char *text); +static void copyvalidchars(char *text, char *rawtext);
\ No newline at end of file diff --git a/patch/systray.c b/patch/bar_systray.c index 0ca2f86..9938543 100644 --- a/patch/systray.c +++ b/patch/bar_systray.c @@ -1,17 +1,35 @@ - static Systray *systray = NULL; static unsigned long systrayorientation = _NET_SYSTEM_TRAY_ORIENTATION_HORZ; +static int systraybaridx = -1; +static int systraybarrule = -1; +static int systrayxpos = 0; -unsigned int -getsystraywidth() +int +width_systray(Monitor *m, int max_width) { unsigned int w = 0; Client *i; + if (!systray) + return 1; if (showsystray) for (i = systray->icons; i; w += i->w + systrayspacing, i = i->next); return w ? w + systrayspacing : 0; } +int +draw_systray(Monitor *m, int x_pos, int w) +{ + systrayxpos = x_pos; + updatesystray(); + return systrayxpos + w; +} + +int +click_systray(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h) +{ + return -1; +} + void removesystrayicon(Client *i) { @@ -37,64 +55,51 @@ resizerequest(XEvent *e) } } -Monitor * -systraytomon(Monitor *m) -{ - Monitor *t; - int i, n; - if (!systraypinning) { - if (!m) - return selmon; - return m == selmon ? m : NULL; - } - for (n = 1, t = mons; t && t->next; n++, t = t->next); - for (i = 1, t = mons; t && t->next && i < systraypinning; i++, t = t->next); - if (systraypinningfailfirst && n < systraypinning) - return mons; - return t; -} - void updatesystray(void) { + if (!showsystray) + return; XSetWindowAttributes wa; - XWindowChanges wc; Client *i; - Monitor *m = systraytomon(NULL); - unsigned int x = m->mx + m->mw; - unsigned int w = 1, xpad = 0, ypad = 0; - #if BARPADDING_PATCH - xpad = sp; - ypad = vp; - #endif // BARPADDING_PATCH + Monitor *m; + unsigned int w = 1, r, mi; + const BarRule *br; - if (!showsystray) - return; if (!systray) { /* init systray */ if (!(systray = (Systray *)calloc(1, sizeof(Systray)))) die("fatal: could not malloc() %u bytes\n", sizeof(Systray)); - wa.override_redirect = True; - wa.event_mask = ButtonPressMask|ExposureMask; - wa.background_pixel = scheme[SchemeNorm][ColBg].pixel; - wa.border_pixel = 0; - #if ALPHA_PATCH - wa.colormap = cmap; - systray->win = XCreateWindow(dpy, root, x - xpad, m->by + ypad, w, bh, 0, depth, - InputOutput, visual, - CWOverrideRedirect|CWBackPixel|CWBorderPixel|CWColormap|CWEventMask, &wa); - #else - systray->win = XCreateSimpleWindow(dpy, root, x - xpad, m->by + ypad, w, bh, 0, 0, scheme[SchemeNorm][ColBg].pixel); - XChangeWindowAttributes(dpy, systray->win, CWOverrideRedirect|CWBackPixel|CWBorderPixel|CWEventMask, &wa); - #endif // ALPHA_PATCH - XSelectInput(dpy, systray->win, SubstructureNotifyMask); + /* Work out which bar the systray is to be displayed on */ + for (r = 0; r < LENGTH(barrules); r++) { + br = &barrules[r]; + if (br->drawfunc == &draw_systray) { + systraybaridx = br->bar; + systraybarrule = r; + if (br->monitor == -1 || br->monitor == 'A') + m = selmon; + else + for (m = mons, mi = 0; m && mi < br->monitor && m->next; m = m->next, mi++); + systray->win = m->bars[systraybaridx]->win; + systray->mon = m; + + break; + } + } + if (systraybaridx == -1) { + fprintf(stderr, "dwm: unable to obtain system tray, no draw_systray in bar rules.\n"); + free(systray); + systray = NULL; + return; + } + XChangeProperty(dpy, systray->win, netatom[NetSystemTrayOrientation], XA_CARDINAL, 32, PropModeReplace, (unsigned char *)&systrayorientation, 1); - #if ALPHA_PATCH + #if BAR_ALPHA_PATCH XChangeProperty(dpy, systray->win, netatom[NetSystemTrayVisual], XA_VISUALID, 32, PropModeReplace, (unsigned char *)&visual->visualid, 1); - #endif // ALPHA_PATCH + #endif // BAR_ALPHA_PATCH XChangeProperty(dpy, systray->win, netatom[NetWMWindowType], XA_ATOM, 32, PropModeReplace, (unsigned char *)&netatom[NetWMWindowTypeDock], 1); XMapRaised(dpy, systray->win); @@ -102,8 +107,7 @@ updatesystray(void) if (XGetSelectionOwner(dpy, netatom[NetSystemTray]) == systray->win) { sendevent(root, xatom[Manager], StructureNotifyMask, CurrentTime, netatom[NetSystemTray], systray->win, 0, 0); XSync(dpy, False); - } - else { + } else { fprintf(stderr, "dwm: unable to obtain system tray.\n"); free(systray); systray = NULL; @@ -111,34 +115,18 @@ updatesystray(void) } } - drw_setscheme(drw, scheme[SchemeNorm]); for (w = 0, i = systray->icons; i; i = i->next) { /* make sure the background color stays the same */ wa.background_pixel = scheme[SchemeNorm][ColBg].pixel; XChangeWindowAttributes(dpy, i->win, CWBackPixel, &wa); XMapRaised(dpy, i->win); w += systrayspacing; - i->x = w; + i->x = systrayxpos + w; XMoveResizeWindow(dpy, i->win, i->x, 0, i->w, i->h); w += i->w; - if (i->mon != m) - i->mon = m; + if (i->mon != systray->mon) + i->mon = systray->mon; } - w = w ? w + systrayspacing : 1; - x -= w; - XMoveResizeWindow(dpy, systray->win, x - xpad, m->by + ypad, w, bh); - wc.x = x - xpad; - wc.y = m->by + ypad; - wc.width = w; - wc.height = bh; - wc.stack_mode = Above; wc.sibling = m->barwin; - XConfigureWindow(dpy, systray->win, CWX|CWY|CWWidth|CWHeight|CWSibling|CWStackMode, &wc); - XMapWindow(dpy, systray->win); - XMapSubwindows(dpy, systray->win); - /* redraw background */ - XSetForeground(dpy, drw->gc, scheme[SchemeNorm][ColBg].pixel); - XFillRectangle(dpy, systray->win, drw->gc, 0, 0, w, bh); - XSync(dpy, False); } void diff --git a/patch/systray.h b/patch/bar_systray.h index 1a2bab6..de588d1 100644 --- a/patch/systray.h +++ b/patch/bar_systray.h @@ -22,14 +22,18 @@ typedef struct Systray Systray; struct Systray { Window win; Client *icons; + Monitor *mon; }; +/* bar integration */ +static int width_systray(Monitor *m, int max_width); +static int draw_systray(Monitor *m, int x_pos, int w); +static int click_systray(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h); + /* function declarations */ static Atom getatomprop(Client *c, Atom prop); -static unsigned int getsystraywidth(); static void removesystrayicon(Client *i); static void resizerequest(XEvent *e); -static Monitor *systraytomon(Monitor *m); static void updatesystray(void); static void updatesystrayicongeom(Client *i, int w, int h); static void updatesystrayiconstate(Client *i, XPropertyEvent *ev); diff --git a/patch/bar_taggrid.c b/patch/bar_taggrid.c new file mode 100644 index 0000000..4fa98d7 --- /dev/null +++ b/patch/bar_taggrid.c @@ -0,0 +1,142 @@ +int +width_taggrid(Monitor *m, int max_width) +{ + return (bh / 2) * (LENGTH(tags) / tagrows + ((LENGTH(tags) % tagrows > 0) ? 1 : 0)); +} + +int +draw_taggrid(Monitor *m, int x_pos, int w) +{ + unsigned int x, y, h, max_x, columns, occ = 0; + int invert, i,j, k; + Client *c; + + for (c = m->clients; c; c = c->next) + occ |= c->tags; + + h = bh / tagrows; + x = max_x = x_pos; + y = 0; + columns = LENGTH(tags) / tagrows + ((LENGTH(tags) % tagrows > 0) ? 1 : 0); + + /* Firstly we will fill the borders of squares */ + XFillRectangle(dpy, drw->drawable, drw->gc, x, y, h*columns + 1, bh); + + /* We will draw LENGTH(tags) squares in tagraws raws. */ + for (j = 0, i = 0; j < tagrows; j++) { + x = x_pos; + for (k = 0; k < columns && i < LENGTH(tags); k++, i++) { + invert = m->tagset[m->seltags] & 1 << i ? 0 : 1; + + /* Select active color for current square */ + XSetForeground(drw->dpy, drw->gc, !invert ? scheme[SchemeSel][ColBg].pixel : + scheme[SchemeNorm][ColFg].pixel); + XFillRectangle(dpy, drw->drawable, drw->gc, x+1, y+1, h-1, h-1); + + /* Mark square if tag has client */ + if (occ & 1 << i) { + XSetForeground(drw->dpy, drw->gc, !invert ? scheme[SchemeSel][ColFg].pixel : + scheme[SchemeNorm][ColBg].pixel); + XFillRectangle(dpy, drw->drawable, drw->gc, x + 1, y + 1, + h / 2, h / 2); + } + x += h; + if (x > max_x) { + max_x = x; + } + } + y += h; + } + return max_x; +} + +int +click_taggrid(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h) +{ + unsigned int i, columns; + + columns = LENGTH(tags) / tagrows + ((LENGTH(tags) % tagrows > 0) ? 1 : 0); + i = (rel_x - 0) / (bh / tagrows) + columns * (rel_y / (bh / tagrows)); + if (i >= LENGTH(tags)) { + i = LENGTH(tags) - 1; + } + arg->ui = 1 << i; + return ClkTagBar; +} + +void +switchtag(const Arg *arg) +{ + unsigned int columns; + unsigned int new_tagset = 0; + unsigned int pos, i; + int col, row; + Arg new_arg; + + columns = LENGTH(tags) / tagrows + ((LENGTH(tags) % tagrows > 0) ? 1 : 0); + + for (i = 0; i < LENGTH(tags); ++i) { + if (!(selmon->tagset[selmon->seltags] & 1 << i)) { + continue; + } + pos = i; + row = pos / columns; + col = pos % columns; + if (arg->ui & SWITCHTAG_UP) { /* UP */ + row --; + if (row < 0) { + row = tagrows - 1; + } + do { + pos = row * columns + col; + row --; + } while (pos >= LENGTH(tags)); + } + if (arg->ui & SWITCHTAG_DOWN) { /* DOWN */ + row ++; + if (row >= tagrows) { + row = 0; + } + pos = row * columns + col; + if (pos >= LENGTH(tags)) { + row = 0; + } + pos = row * columns + col; + } + if (arg->ui & SWITCHTAG_LEFT) { /* LEFT */ + col --; + if (col < 0) { + col = columns - 1; + } + do { + pos = row * columns + col; + col --; + } while (pos >= LENGTH(tags)); + } + if (arg->ui & SWITCHTAG_RIGHT) { /* RIGHT */ + col ++; + if (col >= columns) { + col = 0; + } + pos = row * columns + col; + if (pos >= LENGTH(tags)) { + col = 0; + pos = row * columns + col; + } + } + new_tagset |= 1 << pos; + } + new_arg.ui = new_tagset; + if (arg->ui & SWITCHTAG_TOGGLETAG) { + toggletag(&new_arg); + } + if (arg->ui & SWITCHTAG_TAG) { + tag(&new_arg); + } + if (arg->ui & SWITCHTAG_VIEW) { + view (&new_arg); + } + if (arg->ui & SWITCHTAG_TOGGLEVIEW) { + toggleview (&new_arg); + } +}
\ No newline at end of file diff --git a/patch/bar_taggrid.h b/patch/bar_taggrid.h new file mode 100644 index 0000000..ca8a16c --- /dev/null +++ b/patch/bar_taggrid.h @@ -0,0 +1,4 @@ +static int width_taggrid(Monitor *m, int max_width); +static int draw_taggrid(Monitor *m, int x, int w); +static int click_taggrid(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h); +static void switchtag(const Arg *arg);
\ No newline at end of file diff --git a/patch/bar_tags.c b/patch/bar_tags.c new file mode 100644 index 0000000..73dc5d7 --- /dev/null +++ b/patch/bar_tags.c @@ -0,0 +1,123 @@ +int +width_tags(Monitor *m, int max_width) +{ + int w, i; + for (w = 0, i = 0; i < LENGTH(tags); i++) { + #if BAR_ALTERNATIVE_TAGS_PATCH + w += selmon->alttag ? TEXTW(tagsalt[i]) : TEXTW(tags[i]); + #else + w += TEXTW(tags[i]); + #endif // BAR_ALTERNATIVE_TAGS_PATCH + } + return w; +} + +int +draw_tags(Monitor *m, int x, int w) +{ + int invert; + #if BAR_ALTERNATIVE_TAGS_PATCH + int wdelta; + #endif // BAR_ALTERNATIVE_TAGS_PATCH + #if !BAR_HIDEVACANTTAGS_PATCH + #if !BAR_ACTIVETAGINDICATORBAR_PATCH && !BAR_ACTIVETAGINDICATORBAR_ALT1_PATCH + #if BAR_PANGO_PATCH + int boxs = drw->font->h / 9; + #else + int boxs = drw->fonts->h / 9; + #endif // BAR_PANGO_PATCH + #endif // BAR_ACTIVETAGINDICATORBAR_PATCH | BAR_ACTIVETAGINDICATORBAR_ALT1_PATCH + #if BAR_PANGO_PATCH + int boxw = drw->font->h / 6 + 2; + #else + int boxw = drw->fonts->h / 6 + 2; + #endif // BAR_PANGO_PATCH + #endif // BAR_HIDEVACANTTAGS_PATCH + unsigned int i, occ = 0, urg = 0; + Client *c; + + for (c = m->clients; c; c = c->next) { + #if BAR_HIDEVACANTTAGS_PATCH + occ |= c->tags == 255 ? 0 : c->tags; + #else + occ |= c->tags; + #endif // BAR_HIDEVACANTTAGS_PATCH + if (c->isurgent) + urg |= c->tags; + } + + for (i = 0; i < LENGTH(tags); i++) { + #if URGENTBORDER_PATCH + invert = 0; + #else + invert = urg & 1 << i; + #endif // URGENTBORDER_PATCH + #if BAR_HIDEVACANTTAGS_PATCH + /* do not draw vacant tags */ + if (!(occ & 1 << i || m->tagset[m->seltags] & 1 << i)) + continue; + #endif // BAR_HIDEVACANTTAGS_PATCH + w = TEXTW(tags[i]); + #if BAR_ALTERNATIVE_TAGS_PATCH + wdelta = selmon->alttag ? abs(TEXTW(tags[i]) - TEXTW(tagsalt[i])) / 2 : 0; + #endif // BAR_ALTERNATIVE_TAGS_PATCH + #if URGENTBORDER_PATCH + if (m->tagset[m->seltags] & 1 << i) + #if BAR_VTCOLORS_PATCH + drw_setscheme(drw, scheme[SchemeTagsSel]); + #else + drw_setscheme(drw, scheme[SchemeSel]); + #endif // BAR_VTCOLORS_PATCH + else + #if BAR_VTCOLORS_PATCH + drw_setscheme(drw, scheme[urg & 1 << i ? SchemeUrg : SchemeTagsNorm]); + #else + drw_setscheme(drw, scheme[urg & 1 << i ? SchemeUrg : SchemeNorm]); + #endif // BAR_VTCOLORS_PATCH + #elif BAR_VTCOLORS_PATCH + drw_setscheme(drw, scheme[m->tagset[m->seltags] & 1 << i ? SchemeTagsSel : SchemeTagsNorm]); + #else // URGENTBORDER_PATCH + drw_setscheme(drw, scheme[m->tagset[m->seltags] & 1 << i ? SchemeSel : SchemeNorm]); + #endif // URGENTBORDER_PATCH + #if BAR_ALTERNATIVE_TAGS_PATCH && BAR_PANGO_PATCH + drw_text(drw, x, 0, w, bh, wdelta + lrpad / 2, (selmon->alttag ? tagsalt[i] : tags[i]), invert, False); + #elif BAR_ALTERNATIVE_TAGS_PATCH + drw_text(drw, x, 0, w, bh, wdelta + lrpad / 2, (selmon->alttag ? tagsalt[i] : tags[i]), invert); + #elif BAR_PANGO_PATCH + drw_text(drw, x, 0, w, bh, lrpad / 2, tags[i], invert, False); + #else + drw_text(drw, x, 0, w, bh, lrpad / 2, tags[i], invert); + #endif // BAR_ALTERNATIVE_TAGS_PATCH + #if !BAR_HIDEVACANTTAGS_PATCH + if (occ & 1 << i) + #if BAR_ACTIVETAGINDICATORBAR_PATCH + drw_rect(drw, x + boxw, 0, w - ( 2 * boxw + 1), boxw, + #elif BAR_ACTIVETAGINDICATORBAR_ALT1_PATCH + drw_rect(drw, x + boxw, bh - boxw/2, w - ( 2 * boxw + 1), boxw/2, + #else + drw_rect(drw, x + boxs, boxs, boxw, boxw, + #endif // BAR_ACTIVETAGINDICATORBAR_PATCH + m == selmon && selmon->sel && selmon->sel->tags & 1 << i, invert); + #endif // BAR_HIDEVACANTTAGS_PATCH + x += w; + } + + return x; +} + +int +click_tags(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h) +{ + int i = 0, x = 0; + do + #if BAR_ALTERNATIVE_TAGS_PATCH + x += selmon->alttag ? TEXTW(tagsalt[i]) : TEXTW(tags[i]); + #else + x += TEXTW(tags[i]); + #endif + while (rel_x >= x && ++i < LENGTH(tags)); + if (i < LENGTH(tags)) { + arg->ui = 1 << i; + } + return ClkTagBar; +} diff --git a/patch/bar_tags.h b/patch/bar_tags.h new file mode 100644 index 0000000..788c488 --- /dev/null +++ b/patch/bar_tags.h @@ -0,0 +1,3 @@ +static int width_tags(Monitor *m, int max_width); +static int draw_tags(Monitor *m, int x, int w); +static int click_tags(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h);
\ No newline at end of file diff --git a/patch/bar_wintitle.c b/patch/bar_wintitle.c new file mode 100644 index 0000000..e937723 --- /dev/null +++ b/patch/bar_wintitle.c @@ -0,0 +1,89 @@ +int +width_wintitle(Monitor *m, int max_width) +{ + return max_width; +} + +int +draw_wintitle(Monitor *m, int x, int w) +{ + #if !BAR_ACTIVETAGINDICATORBAR_PATCH && !BAR_ACTIVETAGINDICATORBAR_ALT1_PATCH + #if BAR_PANGO_PATCH + int boxs = drw->font->h / 9; + #else + int boxs = drw->fonts->h / 9; + #endif // BAR_PANGO_PATCH + #endif // BAR_ACTIVETAGINDICATORBAR_PATCH | BAR_ACTIVETAGINDICATORBAR_ALT1_PATCH + #if BAR_PANGO_PATCH + int boxw = drw->font->h / 6 + 2; + #else + int boxw = drw->fonts->h / 6 + 2; + #endif // BAR_PANGO_PATCH + + if (m->sel) { + #if BAR_VTCOLORS_PATCH + drw_setscheme(drw, scheme[m == selmon ? SchemeTitleSel : SchemeTitleNorm]); + #elif BAR_TITLECOLOR_PATCH + drw_setscheme(drw, scheme[m == selmon ? SchemeTitle : SchemeNorm]); + #else + drw_setscheme(drw, scheme[m == selmon ? SchemeSel : SchemeNorm]); + #endif // BAR_VTCOLORS_PATCH / BAR_TITLECOLOR_PATCH + #if BAR_IGNORE_XFT_ERRORS_WHEN_DRAWING_TEXT_PATCH + XSetErrorHandler(xerrordummy); + #endif // BAR_IGNORE_XFT_ERRORS_WHEN_DRAWING_TEXT_PATCH + #if BAR_CENTEREDWINDOWNAME_PATCH + int mid = (m->ww - TEXTW(m->sel->name)) / 2 - x; + #if BAR_PADDING_PATCH && BAR_PANGO_PATCH + drw_text(drw, x, 0, w - 2*sp, bh, mid, m->sel->name, 0, False); + #elif BAR_PADDING_PATCH + drw_text(drw, x, 0, w - 2*sp, bh, mid, m->sel->name, 0); + #elif BAR_PANGO_PATCH + drw_text(drw, x, 0, w, bh, mid, m->sel->name, 0, False); + #else + drw_text(drw, x, 0, w, bh, mid, m->sel->name, 0); + #endif // BAR_PADDING_PATCH + #else + #if BAR_PADDING_PATCH && BAR_PANGO_PATCH + drw_text(drw, x, 0, w - 2*sp, bh, lrpad / 2, m->sel->name, 0, False); + #elif BAR_PADDING_PATCH + drw_text(drw, x, 0, w - 2*sp, bh, lrpad / 2, m->sel->name, 0); + #elif BAR_PANGO_PATCH + drw_text(drw, x, 0, w, bh, lrpad / 2, m->sel->name, 0, False); + #else + drw_text(drw, x, 0, w, bh, lrpad / 2, m->sel->name, 0); + #endif // BAR_PADDING_PATCH + #endif // BAR_CENTEREDWINDOWNAME_PATCH + #if BAR_IGNORE_XFT_ERRORS_WHEN_DRAWING_TEXT_PATCH + XSync(dpy, False); + XSetErrorHandler(xerror); + #endif // BAR_IGNORE_XFT_ERRORS_WHEN_DRAWING_TEXT_PATCH + if (m->sel->isfloating) + #if BAR_ACTIVETAGINDICATORBAR_PATCH + drw_rect(drw, x + boxw, 0, w - ( 2 * boxw + 1), boxw, m->sel->isfixed, 0); + #elif BAR_ACTIVETAGINDICATORBAR_ALT1_PATCH + drw_rect(drw, x + boxw, bh - boxw/2, w - ( 2 * boxw + 1), boxw/2, + #else + drw_rect(drw, x + boxs, boxs, boxw, boxw, m->sel->isfixed, 0); + #endif // BAR_ACTIVETAGINDICATORBAR_PATCH + } else { + #if BAR_VTCOLORS_PATCH + drw_setscheme(drw, scheme[SchemeTitleNorm]); + #else + drw_setscheme(drw, scheme[SchemeNorm]); + #endif // BAR_VTCOLORS_PATCH + #if BAR_PADDING_PATCH + drw_rect(drw, x, 0, w - 2 * sp, bh, 1, 1); + #else + drw_rect(drw, x, 0, w, bh, 1, 1); + #endif // BAR_PADDING_PATCH + } + return x + w; +} + +int +click_wintitle(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h) +{ + return ClkWinTitle; +} + + diff --git a/patch/bar_wintitle.h b/patch/bar_wintitle.h new file mode 100644 index 0000000..b1d7ddd --- /dev/null +++ b/patch/bar_wintitle.h @@ -0,0 +1,3 @@ +static int width_wintitle(Monitor *m, int max_width); +static int draw_wintitle(Monitor *m, int x, int w); +static int click_wintitle(Monitor *m, Arg *arg, int rel_x, int rel_y, int rel_w, int rel_h);
\ No newline at end of file diff --git a/patch/combo.c b/patch/combo.c index 907b645..43f7e5d 100644 --- a/patch/combo.c +++ b/patch/combo.c @@ -1,12 +1,12 @@ static int combo = 0; -#if !HOLDBAR_PATCH +#if !BAR_HOLDBAR_PATCH void keyrelease(XEvent *e) { combo = 0; } -#endif // !HOLDBAR_PATCH +#endif // !BAR_HOLDBAR_PATCH void combotag(const Arg *arg) diff --git a/patch/combo.h b/patch/combo.h index 08be95e..752f636 100644 --- a/patch/combo.h +++ b/patch/combo.h @@ -1,5 +1,5 @@ -#if !HOLDBAR_PATCH +#if !BAR_HOLDBAR_PATCH static void keyrelease(XEvent *e); -#endif // !HOLDBAR_PATCH +#endif // !BAR_HOLDBAR_PATCH static void combotag(const Arg *arg); static void comboview(const Arg *arg);
\ No newline at end of file diff --git a/patch/holdbar.c b/patch/holdbar.c index e3a5bfc..4be9af1 100644 --- a/patch/holdbar.c +++ b/patch/holdbar.c @@ -5,18 +5,18 @@ holdbar(const Arg *arg) return; selmon->showbar = 2; updateholdbarpos(selmon); - #if BARPADDING_PATCH + #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 // BARPADDING_PATCH - #if EXTRABAR_PATCH - #if BARPADDING_PATCH + #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 // BARPADDING_PATCH - #endif // EXTRABAR_PATCH + #endif // BAR_PADDING_PATCH + #endif // BAR_EXTRABAR_PATCH } void @@ -35,18 +35,18 @@ keyrelease(XEvent *e) if (e->xkey.keycode == XKeysymToKeycode(dpy, HOLDKEY) && selmon->showbar == 2) { selmon->showbar = 0; updateholdbarpos(selmon); - #if BARPADDING_PATCH + #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 // BARPADDING_PATCH - #if EXTRABAR_PATCH - #if BARPADDING_PATCH + #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 // BARPADDING_PATCH - #endif // EXTRABAR_PATCH + #endif // BAR_PADDING_PATCH + #endif // BAR_EXTRABAR_PATCH arrange(selmon); } #if COMBO_PATCH @@ -59,8 +59,8 @@ updateholdbarpos(Monitor *m) { m->wy = m->my; m->wh = m->mh; - #if EXTRABAR_PATCH - #if BARPADDING_PATCH + #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) { @@ -80,8 +80,8 @@ updateholdbarpos(Monitor *m) m->by = -bh; m->eby = -bh; } - #endif // BARPADDING_PATCH - #elif BARPADDING_PATCH + #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; @@ -95,5 +95,5 @@ updateholdbarpos(Monitor *m) m->wy = m->topbar ? m->wy + bh : m->wy; } else m->by = -bh; - #endif // EXTRABAR_PATCH + #endif // BAR_EXTRABAR_PATCH } diff --git a/patch/include.c b/patch/include.c index d574fd6..5cde652 100644 --- a/patch/include.c +++ b/patch/include.c @@ -1,19 +1,57 @@ -/* Patches */ -#if ALPHA_PATCH -#include "alpha.c" +/* Bar functionality */ +#if BAR_ALPHA_PATCH +#include "bar_alpha.c" #endif -#if ALTERNATIVE_TAGS_PATCH -#include "alternativetags.c" +#if BAR_ALTERNATIVE_TAGS_PATCH +#include "bar_alternativetags.c" #endif +#if BAR_DWMBLOCKS_PATCH && BAR_STATUSCMD_PATCH +#include "bar_dwmblocks.c" +#endif +#if BAR_LTSYMBOL_PATCH +#include "bar_ltsymbol.c" +#endif +#if BAR_STATUS_PATCH +#include "bar_status.c" +#endif +#if BAR_STATUS2D_PATCH +#include "bar_status2d.c" +#if BAR_EXTRABAR_PATCH +#include "bar_status2d_eb.c" +#endif // BAR_EXTRABAR_PATCH +#endif +#if BAR_STATUSBUTTON_PATCH +#include "bar_statusbutton.c" +#endif +#if BAR_STATUSCMD_PATCH +#include "bar_statuscmd.c" +#endif +#if BAR_TAGS_PATCH +#include "bar_tags.c" +#endif +#if BAR_TAGGRID_PATCH +#include "bar_taggrid.c" +#endif +#if BAR_WINTITLE_PATCH +#include "bar_wintitle.c" +#endif +#if BAR_FANCYBAR_PATCH +#include "bar_fancybar.c" +#endif +#if BAR_AWESOMEBAR_PATCH +#include "bar_awesomebar.c" +#endif +#if BAR_SYSTRAY_PATCH +#include "bar_systray.c" +#endif + +/* Other patches */ #if ATTACHABOVE_PATCH || ATTACHASIDE_PATCH || ATTACHBELOW_PATCH || ATTACHBOTTOM_PATCH #include "attachx.c" #endif #if AUTOSTART_PATCH #include "autostart.c" #endif -#if AWESOMEBAR_PATCH -#include "awesomebar.c" -#endif #if CFACTS_PATCH #include "cfacts.c" #endif @@ -29,15 +67,12 @@ #if DRAGCFACT_PATCH && CFACTS_PATCH #include "dragcfact.c" #endif -#if DWMBLOCKS_PATCH && STATUSCMD_PATCH -#include "dwmblocks.c" -#endif #if DWMC_PATCH #include "dwmc.c" #elif FSIGNAL_PATCH #include "fsignal.c" #endif -#if EWMHTAGS_PATCH +#if BAR_EWMHTAGS_PATCH #include "ewmhtags.c" #endif #if EXRESIZE_PATCH @@ -58,7 +93,7 @@ #if FULLSCREEN_PATCH #include "fullscreen.c" #endif -#if HOLDBAR_PATCH +#if BAR_HOLDBAR_PATCH #include "holdbar.c" #endif #if INPLACEROTATE_PATCH @@ -131,21 +166,12 @@ #if STACKER_PATCH #include "stacker.c" #endif -#if STATUS2D_PATCH && !STATUSCOLORS_PATCH -#include "status2d.c" -#endif -#if STATUSCOLORS_PATCH +#if BAR_STATUSCOLORS_PATCH #include "statuscolors.c" #endif -#if STATUSCMD_PATCH -#include "statuscmd.c" -#endif #if STICKY_PATCH #include "sticky.c" #endif -#if SYSTRAY_PATCH -#include "systray.c" -#endif #if SWALLOW_PATCH #include "swallow.c" #endif @@ -188,7 +214,7 @@ #if VANITYGAPS_PATCH #include "vanitygaps.c" #endif -#if VTCOLORS_PATCH +#if BAR_VTCOLORS_PATCH #include "vtcolors.c" #endif #if WARP_PATCH @@ -200,7 +226,7 @@ #if ZOOMSWAP_PATCH #include "zoomswap.c" #endif -#if XRDB_PATCH && !VTCOLORS_PATCH +#if XRDB_PATCH && !BAR_VTCOLORS_PATCH #include "xrdb.c" #endif #if DRAGMFACT_PATCH @@ -211,44 +237,44 @@ #include "layout_facts.c" #endif #if BSTACK_LAYOUT -#include "bstack.c" +#include "layout_bstack.c" #endif #if BSTACKHORIZ_LAYOUT -#include "bstackhoriz.c" +#include "layout_bstackhoriz.c" #endif #if CENTEREDMASTER_LAYOUT -#include "centeredmaster.c" +#include "layout_centeredmaster.c" #endif #if CENTEREDFLOATINGMASTER_LAYOUT -#include "centeredfloatingmaster.c" +#include "layout_centeredfloatingmaster.c" #endif #if COLUMNS_LAYOUT -#include "columns.c" +#include "layout_columns.c" #endif #if DECK_LAYOUT -#include "deck.c" +#include "layout_deck.c" #endif #if FIBONACCI_DWINDLE_LAYOUT || FIBONACCI_SPIRAL_LAYOUT -#include "fibonacci.c" +#include "layout_fibonacci.c" #endif #if FLEXTILE_DELUXE_LAYOUT -#include "flextile-deluxe.c" +#include "layout_flextile-deluxe.c" #endif #if GAPPLESSGRID_LAYOUT -#include "gapplessgrid.c" +#include "layout_gapplessgrid.c" #endif #if GRIDMODE_LAYOUT -#include "grid.c" +#include "layout_grid.c" #endif #if HORIZGRID_LAYOUT -#include "horizgrid.c" +#include "layout_horizgrid.c" #endif #if MONOCLE_LAYOUT -#include "monocle.c" +#include "layout_monocle.c" #endif #if NROWGRID_LAYOUT -#include "nrowgrid.c" +#include "layout_nrowgrid.c" #endif #if TILE_LAYOUT -#include "tile.c" -#endif +#include "layout_tile.c" +#endif
\ No newline at end of file diff --git a/patch/include.h b/patch/include.h index 97628aa..49ce915 100644 --- a/patch/include.h +++ b/patch/include.h @@ -1,19 +1,57 @@ -/* Patches */ -#if ALPHA_PATCH -#include "alpha.h" +/* Bar functionality */ +#if BAR_ALPHA_PATCH +#include "bar_alpha.h" #endif -#if ALTERNATIVE_TAGS_PATCH -#include "alternativetags.h" +#if BAR_ALTERNATIVE_TAGS_PATCH +#include "bar_alternativetags.h" #endif +#if BAR_DWMBLOCKS_PATCH && BAR_STATUSCMD_PATCH +#include "bar_dwmblocks.h" +#endif +#if BAR_LTSYMBOL_PATCH +#include "bar_ltsymbol.h" +#endif +#if BAR_STATUS_PATCH +#include "bar_status.h" +#endif +#if BAR_STATUS2D_PATCH +#include "bar_status2d.h" +#if BAR_EXTRABAR_PATCH +#include "bar_status2d_eb.h" +#endif // BAR_EXTRABAR_PATCH +#endif +#if BAR_STATUSBUTTON_PATCH +#include "bar_statusbutton.h" +#endif +#if BAR_STATUSCMD_PATCH +#include "bar_statuscmd.h" +#endif +#if BAR_TAGS_PATCH +#include "bar_tags.h" +#endif +#if BAR_TAGGRID_PATCH +#include "bar_taggrid.h" +#endif +#if BAR_WINTITLE_PATCH +#include "bar_wintitle.h" +#endif +#if BAR_FANCYBAR_PATCH +#include "bar_fancybar.h" +#endif +#if BAR_AWESOMEBAR_PATCH +#include "bar_awesomebar.h" +#endif +#if BAR_SYSTRAY_PATCH +#include "bar_systray.h" +#endif + +/* Other patches */ #if ATTACHABOVE_PATCH || ATTACHASIDE_PATCH || ATTACHBELOW_PATCH || ATTACHBOTTOM_PATCH #include "attachx.h" #endif #if AUTOSTART_PATCH #include "autostart.h" #endif -#if AWESOMEBAR_PATCH -#include "awesomebar.h" -#endif #if CFACTS_PATCH #include "cfacts.h" #endif @@ -32,15 +70,12 @@ #if DRAGMFACT_PATCH #include "dragmfact.h" #endif -#if DWMBLOCKS_PATCH && STATUSCMD_PATCH -#include "dwmblocks.h" -#endif #if DWMC_PATCH #include "dwmc.h" #elif FSIGNAL_PATCH #include "fsignal.h" #endif -#if EWMHTAGS_PATCH +#if BAR_EWMHTAGS_PATCH #include "ewmhtags.h" #endif #if EXRESIZE_PATCH @@ -61,7 +96,7 @@ #if FULLSCREEN_PATCH #include "fullscreen.h" #endif -#if HOLDBAR_PATCH +#if BAR_HOLDBAR_PATCH #include "holdbar.h" #endif #if INPLACEROTATE_PATCH @@ -134,18 +169,9 @@ #if STACKER_PATCH #include "stacker.h" #endif -#if STATUS2D_PATCH && !STATUSCOLORS_PATCH -#include "status2d.h" -#endif -#if STATUSCMD_PATCH -#include "statuscmd.h" -#endif #if STICKY_PATCH #include "sticky.h" #endif -#if SYSTRAY_PATCH -#include "systray.h" -#endif #if SWALLOW_PATCH #include "swallow.h" #endif @@ -188,7 +214,7 @@ #if VANITYGAPS_PATCH #include "vanitygaps.h" #endif -#if VTCOLORS_PATCH +#if BAR_VTCOLORS_PATCH #include "vtcolors.h" #endif #if WARP_PATCH @@ -200,49 +226,49 @@ #if ZOOMSWAP_PATCH #include "zoomswap.h" #endif -#if XRDB_PATCH && !VTCOLORS_PATCH +#if XRDB_PATCH && !BAR_VTCOLORS_PATCH #include "xrdb.h" #endif /* Layouts */ #if BSTACK_LAYOUT -#include "bstack.h" +#include "layout_bstack.h" #endif #if BSTACKHORIZ_LAYOUT -#include "bstackhoriz.h" +#include "layout_bstackhoriz.h" #endif #if CENTEREDMASTER_LAYOUT -#include "centeredmaster.h" +#include "layout_centeredmaster.h" #endif #if CENTEREDFLOATINGMASTER_LAYOUT -#include "centeredfloatingmaster.h" +#include "layout_centeredfloatingmaster.h" #endif #if COLUMNS_LAYOUT -#include "columns.h" +#include "layout_columns.h" #endif #if DECK_LAYOUT -#include "deck.h" +#include "layout_deck.h" #endif #if FIBONACCI_DWINDLE_LAYOUT || FIBONACCI_SPIRAL_LAYOUT -#include "fibonacci.h" +#include "layout_fibonacci.h" #endif #if FLEXTILE_DELUXE_LAYOUT -#include "flextile-deluxe.h" +#include "layout_flextile-deluxe.h" #endif #if GAPPLESSGRID_LAYOUT -#include "gapplessgrid.h" +#include "layout_gapplessgrid.h" #endif #if GRIDMODE_LAYOUT -#include "grid.h" +#include "layout_grid.h" #endif #if HORIZGRID_LAYOUT -#include "horizgrid.h" +#include "layout_horizgrid.h" #endif #if MONOCLE_LAYOUT -#include "monocle.h" +#include "layout_monocle.h" #endif #if NROWGRID_LAYOUT -#include "nrowgrid.h" +#include "layout_nrowgrid.h" #endif #if TILE_LAYOUT -#include "tile.h" -#endif +#include "layout_tile.h" +#endif
\ No newline at end of file diff --git a/patch/killunsel.c b/patch/killunsel.c index 1e15d2b..774847b 100644 --- a/patch/killunsel.c +++ b/patch/killunsel.c @@ -8,11 +8,11 @@ killunsel(const Arg *arg) for (i = selmon->clients; i; i = i->next) { if (ISVISIBLE(i) && i != selmon->sel) { - #if SYSTRAY_PATCH + #if BAR_SYSTRAY_PATCH if (!sendevent(i->win, wmatom[WMDelete], NoEventMask, wmatom[WMDelete], CurrentTime, 0, 0, 0)) #else if (!sendevent(i, wmatom[WMDelete])) - #endif // SYSTRAY_PATCH + #endif // BAR_SYSTRAY_PATCH { XGrabServer(dpy); XSetErrorHandler(xerrordummy); diff --git a/patch/bstack.c b/patch/layout_bstack.c index be06647..be06647 100644 --- a/patch/bstack.c +++ b/patch/layout_bstack.c diff --git a/patch/bstack.h b/patch/layout_bstack.h index 56c99ff..56c99ff 100644 --- a/patch/bstack.h +++ b/patch/layout_bstack.h diff --git a/patch/bstackhoriz.c b/patch/layout_bstackhoriz.c index 0f9042f..0f9042f 100644 --- a/patch/bstackhoriz.c +++ b/patch/layout_bstackhoriz.c diff --git a/patch/bstackhoriz.h b/patch/layout_bstackhoriz.h index 8dd0ebd..8dd0ebd 100644 --- a/patch/bstackhoriz.h +++ b/patch/layout_bstackhoriz.h diff --git a/patch/centeredfloatingmaster.c b/patch/layout_centeredfloatingmaster.c index 756b41f..756b41f 100644 --- a/patch/centeredfloatingmaster.c +++ b/patch/layout_centeredfloatingmaster.c diff --git a/patch/centeredfloatingmaster.h b/patch/layout_centeredfloatingmaster.h index e4147b3..e4147b3 100644 --- a/patch/centeredfloatingmaster.h +++ b/patch/layout_centeredfloatingmaster.h diff --git a/patch/centeredmaster.c b/patch/layout_centeredmaster.c index a72eb07..a72eb07 100644 --- a/patch/centeredmaster.c +++ b/patch/layout_centeredmaster.c diff --git a/patch/centeredmaster.h b/patch/layout_centeredmaster.h index b047212..b047212 100644 --- a/patch/centeredmaster.h +++ b/patch/layout_centeredmaster.h diff --git a/patch/columns.c b/patch/layout_columns.c index bcdaa11..bcdaa11 100644 --- a/patch/columns.c +++ b/patch/layout_columns.c diff --git a/patch/columns.h b/patch/layout_columns.h index 8f64a09..8f64a09 100644 --- a/patch/columns.h +++ b/patch/layout_columns.h diff --git a/patch/deck.c b/patch/layout_deck.c index 6f2027d..6f2027d 100644 --- a/patch/deck.c +++ b/patch/layout_deck.c diff --git a/patch/deck.h b/patch/layout_deck.h index abedeb2..abedeb2 100644 --- a/patch/deck.h +++ b/patch/layout_deck.h diff --git a/patch/fibonacci.c b/patch/layout_fibonacci.c index 87a1bdf..87a1bdf 100644 --- a/patch/fibonacci.c +++ b/patch/layout_fibonacci.c diff --git a/patch/fibonacci.h b/patch/layout_fibonacci.h index a15eb76..a15eb76 100644 --- a/patch/fibonacci.h +++ b/patch/layout_fibonacci.h diff --git a/patch/flextile-deluxe.c b/patch/layout_flextile-deluxe.c index a877c92..a877c92 100644 --- a/patch/flextile-deluxe.c +++ b/patch/layout_flextile-deluxe.c diff --git a/patch/flextile-deluxe.h b/patch/layout_flextile-deluxe.h index 01bce7b..01bce7b 100644 --- a/patch/flextile-deluxe.h +++ b/patch/layout_flextile-deluxe.h diff --git a/patch/gapplessgrid.c b/patch/layout_gapplessgrid.c index 0330181..0330181 100644 --- a/patch/gapplessgrid.c +++ b/patch/layout_gapplessgrid.c diff --git a/patch/gapplessgrid.h b/patch/layout_gapplessgrid.h index 28a7b5d..28a7b5d 100644 --- a/patch/gapplessgrid.h +++ b/patch/layout_gapplessgrid.h diff --git a/patch/grid.c b/patch/layout_grid.c index df19896..df19896 100644 --- a/patch/grid.c +++ b/patch/layout_grid.c diff --git a/patch/grid.h b/patch/layout_grid.h index 81149ce..81149ce 100644 --- a/patch/grid.h +++ b/patch/layout_grid.h diff --git a/patch/horizgrid.c b/patch/layout_horizgrid.c index 48f66ab..48f66ab 100644 --- a/patch/horizgrid.c +++ b/patch/layout_horizgrid.c diff --git a/patch/horizgrid.h b/patch/layout_horizgrid.h index 71a57fb..71a57fb 100644 --- a/patch/horizgrid.h +++ b/patch/layout_horizgrid.h diff --git a/patch/monocle.c b/patch/layout_monocle.c index 1533aa9..1533aa9 100644 --- a/patch/monocle.c +++ b/patch/layout_monocle.c diff --git a/patch/monocle.h b/patch/layout_monocle.h index d3df960..d3df960 100644 --- a/patch/monocle.h +++ b/patch/layout_monocle.h diff --git a/patch/nrowgrid.c b/patch/layout_nrowgrid.c index 5709d80..5709d80 100644 --- a/patch/nrowgrid.c +++ b/patch/layout_nrowgrid.c diff --git a/patch/nrowgrid.h b/patch/layout_nrowgrid.h index de71a50..de71a50 100644 --- a/patch/nrowgrid.h +++ b/patch/layout_nrowgrid.h diff --git a/patch/tile.c b/patch/layout_tile.c index fa0b90a..fa0b90a 100644 --- a/patch/tile.c +++ b/patch/layout_tile.c diff --git a/patch/tile.h b/patch/layout_tile.h index 8730e13..8730e13 100644 --- a/patch/tile.h +++ b/patch/layout_tile.h diff --git a/patch/status2d.h b/patch/status2d.h deleted file mode 100644 index 7688807..0000000 --- a/patch/status2d.h +++ /dev/null @@ -1,2 +0,0 @@ -static int drawstatusbar(Monitor *m, int bh, char* text, int stw, int stp, int align); -static int status2dtextlength(char* stext);
\ No newline at end of file diff --git a/patch/statuscolors.c b/patch/statuscolors.c index ef41735..cc24ad4 100644 --- a/patch/statuscolors.c +++ b/patch/statuscolors.c @@ -12,11 +12,11 @@ textw_wosc(char *s) } ctmp = *ts; *ts = '\0'; - #if PANGO_PATCH + #if BAR_PANGO_PATCH sw += drw_font_getwidth(drw, tp, True); #else sw += drw_fontset_getwidth(drw, tp); - #endif // PANGO_PATCH + #endif // BAR_PANGO_PATCH *ts = ctmp; if (ctmp == '\0') break; diff --git a/patch/xrdb.c b/patch/xrdb.c index ef9e186..f3bd38a 100644 --- a/patch/xrdb.c +++ b/patch/xrdb.c @@ -30,16 +30,16 @@ loadxrdb() XRDB_LOAD_COLOR("dwm.selfloatcolor", selfloatcolor); #endif // FLOAT_BORDER_COLOR_PATCH - #if STATUSCOLORS_PATCH + #if BAR_STATUSCOLORS_PATCH XRDB_LOAD_COLOR("dwm.warnfgcolor", warnfgcolor); XRDB_LOAD_COLOR("dwm.warnbgcolor", warnbgcolor); XRDB_LOAD_COLOR("dwm.warnbordercolor", warnbordercolor); #if FLOAT_BORDER_COLOR_PATCH XRDB_LOAD_COLOR("dwm.warnfloatcolor", warnfloatcolor); #endif // FLOAT_BORDER_COLOR_PATCH - #endif // STATUSCOLORS_PATCH + #endif // BAR_STATUSCOLORS_PATCH - #if URGENTBORDER_PATCH || STATUSCOLORS_PATCH + #if URGENTBORDER_PATCH || BAR_STATUSCOLORS_PATCH XRDB_LOAD_COLOR("dwm.urgfgcolor", urgfgcolor); XRDB_LOAD_COLOR("dwm.urgbgcolor", urgbgcolor); XRDB_LOAD_COLOR("dwm.urgbordercolor", urgbordercolor); @@ -57,14 +57,14 @@ loadxrdb() #endif // FLOAT_BORDER_COLOR_PATCH #endif // AWESOMEBAR_PATCH - #if TITLECOLOR_PATCH + #if BAR_TITLECOLOR_PATCH XRDB_LOAD_COLOR("dwm.titlefgcolor", titlefgcolor); XRDB_LOAD_COLOR("dwm.titlebgcolor", titlebgcolor); XRDB_LOAD_COLOR("dwm.titlebordercolor", titlebordercolor); #if FLOAT_BORDER_COLOR_PATCH XRDB_LOAD_COLOR("dwm.titlefloatcolor", titlefloatcolor); #endif // FLOAT_BORDER_COLOR_PATCH - #endif // TITLECOLOR_PATCH + #endif // BAR_TITLECOLOR_PATCH } } } @@ -79,9 +79,9 @@ xrdb(const Arg *arg) int i; for (i = 0; i < LENGTH(colors); i++) scheme[i] = drw_scm_create(drw, colors[i], - #if ALPHA_PATCH + #if BAR_ALPHA_PATCH alphas[i], - #endif // ALPHA_PATCH + #endif // BAR_ALPHA_PATCH #if FLOAT_BORDER_COLOR_PATCH 4 #else |
