[wiki] [sites] [dwm][patch][anybar] Update patch to v1.1.0 || Mihir Lad

From: <git_AT_suckless.org>
Date: Mon, 10 Aug 2020 04:23:43 +0200

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

This archive was generated by hypermail 2.3.0 : Mon Aug 10 2020 - 04:24:45 CEST