Introduction
Introduction Statistics Contact Development Disclaimer Help
dwm-push-6.0.diff - sites - public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log
Files
Refs
---
dwm-push-6.0.diff (1332B)
---
1 URL: http://dwm.suckless.org/patches/push
2 pushup and pushdown provide a way to move clients inside the clients lis…
3
4 diff -r ec4baab78314 push.c
5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6 +++ b/push.c Fri Apr 06 08:23:37 2012 +0200
7 @@ -0,0 +1,58 @@
8 +static Client *
9 +prevtiled(Client *c) {
10 + Client *p, *r;
11 +
12 + for(p = selmon->clients, r = NULL; p && p != c; p = p->next)
13 + if(!p->isfloating && ISVISIBLE(p))
14 + r = p;
15 + return r;
16 +}
17 +
18 +static void
19 +pushup(const Arg *arg) {
20 + Client *sel = selmon->sel;
21 + Client *c;
22 +
23 + if(!sel || sel->isfloating)
24 + return;
25 + if((c = prevtiled(sel))) {
26 + /* attach before c */
27 + detach(sel);
28 + sel->next = c;
29 + if(selmon->clients == c)
30 + selmon->clients = sel;
31 + else {
32 + for(c = selmon->clients; c->next != sel->next; …
33 + c->next = sel;
34 + }
35 + } else {
36 + /* move to the end */
37 + for(c = sel; c->next; c = c->next);
38 + detach(sel);
39 + sel->next = NULL;
40 + c->next = sel;
41 + }
42 + focus(sel);
43 + arrange(selmon);
44 +}
45 +
46 +static void
47 +pushdown(const Arg *arg) {
48 + Client *sel = selmon->sel;
49 + Client *c;
50 +
51 + if(!sel || sel->isfloating)
52 + return;
53 + if((c = nexttiled(sel->next))) {
54 + /* attach after c */
55 + detach(sel);
56 + sel->next = c->next;
57 + c->next = sel;
58 + } else {
59 + /* move to the front */
60 + detach(sel);
61 + attach(sel);
62 + }
63 + focus(sel);
64 + arrange(selmon);
65 +}
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.