[wiki] [sites] [dwm][patch][systray] Update dwm-systray to 6.4-9f88553 || José Delgado

From: <git_AT_suckless.org>
Date: Wed, 22 Nov 2023 12:20:28 +0100

commit 7f8c7b77eba341f0510961db4ad4f4258d2702dd
Author: José Delgado <joseantonio.delgado_AT_web.de>
Date: Wed Nov 22 12:07:32 2023 +0100

    [dwm][patch][systray] Update dwm-systray to 6.4-9f88553
    
    This patch has been updated to avoid unnecessary changes in config.def.h, introduced in 6.3 patch.
    
    Thanks to Rémi C. for pointing this out

diff --git a/dwm.suckless.org/patches/systray/dwm-systray-6.4.diff b/dwm.suckless.org/patches/systray/dwm-systray-20230922-9f88553.diff
similarity index 90%
rename from dwm.suckless.org/patches/systray/dwm-systray-6.4.diff
rename to dwm.suckless.org/patches/systray/dwm-systray-20230922-9f88553.diff
index 58e4a694..9356ec1c 100644
--- a/dwm.suckless.org/patches/systray/dwm-systray-6.4.diff
+++ b/dwm.suckless.org/patches/systray/dwm-systray-20230922-9f88553.diff
_AT_@ -1,5 +1,5 @@
 diff --git a/config.def.h b/config.def.h
-index 9efa774..750529d 100644
+index 9efa774..fed4fb9 100644
 --- a/config.def.h
 +++ b/config.def.h
 _AT_@ -3,6 +3,11 @@
_AT_@ -14,19 +14,8 @@ index 9efa774..750529d 100644
  static const int showbar = 1; /* 0 means no bar */
  static const int topbar = 1; /* 0 means bottom bar */
  static const char *fonts[] = { "monospace:size=10" };
-_AT_@ -101,8 +106,8 @@ static const Key keys[] = {
- /* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
- static const Button buttons[] = {
- /* click event mask button function argument */
-- { ClkLtSymbol, 0, Button1, setlayout, {0} },
-- { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} },
-+ { ClkTagBar, MODKEY, Button1, tag, {0} },
-+ { ClkTagBar, MODKEY, Button3, toggletag, {0} },
- { ClkWinTitle, 0, Button2, zoom, {0} },
- { ClkStatusText, 0, Button2, spawn, {.v = termcmd } },
- { ClkClientWin, MODKEY, Button1, movemouse, {0} },
 diff --git a/dwm.c b/dwm.c
-index 03baf42..4611a03 100644
+index f1d86b2..f9e7e4a 100644
 --- a/dwm.c
 +++ b/dwm.c
 _AT_@ -57,12 +57,27 @@
_AT_@ -96,15 +85,15 @@ index 03baf42..4611a03 100644
  static void sendmon(Client *c, Monitor *m);
  static void setclientstate(Client *c, long state);
  static void setfocus(Client *c);
-_AT_@ -207,6 +232,7 @@ static void seturgent(Client *c, int urg);
+_AT_@ -206,6 +231,7 @@ static void setup(void);
+ static void seturgent(Client *c, int urg);
  static void showhide(Client *c);
- static void sigchld(int unused);
  static void spawn(const Arg *arg);
 +static Monitor *systraytomon(Monitor *m);
  static void tag(const Arg *arg);
  static void tagmon(const Arg *arg);
  static void tile(Monitor *m);
-_AT_@ -224,18 +250,23 @@ static int updategeom(void);
+_AT_@ -223,18 +249,23 @@ static int updategeom(void);
  static void updatenumlockmask(void);
  static void updatesizehints(Client *c);
  static void updatestatus(void);
_AT_@ -128,7 +117,7 @@ index 03baf42..4611a03 100644
  static const char broken[] = "broken";
  static char stext[256];
  static int screen;
