commit a3f2b1e21130bde27b397725044477fa42b06ff5
Author: Mihir Lad <mihirlad55_AT_gmail.com>
Date: Sun Aug 9 22:22:47 2020 -0400
[dwm][patch][anybar] Update patch to v1.1.0
Also add v1.0.3 to v1.1.0 update patch.
diff --git a/dwm.suckless.org/patches/anybar/dwm-anybar-20200721-bb2e722.diff b/dwm.suckless.org/patches/anybar/dwm-anybar-20200810-bb2e722.diff
similarity index 82%
rename from dwm.suckless.org/patches/anybar/dwm-anybar-20200721-bb2e722.diff
rename to dwm.suckless.org/patches/anybar/dwm-anybar-20200810-bb2e722.diff
index 632be6c6..00fe940e 100644
--- a/dwm.suckless.org/patches/anybar/dwm-anybar-20200721-bb2e722.diff
+++ b/dwm.suckless.org/patches/anybar/dwm-anybar-20200810-bb2e722.diff
_AT_@ -1,6 +1,6 @@
-From 31a6d3319c4299dcc6ea9735e12ee2a437a889e4 Mon Sep 17 00:00:00 2001
+From 782f63d8f858b1c14df38aaf623438d7ea2f75e1 Mon Sep 17 00:00:00 2001
From: mihirlad55 <mihirlad55_AT_gmail.com>
-Date: Tue, 21 Jul 2020 01:32:07 +0000
+Date: Mon, 10 Aug 2020 01:39:35 +0000
Subject: [PATCH] Add support for managing external status bars
This patch allows dwm to manage other status bars such as
_AT_@ -25,25 +25,26 @@ monitor.
The patch is developed at
https://github.com/mihirlad55/dwm-anybar
---
- config.def.h | 2 +
- dwm.c | 105 ++++++++++++++++++++++++++++++++++++++++++++-------
- 2 files changed, 93 insertions(+), 14 deletions(-)
+ config.def.h | 3 ++
+ dwm.c | 114 ++++++++++++++++++++++++++++++++++++++++++++-------
+ 2 files changed, 103 insertions(+), 14 deletions(-)
diff --git a/config.def.h b/config.def.h
-index 1c0b587..cb32018 100644
+index 1c0b587..d0d60aa 100644
--- a/config.def.h
+++ b/config.def.h
-_AT_@ -5,6 +5,8 @@ static const unsigned int borderpx = 1; /* border pixel of windows */
+_AT_@ -5,6 +5,9 @@ static const unsigned int borderpx = 1; /* border pixel of windows */
static const unsigned int snap = 32; /* snap pixel */
static const int showbar = 1; /* 0 means no bar */
static const int topbar = 1; /* 0 means bottom bar */
+static const int usealtbar = 1; /* 1 means use non-dwm status bar */
+static const char *altbarclass = "Polybar"; /* Alternate bar class name */
++static const char *altbarcmd = "$HOME/bar.sh"; /* Alternate bar launch command */
static const char *fonts[] = { "monospace:size=10" };
static const char dmenufont[] = "monospace:size=10";
static const char col_gray1[] = "#222222";
diff --git a/dwm.c b/dwm.c
-index 9fd0286..74ec400 100644
+index 9fd0286..f149ab4 100644
--- a/dwm.c
+++ b/dwm.c
_AT_@ -47,8 +47,8 @@
_AT_@ -74,7 +75,15 @@ index 9fd0286..74ec400 100644
static void mappingnotify(XEvent *e);
static void maprequest(XEvent *e);
static void monocle(Monitor *m);
-_AT_@ -216,6 +217,7 @@ static void toggletag(const Arg *arg);
+_AT_@ -207,6 +208,7 @@ static void seturgent(Client *c, int urg);
+ static void showhide(Client *c);
+ static void sigchld(int unused);
+ static void spawn(const Arg *arg);
++static void spawnbar();
+ static void tag(const Arg *arg);
+ static void tagmon(const Arg *arg);
+ static void tile(Monitor *);
+_AT_@ -216,6 +218,7 @@ static void toggletag(const Arg *arg);
static void toggleview(const Arg *arg);
static void unfocus(Client *c, int setfocus);
static void unmanage(Client *c, int destroyed);
_AT_@ -82,7 +91,7 @@ index 9fd0286..74ec400 100644
static void unmapnotify(XEvent *e);
static void updatebarpos(Monitor *m);
static void updatebars(void);
-_AT_@ -230,6 +232,7 @@ static void updatewmhints(Client *c);
+_AT_@ -230,6 +233,7 @@ static void updatewmhints(Client *c);
static void view(const Arg *arg);
static Client *wintoclient(Window w);
static Monitor *wintomon(Window w);
_AT_@ -90,7 +99,7 @@ index 9fd0286..74ec400 100644
static int xerror(Display *dpy, XErrorEvent *ee);
static int xerrordummy(Display *dpy, XErrorEvent *ee);
static int xerrorstart(Display *dpy, XErrorEvent *ee);
-_AT_@ -505,8 +508,10 @@ cleanupmon(Monitor *mon)
+_AT_@ -505,8 +509,10 @@ cleanupmon(Monitor *mon)
for (m = mons; m && m->next != mon; m = m->next);
m->next = mon->next;
}
_AT_@ -103,7 +112,7 @@ index 9fd0286..74ec400 100644
free(mon);
}
-_AT_@ -568,7 +573,7 @@ configurenotify(XEvent *e)
+_AT_@ -568,7 +574,7 @@ configurenotify(XEvent *e)
for (c = m->clients; c; c = c->next)
if (c->isfullscreen)
resizeclient(c, m->mx, m->my, m->mw, m->mh);
_AT_@ -112,7 +121,7 @@ index 9fd0286..74ec400 100644
}
focus(NULL);
arrange(NULL);
-_AT_@ -639,6 +644,7 @@ createmon(void)
+_AT_@ -639,6 +645,7 @@ createmon(void)
m->nmaster = nmaster;
m->showbar = showbar;
m->topbar = topbar;
_AT_@ -120,7 +129,7 @@ index 9fd0286..74ec400 100644
m->lt[0] = &layouts[0];
m->lt[1] = &layouts[1 % LENGTH(layouts)];
strncpy(m->ltsymbol, layouts[0].symbol, sizeof m->ltsymbol);
-_AT_@ -649,10 +655,13 @@ void
+_AT_@ -649,10 +656,13 @@ void
destroynotify(XEvent *e)
{
Client *c;
_AT_@ -134,7 +143,7 @@ index 9fd0286..74ec400 100644
}
void
-_AT_@ -696,6 +705,9 @@ dirtomon(int dir)
+_AT_@ -696,6 +706,9 @@ dirtomon(int dir)
void
drawbar(Monitor *m)
{
_AT_@ -144,7 +153,7 @@ index 9fd0286..74ec400 100644
int x, w, tw = 0;
int boxs = drw->fonts->h / 9;
int boxw = drw->fonts->h / 6 + 2;
-_AT_@ -1077,6 +1089,25 @@ manage(Window w, XWindowAttributes *wa)
+_AT_@ -1077,6 +1090,25 @@ manage(Window w, XWindowAttributes *wa)
focus(NULL);
}
_AT_@ -170,7 +179,7 @@ index 9fd0286..74ec400 100644
void
mappingnotify(XEvent *e)
{
-_AT_@ -1097,7 +1128,9 @@ maprequest(XEvent *e)
+_AT_@ -1097,7 +1129,9 @@ maprequest(XEvent *e)
return;
if (wa.override_redirect)
return;
_AT_@ -181,7 +190,7 @@ index 9fd0286..74ec400 100644
manage(ev->window, &wa);
}
-_AT_@ -1393,7 +1426,9 @@ scan(void)
+_AT_@ -1393,7 +1427,9 @@ scan(void)
if (!XGetWindowAttributes(dpy, wins[i], &wa)
|| wa.override_redirect || XGetTransientForHint(dpy, wins[i], &d1))
continue;
_AT_@ -192,7 +201,7 @@ index 9fd0286..74ec400 100644
manage(wins[i], &wa);
}
for (i = 0; i < num; i++) { /* now the transients */
-_AT_@ -1546,7 +1581,7 @@ setup(void)
+_AT_@ -1546,7 +1582,7 @@ setup(void)
if (!drw_fontset_create(drw, fonts, LENGTH(fonts)))
die("no fonts could be loaded.");
lrpad = drw->fonts->h;
_AT_@ -201,7 +210,29 @@ index 9fd0286..74ec400 100644
updategeom();
/* init atoms */
utf8string = XInternAtom(dpy, "UTF8_STRING", False);
-_AT_@ -1704,7 +1739,7 @@ togglebar(const Arg *arg)
+_AT_@ -1595,6 +1631,7 @@ setup(void)
+ XSelectInput(dpy, root, wa.event_mask);
+ grabkeys();
+ focus(NULL);
++ spawnbar();
+ }
+
+
+_AT_@ -1653,6 +1690,13 @@ spawn(const Arg *arg)
+ }
+ }
+
++void
++spawnbar()
++{
++ if (*altbarcmd)
++ system(altbarcmd);
++}
++
+ void
+ tag(const Arg *arg)
+ {
+_AT_@ -1704,7 +1748,7 @@ togglebar(const Arg *arg)
{
selmon->showbar = !selmon->showbar;
updatebarpos(selmon);
_AT_@ -210,7 +241,7 @@ index 9fd0286..74ec400 100644
arrange(selmon);
}
-_AT_@ -1787,10 +1822,26 @@ unmanage(Client *c, int destroyed)
+_AT_@ -1787,10 +1831,26 @@ unmanage(Client *c, int destroyed)
arrange(m);
}
_AT_@ -237,7 +268,7 @@ index 9fd0286..74ec400 100644
XUnmapEvent *ev = &e->xunmap;
if ((c = wintoclient(ev->window))) {
-_AT_@ -1798,12 +1849,16 @@ unmapnotify(XEvent *e)
+_AT_@ -1798,12 +1858,16 @@ unmapnotify(XEvent *e)
setclientstate(c, WithdrawnState);
else
unmanage(c, 0);
_AT_@ -255,7 +286,7 @@ index 9fd0286..74ec400 100644
Monitor *m;
XSetWindowAttributes wa = {
.override_redirect = True,
-_AT_@ -1829,11 +1884,11 @@ updatebarpos(Monitor *m)
+_AT_@ -1829,11 +1893,11 @@ updatebarpos(Monitor *m)
m->wy = m->my;
m->wh = m->mh;
if (m->showbar) {
_AT_@ -270,7 +301,7 @@ index 9fd0286..74ec400 100644
}
void
-_AT_@ -2077,6 +2132,28 @@ wintomon(Window w)
+_AT_@ -2077,6 +2141,28 @@ wintomon(Window w)
return selmon;
}
_AT_@ -300,5 +331,5 @@ index 9fd0286..74ec400 100644
* ignored (especially on UnmapNotify's). Other types of errors call Xlibs
* default error handler, which may call exit. */
--
-2.27.0
+2.28.0
diff --git a/dwm.suckless.org/patches/anybar/dwm-anybar-polybar-tray-fix-20200721-bb2e722.diff b/dwm.suckless.org/patches/anybar/dwm-anybar-polybar-tray-fix-20200810-bb2e722.diff
similarity index 85%
rename from dwm.suckless.org/patches/anybar/dwm-anybar-polybar-tray-fix-20200721-bb2e722.diff
rename to dwm.suckless.org/patches/anybar/dwm-anybar-polybar-tray-fix-20200810-bb2e722.diff
index e52354b7..693bb7b5 100644
--- a/dwm.suckless.org/patches/anybar/dwm-anybar-polybar-tray-fix-20200721-bb2e722.diff
+++ b/dwm.suckless.org/patches/anybar/dwm-anybar-polybar-tray-fix-20200810-bb2e722.diff
_AT_@ -1,6 +1,6 @@
-From 62286f56a59ebd0ef7ee1308dd957d09c1ad0b11 Mon Sep 17 00:00:00 2001
+From 9b5719969ce85c3ecc0238d49c0255c5c2cc79f0 Mon Sep 17 00:00:00 2001
From: mihirlad55 <mihirlad55_AT_gmail.com>
-Date: Tue, 21 Jul 2020 01:32:06 +0000
+Date: Mon, 10 Aug 2020 01:39:28 +0000
Subject: [PATCH] Add support for managing external status bars
This patch allows dwm to manage other status bars such as
_AT_@ -27,26 +27,27 @@ This verison of the patch fixes handling of polybar's tray.
The patch is developed at
https://github.com/mihirlad55/dwm-anybar
---
- config.def.h | 3 +
- dwm.c | 183 ++++++++++++++++++++++++++++++++++++++++++++++-----
- 2 files changed, 171 insertions(+), 15 deletions(-)
+ config.def.h | 4 ++
+ dwm.c | 192 +++++++++++++++++++++++++++++++++++++++++++++++----
+ 2 files changed, 181 insertions(+), 15 deletions(-)
diff --git a/config.def.h b/config.def.h
-index 1c0b587..6dc83bd 100644
+index 1c0b587..f45211b 100644
--- a/config.def.h
+++ b/config.def.h
-_AT_@ -5,6 +5,9 @@ static const unsigned int borderpx = 1; /* border pixel of windows */
+_AT_@ -5,6 +5,10 @@ static const unsigned int borderpx = 1; /* border pixel of windows */
static const unsigned int snap = 32; /* snap pixel */
static const int showbar = 1; /* 0 means no bar */
static const int topbar = 1; /* 0 means bottom bar */
+static const int usealtbar = 1; /* 1 means use non-dwm status bar */
+static const char *altbarclass = "Polybar"; /* Alternate bar class name */
+static const char *alttrayname = "tray"; /* Polybar tray instance name */
++static const char *altbarcmd = "$HOME/bar.sh"; /* Alternate bar launch command */
static const char *fonts[] = { "monospace:size=10" };
static const char dmenufont[] = "monospace:size=10";
static const char col_gray1[] = "#222222";
diff --git a/dwm.c b/dwm.c
-index 9fd0286..c8fd4b2 100644
+index 9fd0286..c1d8ce0 100644
--- a/dwm.c
+++ b/dwm.c
_AT_@ -47,8 +47,8 @@
_AT_@ -95,7 +96,15 @@ index 9fd0286..c8fd4b2 100644
static int sendevent(Client *c, Atom proto);
static void sendmon(Client *c, Monitor *m);
static void setclientstate(Client *c, long state);
-_AT_@ -216,6 +221,8 @@ static void toggletag(const Arg *arg);
+_AT_@ -207,6 +212,7 @@ static void seturgent(Client *c, int urg);
+ static void showhide(Client *c);
+ static void sigchld(int unused);
+ static void spawn(const Arg *arg);
++static void spawnbar();
+ static void tag(const Arg *arg);
+ static void tagmon(const Arg *arg);
+ static void tile(Monitor *);
+_AT_@ -216,6 +222,8 @@ static void toggletag(const Arg *arg);
static void toggleview(const Arg *arg);
static void unfocus(Client *c, int setfocus);
static void unmanage(Client *c, int destroyed);
_AT_@ -104,7 +113,7 @@ index 9fd0286..c8fd4b2 100644
static void unmapnotify(XEvent *e);
static void updatebarpos(Monitor *m);
static void updatebars(void);
-_AT_@ -230,6 +237,7 @@ static void updatewmhints(Client *c);
+_AT_@ -230,6 +238,7 @@ static void updatewmhints(Client *c);
static void view(const Arg *arg);
static Client *wintoclient(Window w);
static Monitor *wintomon(Window w);
_AT_@ -112,7 +121,7 @@ index 9fd0286..c8fd4b2 100644
static int xerror(Display *dpy, XErrorEvent *ee);
static int xerrordummy(Display *dpy, XErrorEvent *ee);
static int xerrorstart(Display *dpy, XErrorEvent *ee);
-_AT_@ -505,8 +513,10 @@ cleanupmon(Monitor *mon)
+_AT_@ -505,8 +514,10 @@ cleanupmon(Monitor *mon)
for (m = mons; m && m->next != mon; m = m->next);
m->next = mon->next;
}
_AT_@ -125,7 +134,7 @@ index 9fd0286..c8fd4b2 100644
free(mon);
}
-_AT_@ -568,7 +578,7 @@ configurenotify(XEvent *e)
+_AT_@ -568,7 +579,7 @@ configurenotify(XEvent *e)
for (c = m->clients; c; c = c->next)
if (c->isfullscreen)
resizeclient(c, m->mx, m->my, m->mw, m->mh);
_AT_@ -134,7 +143,7 @@ index 9fd0286..c8fd4b2 100644
}
focus(NULL);
arrange(NULL);
-_AT_@ -639,6 +649,7 @@ createmon(void)
+_AT_@ -639,6 +650,7 @@ createmon(void)
m->nmaster = nmaster;
m->showbar = showbar;
m->topbar = topbar;
_AT_@ -142,7 +151,7 @@ index 9fd0286..c8fd4b2 100644
m->lt[0] = &layouts[0];
m->lt[1] = &layouts[1 % LENGTH(layouts)];
strncpy(m->ltsymbol, layouts[0].symbol, sizeof m->ltsymbol);
-_AT_@ -649,10 +660,15 @@ void
+_AT_@ -649,10 +661,15 @@ void
destroynotify(XEvent *e)
{
Client *c;
_AT_@ -158,7 +167,7 @@ index 9fd0286..c8fd4b2 100644
}
void
-_AT_@ -696,6 +712,9 @@ dirtomon(int dir)
+_AT_@ -696,6 +713,9 @@ dirtomon(int dir)
void
drawbar(Monitor *m)
{
_AT_@ -168,7 +177,7 @@ index 9fd0286..c8fd4b2 100644
int x, w, tw = 0;
int boxs = drw->fonts->h / 9;
int boxw = drw->fonts->h / 6 + 2;
-_AT_@ -1077,6 +1096,45 @@ manage(Window w, XWindowAttributes *wa)
+_AT_@ -1077,6 +1097,45 @@ manage(Window w, XWindowAttributes *wa)
focus(NULL);
}
_AT_@ -214,7 +223,7 @@ index 9fd0286..c8fd4b2 100644
void
mappingnotify(XEvent *e)
{
-_AT_@ -1097,7 +1155,9 @@ maprequest(XEvent *e)
+_AT_@ -1097,7 +1156,9 @@ maprequest(XEvent *e)
return;
if (wa.override_redirect)
return;
_AT_@ -225,7 +234,7 @@ index 9fd0286..c8fd4b2 100644
manage(ev->window, &wa);
}
-_AT_@ -1393,7 +1453,9 @@ scan(void)
+_AT_@ -1393,7 +1454,9 @@ scan(void)
if (!XGetWindowAttributes(dpy, wins[i], &wa)
|| wa.override_redirect || XGetTransientForHint(dpy, wins[i], &d1))
continue;
_AT_@ -236,7 +245,7 @@ index 9fd0286..c8fd4b2 100644
manage(wins[i], &wa);
}
for (i = 0; i < num; i++) { /* now the transients */
-_AT_@ -1408,6 +1470,29 @@ scan(void)
+_AT_@ -1408,6 +1471,29 @@ scan(void)
}
}
_AT_@ -266,7 +275,7 @@ index 9fd0286..c8fd4b2 100644
void
sendmon(Client *c, Monitor *m)
{
-_AT_@ -1546,7 +1631,7 @@ setup(void)
+_AT_@ -1546,7 +1632,7 @@ setup(void)
if (!drw_fontset_create(drw, fonts, LENGTH(fonts)))
die("no fonts could be loaded.");
lrpad = drw->fonts->h;
_AT_@ -275,7 +284,29 @@ index 9fd0286..c8fd4b2 100644
updategeom();
/* init atoms */
utf8string = XInternAtom(dpy, "UTF8_STRING", False);
-_AT_@ -1702,9 +1787,18 @@ tile(Monitor *m)
+_AT_@ -1595,6 +1681,7 @@ setup(void)
+ XSelectInput(dpy, root, wa.event_mask);
+ grabkeys();
+ focus(NULL);
++ spawnbar();
+ }
+
+
+_AT_@ -1653,6 +1740,13 @@ spawn(const Arg *arg)
+ }
+ }
+
++void
++spawnbar()
++{
++ if (*altbarcmd)
++ system(altbarcmd);
++}
++
+ void
+ tag(const Arg *arg)
+ {
+_AT_@ -1702,9 +1796,18 @@ tile(Monitor *m)
void
togglebar(const Arg *arg)
{
_AT_@ -295,7 +326,7 @@ index 9fd0286..c8fd4b2 100644
arrange(selmon);
}
-_AT_@ -1787,10 +1881,41 @@ unmanage(Client *c, int destroyed)
+_AT_@ -1787,10 +1890,41 @@ unmanage(Client *c, int destroyed)
arrange(m);
}
_AT_@ -337,7 +368,7 @@ index 9fd0286..c8fd4b2 100644
XUnmapEvent *ev = &e->xunmap;
if ((c = wintoclient(ev->window))) {
-_AT_@ -1798,12 +1923,18 @@ unmapnotify(XEvent *e)
+_AT_@ -1798,12 +1932,18 @@ unmapnotify(XEvent *e)
setclientstate(c, WithdrawnState);
else
unmanage(c, 0);
_AT_@ -357,7 +388,7 @@ index 9fd0286..c8fd4b2 100644
Monitor *m;
XSetWindowAttributes wa = {
.override_redirect = True,
-_AT_@ -1829,11 +1960,11 @@ updatebarpos(Monitor *m)
+_AT_@ -1829,11 +1969,11 @@ updatebarpos(Monitor *m)
m->wy = m->my;
m->wh = m->mh;
if (m->showbar) {
_AT_@ -372,7 +403,7 @@ index 9fd0286..c8fd4b2 100644
}
void
-_AT_@ -2070,13 +2201,35 @@ wintomon(Window w)
+_AT_@ -2070,13 +2210,35 @@ wintomon(Window w)
if (w == root && getrootptr(&x, &y))
return recttomon(x, y, 1, 1);
for (m = mons; m; m = m->next)
_AT_@ -410,5 +441,5 @@ index 9fd0286..c8fd4b2 100644
* ignored (especially on UnmapNotify's). Other types of errors call Xlibs
* default error handler, which may call exit. */
--
-2.27.0
+2.28.0
diff --git a/dwm.suckless.org/patches/anybar/dwm-anybar-v1.0.3-to-v1.1.0.diff b/dwm.suckless.org/patches/anybar/dwm-anybar-v1.0.3-to-v1.1.0.diff
new file mode 100644
index 00000000..4b7540e0
--- /dev/null
+++ b/dwm.suckless.org/patches/anybar/dwm-anybar-v1.0.3-to-v1.1.0.diff
_AT_@ -0,0 +1,62 @@
+From 8503e750d1e4627365b070db1ba44704ccddba0c Mon Sep 17 00:00:00 2001
+From: mihirlad55 <mihirlad55_AT_gmail.com>
+Date: Mon, 10 Aug 2020 01:39:28 +0000
+Subject: [PATCH] Update from v1.0.3 to v1.1.0
+
+- The altbarcmd variable is added to config.def.h where the launch command for
+ the bar can be specified. This method of launching the bar ensures that the
+ bar does not launch too early before dwm is ready.
+---
+ config.def.h | 1 +
+ dwm.c | 9 +++++++++
+ 2 files changed, 10 insertions(+)
+
+diff --git a/config.def.h b/config.def.h
+index cb32018..d0d60aa 100644
+--- a/config.def.h
++++ b/config.def.h
+_AT_@ -7,6 +7,7 @@ static const int showbar = 1; /* 0 means no bar */
+ static const int topbar = 1; /* 0 means bottom bar */
+ static const int usealtbar = 1; /* 1 means use non-dwm status bar */
+ static const char *altbarclass = "Polybar"; /* Alternate bar class name */
++static const char *altbarcmd = "$HOME/bar.sh"; /* Alternate bar launch command */
+ static const char *fonts[] = { "monospace:size=10" };
+ static const char dmenufont[] = "monospace:size=10";
+ static const char col_gray1[] = "#222222";
+diff --git a/dwm.c b/dwm.c
+index 74ec400..f149ab4 100644
+--- a/dwm.c
++++ b/dwm.c
+_AT_@ -208,6 +208,7 @@ static void seturgent(Client *c, int urg);
+ static void showhide(Client *c);
+ static void sigchld(int unused);
+ static void spawn(const Arg *arg);
++static void spawnbar();
+ static void tag(const Arg *arg);
+ static void tagmon(const Arg *arg);
+ static void tile(Monitor *);
+_AT_@ -1630,6 +1631,7 @@ setup(void)
+ XSelectInput(dpy, root, wa.event_mask);
+ grabkeys();
+ focus(NULL);
++ spawnbar();
+ }
+
+
+_AT_@ -1688,6 +1690,13 @@ spawn(const Arg *arg)
+ }
+ }
+
++void
++spawnbar()
++{
++ if (*altbarcmd)
++ system(altbarcmd);
++}
++
+ void
+ tag(const Arg *arg)
+ {
+--
+2.28.0
+
diff --git a/dwm.suckless.org/patches/anybar/index.md b/dwm.suckless.org/patches/anybar/index.md
index c35ddfe7..eeb7e9f3 100644
--- a/dwm.suckless.org/patches/anybar/index.md
+++ b/dwm.suckless.org/patches/anybar/index.md
_AT_@ -54,10 +54,12 @@ set to the correct value.
Download
--------
-* Anybar Patch v1.0.3:
- [dwm-anybar-20200721-bb2e722.diff](dwm-anybar-20200721-bb2e722.diff)
-* Anybar Patch (with Polybar tray fix) v1.0.3:
- [dwm-anybar-polybar-tray-fix-20200721-bb2e722.diff](dwm-anybar-polybar-tray-fix-20200721-bb2e722.diff)
+* Anybar Patch v1.1.0:
+ [dwm-anybar-20200810-bb2e722.diff](dwm-anybar-20200810-bb2e722.diff)
+* Anybar Patch v1.0.3 to v1.1.0 Update:
+ [dwm-anybar-v1.0.3-to-v1.1.0.diff](dwm-anybar-v1.0.3-to-v1.1.0.diff)
+* Anybar Patch (with Polybar tray fix) v1.1.0:
+ [dwm-anybar-polybar-tray-fix-20200810-bb2e722.diff](dwm-anybar-polybar-tray-fix-20200810-bb2e722.diff)
The latest releases of the patch will always be available first on the project
[Releases](
https://github.com/mihirlad55/dwm-anybar/releases) page. There are
Received on Mon Aug 10 2020 - 04:23:43 CEST