Introduction
Introduction Statistics Contact Development Disclaimer Help
dwm-transferall-6.2.diff - sites - public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log
Files
Refs
---
dwm-transferall-6.2.diff (2305B)
---
1 From 43d8a0f3df28ba0b25b85eb38b0f990b9947c48a Mon Sep 17 00:00:00 2001
2 From: Miles Alan <[email protected]>
3 Date: Sat, 1 Feb 2020 09:55:43 -0600
4 Subject: [PATCH] Add transferall function which swaps the master & stack…
5 adjusts nmaster.
6
7 All stack clients after the function is run are moved into the master ar…
8 and master clients are moved into the stack area. The new nmaster will be
9 adjusted to be equal to the old number of clients in the stack (e.g. the
10 new number of clients in the master).
11 ---
12 config.def.h | 1 +
13 dwm.c | 26 ++++++++++++++++++++++++++
14 2 files changed, 27 insertions(+)
15
16 diff --git a/config.def.h b/config.def.h
17 index 1c0b587..cce5b64 100644
18 --- a/config.def.h
19 +++ b/config.def.h
20 @@ -70,6 +70,7 @@ static Key keys[] = {
21 { MODKEY, XK_d, incnmaster, {.i …
22 { MODKEY, XK_h, setmfact, {.f …
23 { MODKEY, XK_l, setmfact, {.f …
24 + { MODKEY, XK_z, transferall, {0} …
25 { MODKEY, XK_Return, zoom, {0} …
26 { MODKEY, XK_Tab, view, {0} …
27 { MODKEY|ShiftMask, XK_c, killclient, {0} …
28 diff --git a/dwm.c b/dwm.c
29 index 4465af1..a8864e9 100644
30 --- a/dwm.c
31 +++ b/dwm.c
32 @@ -213,6 +213,7 @@ static void togglebar(const Arg *arg);
33 static void togglefloating(const Arg *arg);
34 static void toggletag(const Arg *arg);
35 static void toggleview(const Arg *arg);
36 +static void transferall(const Arg *arg);
37 static void unfocus(Client *c, int setfocus);
38 static void unmanage(Client *c, int destroyed);
39 static void unmapnotify(XEvent *e);
40 @@ -1746,6 +1747,31 @@ toggleview(const Arg *arg)
41 }
42 }
43
44 +void
45 +transferall(const Arg *arg) {
46 + Client *c, *n = selmon->clients, *attachfrom = NULL;
47 + int i = 0, nstackclients = 0;
48 + while (n) {
49 + c = n;
50 + n = c->next;
51 + if (!ISVISIBLE(c) || c->isfloating) continue;
52 + if (i >= selmon->nmaster) {
53 + detach(c);
54 + if (!attachfrom) {
55 + attach(c);
56 + } else {
57 + c->next = attachfrom->next;
58 + attachfrom->next = c;
59 + }
60 + attachfrom = c;
61 + nstackclients++;
62 + }
63 + i++;
64 + }
65 + selmon->nmaster = nstackclients;
66 + arrange(selmon);
67 +}
68 +
69 void
70 unfocus(Client *c, int setfocus)
71 {
72 --
73 2.23.1
74
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.