-_AT_@ -258,9 +289,10 @@ static void (*handler[LASTEvent]) (XEvent *) = {
+_AT_@ -257,9 +288,10 @@ static void (*handler[LASTEvent]) (XEvent *) = {
          [MapRequest] = maprequest,
          [MotionNotify] = motionnotify,
          [PropertyNotify] = propertynotify,
_AT_@ -140,7 +129,7 @@ index 03baf42..4611a03 100644
  static int running = 1;
  static Cur *cursor[CurLast];
  static Clr **scheme;
-_AT_@ -442,7 +474,7 @@ buttonpress(XEvent *e)
+_AT_@ -441,7 +473,7 @@ buttonpress(XEvent *e)
                          arg.ui = 1 << i;
                  } else if (ev->x < x + TEXTW(selmon->ltsymbol))
                          click = ClkLtSymbol;
_AT_@ -149,7 +138,7 @@ index 03baf42..4611a03 100644
                          click = ClkStatusText;
                  else
                          click = ClkWinTitle;
-_AT_@ -485,6 +517,13 @@ cleanup(void)
+_AT_@ -484,6 +516,13 @@ cleanup(void)
          XUngrabKey(dpy, AnyKey, AnyModifier, root);
          while (mons)
                  cleanupmon(mons);
_AT_@ -163,7 +152,7 @@ index 03baf42..4611a03 100644
          for (i = 0; i < CurLast; i++)
                  drw_cur_free(drw, cursor[i]);
          for (i = 0; i < LENGTH(colors); i++)
-_AT_@ -516,9 +555,58 @@ cleanupmon(Monitor *mon)
+_AT_@ -515,9 +554,58 @@ cleanupmon(Monitor *mon)
  void
  clientmessage(XEvent *e)
  {
_AT_@ -222,7 +211,7 @@ index 03baf42..4611a03 100644
          if (!c)
                  return;
          if (cme->message_type == netatom[NetWMState]) {
-_AT_@ -571,7 +659,7 @@ configurenotify(XEvent *e)
+_AT_@ -570,7 +658,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_@ -231,7 +220,7 @@ index 03baf42..4611a03 100644
                          }
                          focus(NULL);
                          arrange(NULL);
-_AT_@ -656,6 +744,11 @@ destroynotify(XEvent *e)
+_AT_@ -655,6 +743,11 @@ destroynotify(XEvent *e)
  
          if ((c = wintoclient(ev->window)))
                  unmanage(c, 1);
_AT_@ -243,7 +232,7 @@ index 03baf42..4611a03 100644
  }
  
  void
-_AT_@ -699,7 +792,7 @@ dirtomon(int dir)
+_AT_@ -698,7 +791,7 @@ dirtomon(int dir)
  void
  drawbar(Monitor *m)
  {
_AT_@ -252,7 +241,7 @@ index 03baf42..4611a03 100644
          int boxs = drw->fonts->h / 9;
          int boxw = drw->fonts->h / 6 + 2;
          unsigned int i, occ = 0, urg = 0;
-_AT_@ -708,13 +801,17 @@ drawbar(Monitor *m)
+_AT_@ -707,13 +800,17 @@ drawbar(Monitor *m)
          if (!m->showbar)
                  return;
  
_AT_@ -272,7 +261,7 @@ index 03baf42..4611a03 100644
          for (c = m->clients; c; c = c->next) {
                  occ |= c->tags;
                  if (c->isurgent)
-_AT_@ -735,7 +832,7 @@ drawbar(Monitor *m)
+_AT_@ -734,7 +831,7 @@ drawbar(Monitor *m)
          drw_setscheme(drw, scheme[SchemeNorm]);
          x = drw_text(drw, x, 0, w, bh, lrpad / 2, m->ltsymbol, 0);
  
_AT_@ -281,7 +270,7 @@ index 03baf42..4611a03 100644
                  if (m->sel) {
                          drw_setscheme(drw, scheme[m == selmon ? SchemeSel : SchemeNorm]);
                          drw_text(drw, x, 0, w, bh, lrpad / 2, m->sel->name, 0);
-_AT_@ -746,7 +843,7 @@ drawbar(Monitor *m)
+_AT_@ -745,7 +842,7 @@ drawbar(Monitor *m)
                          drw_rect(drw, x, 0, w, bh, 1, 1);
                  }
          }
_AT_@ -290,7 +279,7 @@ index 03baf42..4611a03 100644
  }
  
  void
-_AT_@ -783,8 +880,11 @@ expose(XEvent *e)
+_AT_@ -782,8 +879,11 @@ expose(XEvent *e)
          Monitor *m;
          XExposeEvent *ev = &e->xexpose;
  
_AT_@ -303,7 +292,7 @@ index 03baf42..4611a03 100644
  }
  
  void
-_AT_@ -870,14 +970,32 @@ getatomprop(Client *c, Atom prop)
+_AT_@ -869,14 +969,32 @@ getatomprop(Client *c, Atom prop)
          unsigned char *p = NULL;
          Atom da, atom = None;
  
