commit c3852f9188dc008ce03984d0032b79a0e19af746
parent a81aa8b06f3b1b076e592772255303bcc507a8db
Author: Unia <jthidskes@live.nl>
Date: Sat, 6 Apr 2013 21:13:07 +0200
added push_no_master
Diffstat:
2 files changed, 72 insertions(+), 0 deletions(-)
diff --git a/dwm.suckless.org/patches/dwm-6.0-push_no_master.diff b/dwm.suckless.org/patches/dwm-6.0-push_no_master.diff
@@ -0,0 +1,68 @@
+--- dwm.c 2013-03-19 00:55:43.913249297 +0100
++++ dwm.c 2013-03-19 00:58:46.489912892 +0100
+@@ -217,7 +217,10 @@
+ static void movemouse(const Arg *arg);
+ static Client *nexttiled(Client *c);
+ static void pop(Client *);
++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, Bool interact);
+@@ -1421,6 +1424,16 @@
+ 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) {
+ Client *c;
+@@ -1458,6 +1471,37 @@
+ }
+
+ 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) {
+ running = False;
+ }
diff --git a/dwm.suckless.org/patches/push.md b/dwm.suckless.org/patches/push.md
@@ -11,12 +11,15 @@
{ MODKEY|ControlMask, XK_j, pushdown, {0} },
{ MODKEY|ControlMask, XK_k, pushup, {0} },
+`push_no_master` is the same as the regular `push` patch, but it does not push up nor push down into the master area. We have zoom() for that.
+
## Download
Patches against different versions of dwm are available at
[dwm-clean-patches](https://bitbucket.org/jceb81/dwm-clean-patches/src).
* [dwm-10e232f9ace7-push.diff](dwm-10e232f9ace7-push.diff) (1332b) (20120406)
* [dwm-6.0-push.diff](dwm-6.0-push.diff) (1332b) (20120406)
+ * [dwm-6.0-push_no_master.diff](dwm-6.0-push_no_master.diff)
* [push.c](push.c) (dwm 5.7.1) (20090927)
* [push-5.6.c](historical/push-5.6.c) (1K) (20090709)
* [push-5.3.c](historical/push-5.3.c) (1K) (20090124)
@@ -28,3 +31,4 @@ This patch seems to be equivalent to the [movestack](movestack) patch.
## Author
* Unknown?
* Updated by Jan Christoph Ebersbach <jceb@e-jc.de>
+ * push_no_master by Jente Hidskes <jthidskes@outlook.com>