commit c4cbd9f3092efcd533f35d629874e270fe28c053
Author: Matt Nakama <[email protected]>
Date:   Fri Feb 17 00:01:59 2023 -0500

    [dwm][patch][push] update for dwm 6.4

diff --git a/dwm.suckless.org/patches/push/dwm-push_no_master-6.4.diff 
b/dwm.suckless.org/patches/push/dwm-push_no_master-6.4.diff
new file mode 100644
index 00000000..11f76a2f
--- /dev/null
+++ b/dwm.suckless.org/patches/push/dwm-push_no_master-6.4.diff
@@ -0,0 +1,70 @@
+diff --git a/dwm.c b/dwm.c
+index e5efb6a..660a8ac 100644
+--- a/dwm.c
++++ b/dwm.c
+@@ -186,7 +186,10 @@ static void motionnotify(XEvent *e);
+ static void movemouse(const Arg *arg);
+ static Client *nexttiled(Client *c);
+ static void pop(Client *c);
++static Client *prevtiled(Client *c);
+ static void propertynotify(XEvent *e);
++static void pushdown(const Arg *arg);
++static void pushup(const Arg *arg);
+ static void quit(const Arg *arg);
+ static Monitor *recttomon(int x, int y, int w, int h);
+ static void resize(Client *c, int x, int y, int w, int h, int interact);
+@@ -1209,6 +1212,16 @@ pop(Client *c)
+       arrange(c->mon);
+ }
+ 
++Client *
++prevtiled(Client *c) {
++      Client *p, *r;
++
++      for(p = selmon->clients, r = NULL; p && p != c; p = p->next)
++              if(!p->isfloating && ISVISIBLE(p))
++                      r = p;
++      return r;
++}
++
+ void
+ propertynotify(XEvent *e)
+ {
+@@ -1246,6 +1259,37 @@ propertynotify(XEvent *e)
+       }
+ }
+ 
++void
++pushdown(const Arg *arg) {
++      Client *sel = selmon->sel, *c;
++
++      if(!sel || sel->isfloating || sel == nexttiled(selmon->clients))
++              return;
++      if((c = nexttiled(sel->next))) {
++              detach(sel);
++              sel->next = c->next;
++              c->next = sel;
++      }
++      focus(sel);
++      arrange(selmon);
++}
++
++void
++pushup(const Arg *arg) {
++      Client *sel = selmon->sel, *c;
++
++      if(!sel || sel->isfloating)
++              return;
++      if((c = prevtiled(sel)) && c != nexttiled(selmon->clients)) {
++              detach(sel);
++              sel->next = c;
++              for(c = selmon->clients; c->next != sel->next; c = c->next);
++              c->next = sel;
++      }
++      focus(sel);
++      arrange(selmon);
++}
++
+ void
+ quit(const Arg *arg)
+ {
diff --git a/dwm.suckless.org/patches/push/index.md 
b/dwm.suckless.org/patches/push/index.md
index b1c103dd..10cb05bd 100644
--- a/dwm.suckless.org/patches/push/index.md
+++ b/dwm.suckless.org/patches/push/index.md
@@ -24,6 +24,7 @@ Download
 * [dwm-push\_no\_master-6.0.diff](dwm-push_no_master-6.0.diff)
 * [dwm-push\_no\_master-6.1.diff](dwm-push_no_master-6.1.diff) - 2015/11/21
 * [dwm-push\_no\_master-6.2.diff](dwm-push_no_master-6.2.diff) - 2020/03/08
+* [dwm-push\_no\_master-6.4.diff](dwm-push_no_master-6.4.diff) - 2023/02/16
 
 Note
 ----
@@ -35,4 +36,4 @@ Author
 * Updated regular version for 6.2 (61bb8b2) Alex Cole <[email protected]>
 * Updated by Jan Christoph Ebersbach <[email protected]>
 * push\_no\_master by Jente Hidskes <[email protected]>
-
+* Updated push\_no\_master for 6.4 Matt Nakama <[email protected]>


Reply via email to