_AT_@ -337,7 +326,7 @@ index 03baf42..4611a03 100644
  int
  getrootptr(int *x, int *y)
  {
-_AT_@ -1018,7 +1136,8 @@ killclient(const Arg *arg)
+_AT_@ -1017,7 +1135,8 @@ killclient(const Arg *arg)
  {
          if (!selmon->sel)
                  return;
_AT_@ -347,7 +336,7 @@ index 03baf42..4611a03 100644
                  XGrabServer(dpy);
                  XSetErrorHandler(xerrordummy);
                  XSetCloseDownMode(dpy, DestroyAll);
-_AT_@ -1105,6 +1224,13 @@ maprequest(XEvent *e)
+_AT_@ -1104,6 +1223,13 @@ maprequest(XEvent *e)
          static XWindowAttributes wa;
          XMapRequestEvent *ev = &e->xmaprequest;
  
_AT_@ -361,7 +350,7 @@ index 03baf42..4611a03 100644
          if (!XGetWindowAttributes(dpy, ev->window, &wa) || wa.override_redirect)
                  return;
          if (!wintoclient(ev->window))
-_AT_@ -1226,6 +1352,17 @@ propertynotify(XEvent *e)
+_AT_@ -1225,6 +1351,17 @@ propertynotify(XEvent *e)
          Window trans;
          XPropertyEvent *ev = &e->xproperty;
  
_AT_@ -379,7 +368,7 @@ index 03baf42..4611a03 100644
          if ((ev->window == root) && (ev->atom == XA_WM_NAME))
                  updatestatus();
          else if (ev->state == PropertyDelete)
-_AT_@ -1276,6 +1413,19 @@ recttomon(int x, int y, int w, int h)
+_AT_@ -1275,6 +1412,19 @@ recttomon(int x, int y, int w, int h)
          return r;
  }
  
_AT_@ -399,7 +388,7 @@ index 03baf42..4611a03 100644
  void
  resize(Client *c, int x, int y, int w, int h, int interact)
  {
-_AT_@ -1283,6 +1433,14 @@ resize(Client *c, int x, int y, int w, int h, int interact)
+_AT_@ -1282,6 +1432,14 @@ resize(Client *c, int x, int y, int w, int h, int interact)
                  resizeclient(c, x, y, w, h);
  }
  
_AT_@ -414,7 +403,7 @@ index 03baf42..4611a03 100644
  void
  resizeclient(Client *c, int x, int y, int w, int h)
  {
-_AT_@ -1298,6 +1456,19 @@ resizeclient(Client *c, int x, int y, int w, int h)
+_AT_@ -1297,6 +1455,19 @@ resizeclient(Client *c, int x, int y, int w, int h)
          XSync(dpy, False);
  }
  
_AT_@ -434,7 +423,7 @@ index 03baf42..4611a03 100644
  void
  resizemouse(const Arg *arg)
  {
-_AT_@ -1444,26 +1615,37 @@ setclientstate(Client *c, long state)
+_AT_@ -1443,26 +1614,37 @@ setclientstate(Client *c, long state)
  }
  
  int
_AT_@ -483,7 +472,7 @@ index 03baf42..4611a03 100644
          }
          return exists;
  }
-_AT_@ -1477,7 +1659,7 @@ setfocus(Client *c)
+_AT_@ -1476,7 +1658,7 @@ setfocus(Client *c)
                          XA_WINDOW, 32, PropModeReplace,
                          (unsigned char *) &(c->win), 1);
          }
_AT_@ -492,7 +481,7 @@ index 03baf42..4611a03 100644
  }
  
  void
-_AT_@ -1566,6 +1748,10 @@ setup(void)
+_AT_@ -1572,6 +1754,10 @@ setup(void)
          wmatom[WMTakeFocus] = XInternAtom(dpy, "WM_TAKE_FOCUS", False);
          netatom[NetActiveWindow] = XInternAtom(dpy, "_NET_ACTIVE_WINDOW", False);
          netatom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False);
_AT_@ -503,7 +492,7 @@ index 03baf42..4611a03 100644
          netatom[NetWMName] = XInternAtom(dpy, "_NET_WM_NAME", False);
          netatom[NetWMState] = XInternAtom(dpy, "_NET_WM_STATE", False);
          netatom[NetWMCheck] = XInternAtom(dpy, "_NET_SUPPORTING_WM_CHECK", False);
-_AT_@ -1573,6 +1759,9 @@ setup(void)
+_AT_@ -1579,6 +1765,9 @@ setup(void)
          netatom[NetWMWindowType] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE", False);
          netatom[NetWMWindowTypeDialog] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_DIALOG", False);
          netatom[NetClientList] = XInternAtom(dpy, "_NET_CLIENT_LIST", False);
_AT_@ -513,7 +502,7 @@ index 03baf42..4611a03 100644
          /* init cursors */
          cursor[CurNormal] = drw_cur_create(drw, XC_left_ptr);
          cursor[CurResize] = drw_cur_create(drw, XC_sizing);
-_AT_@ -1581,6 +1770,8 @@ setup(void)
+_AT_@ -1587,6 +1776,8 @@ setup(void)
          scheme = ecalloc(LENGTH(colors), sizeof(Clr *));
          for (i = 0; i < LENGTH(colors); i++)
                  scheme[i] = drw_scm_create(drw, colors[i], 3);
_AT_@ -522,7 +511,7 @@ index 03baf42..4611a03 100644
          /* init bars */
          updatebars();
          updatestatus();
-_AT_@ -1711,7 +1902,18 @@ togglebar(const Arg *arg)
+_AT_@ -1717,7 +1908,18 @@ togglebar(const Arg *arg)
  {
          selmon->showbar = !selmon->showbar;
          updatebarpos(selmon);
_AT_@ -542,7 +531,7 @@ index 03baf42..4611a03 100644
          arrange(selmon);
  }
  
-_AT_@ -1807,11 +2009,18 @@ unmapnotify(XEvent *e)
+_AT_@ -1813,11 +2015,18 @@ unmapnotify(XEvent *e)
                  else
                          unmanage(c, 0);
          }
_AT_@ -561,7 +550,7 @@ index 03baf42..4611a03 100644
          Monitor *m;
          XSetWindowAttributes wa = {
                  .override_redirect = True,
-_AT_@ -1822,10 +2031,15 @@ updatebars(void)
+_AT_@ -1828,10 +2037,15 @@ updatebars(void)
          for (m = mons; m; m = m->next) {
                  if (m->barwin)
                          continue;
_AT_@ -578,7 +567,7 @@ index 03baf42..4611a03 100644
                  XMapRaised(dpy, m->barwin);
                  XSetClassHint(dpy, m->barwin, &ch);
          }
-_AT_@ -2002,6 +2216,125 @@ updatestatus(void)
+_AT_@ -2008,6 +2222,125 @@ updatestatus(void)
          if (!gettextprop(root, XA_WM_NAME, stext, sizeof(stext)))
                  strcpy(stext, "dwm-"VERSION);
          drawbar(selmon);
_AT_@ -704,7 +693,7 @@ index 03baf42..4611a03 100644
  }
  
  void
-_AT_@ -2069,6 +2402,16 @@ wintoclient(Window w)
+_AT_@ -2075,6 +2408,16 @@ wintoclient(Window w)
          return NULL;
  }
  
_AT_@ -721,7 +710,7 @@ index 03baf42..4611a03 100644
  Monitor *
  wintomon(Window w)
  {
-_AT_@ -2122,6 +2465,22 @@ xerrorstart(Display *dpy, XErrorEvent *ee)
+_AT_@ -2128,6 +2471,22 @@ xerrorstart(Display *dpy, XErrorEvent *ee)
          return -1;
  }
  
diff --git a/dwm.suckless.org/patches/systray/index.md b/dwm.suckless.org/patches/systray/index.md
index b9ede228..4b5a3af6 100644
--- a/dwm.suckless.org/patches/systray/index.md
+++ b/dwm.suckless.org/patches/systray/index.md
_AT_@ -11,7 +11,7 @@ in dwm. This has helped at least in one case with pidgin.
 
 Download
 --------
-* [dwm-systray-6.4.diff](dwm-systray-6.4.diff) (24K) (20221221)
+* [dwm-systray-20230922-9f88553.diff](dwm-systray-20230922-9f88553.diff) (24K) (20230922)
 * [dwm-systray-6.3.diff](dwm-systray-6.3.diff) (25K)
 * [dwm-systray-20210418-67d76bd.diff](dwm-systray-20210418-67d76bd.diff) (24K) (20210418)
 * [dwm-systray-20200914-61bb8b2.diff](dwm-systray-20200914-61bb8b2.diff) (23k) (20200914)
Received on Wed Nov 22 2023 - 12:20:28 CET

This archive was generated by hypermail 2.3.0 : Wed Nov 22 2023 - 12:24:51 CET