summaryrefslogtreecommitdiff
path: root/qubes-dwm-6.2
diff options
context:
space:
mode:
authortslil clingman <>2022-04-06 16:19:24 -0400
committertslil clingman <>2022-04-06 16:19:24 -0400
commitc5224d827b34b9f63b5028d8ab4730cdf0b182b6 (patch)
tree90a0bf4ee2a2b604d360d6e587cb89abdc237b73 /qubes-dwm-6.2
parent140c0aa9e49b76bbedf8347d70a7d4a62a3723ba (diff)
Finally patched pertag to respect rmaster
Diffstat (limited to 'qubes-dwm-6.2')
-rw-r--r--qubes-dwm-6.2/dwm-rmaster-pertag-6.1.diff63
-rw-r--r--qubes-dwm-6.2/dwm.c8
2 files changed, 70 insertions, 1 deletions
diff --git a/qubes-dwm-6.2/dwm-rmaster-pertag-6.1.diff b/qubes-dwm-6.2/dwm-rmaster-pertag-6.1.diff
new file mode 100644
index 0000000..8ef3c01
--- /dev/null
+++ b/qubes-dwm-6.2/dwm-rmaster-pertag-6.1.diff
@@ -0,0 +1,63 @@
+First apply rmaster, then pertag, then this patch for rmaster-pertag
+
+--- a/dwm.c
++++ b/dwm.c
+@@ -136,6 +136,7 @@ struct Monitor {
+ char ltsymbol[16];
+ float mfact;
+ int nmaster;
++ int rmaster;
+ int num;
+ int by; /* bar geometry */
+ int mx, my, mw, mh; /* screen size */
+@@ -143,7 +144,6 @@ struct Monitor {
+ unsigned int seltags;
+ unsigned int sellt;
+ unsigned int tagset[2];
+- int rmaster;
+ int showbar;
+ int topbar;
+ Client *clients;
+@@ -322,6 +322,7 @@ static Window root, wmcheckwin;
+ struct Pertag {
+ unsigned int curtag, prevtag; /* current and previous tag */
+ int nmasters[LENGTH(tags) + 1]; /* number of windows in master area */
++ int rmasters[LENGTH(tags) + 1]; /* rmasters per tag */
+ float mfacts[LENGTH(tags) + 1]; /* mfacts per tag */
+ unsigned int sellts[LENGTH(tags) + 1]; /* selected layouts */
+ const Layout *ltidxs[LENGTH(tags) + 1][2]; /* matrix of tags and layouts indexes */
+@@ -787,6 +788,7 @@ createmon(void)
+
+ for (i = 0; i <= LENGTH(tags); i++) {
+ m->pertag->nmasters[i] = m->nmaster;
++ m->pertag->rmasters[i] = m->rmaster;
+ m->pertag->mfacts[i] = m->mfact;
+
+ m->pertag->ltidxs[i][0] = m->lt[0];
+@@ -2076,8 +2078,10 @@ void
+ togglermaster(const Arg *arg)
+ {
+ selmon->rmaster = !selmon->rmaster;
++ selmon->pertag->rmasters[selmon->pertag->curtag] = selmon->rmaster;
+ /* now mfact represents the left factor */
+ selmon->mfact = 1.0 - selmon->mfact;
++ selmon->pertag->mfacts[selmon->pertag->curtag] = selmon->mfact;
+ if (selmon->lt[selmon->sellt]->arrange)
+ arrange(selmon);
+ }
+@@ -2120,6 +2124,7 @@ toggleview(const Arg *arg)
+
+ /* apply settings for this view */
+ selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag];
++ selmon->rmaster = selmon->pertag->rmasters[selmon->pertag->curtag];
+ selmon->mfact = selmon->pertag->mfacts[selmon->pertag->curtag];
+ selmon->sellt = selmon->pertag->sellts[selmon->pertag->curtag];
+ selmon->lt[selmon->sellt] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt];
+@@ -2572,6 +2577,7 @@ view(const Arg *arg)
+ }
+
+ selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag];
++ selmon->rmaster = selmon->pertag->rmasters[selmon->pertag->curtag];
+ selmon->mfact = selmon->pertag->mfacts[selmon->pertag->curtag];
+ selmon->sellt = selmon->pertag->sellts[selmon->pertag->curtag];
+ selmon->lt[selmon->sellt] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt];
diff --git a/qubes-dwm-6.2/dwm.c b/qubes-dwm-6.2/dwm.c
index 05a8974..5c60aae 100644
--- a/qubes-dwm-6.2/dwm.c
+++ b/qubes-dwm-6.2/dwm.c
@@ -136,6 +136,7 @@ struct Monitor {
char ltsymbol[16];
float mfact;
int nmaster;
+ int rmaster;
int num;
int by; /* bar geometry */
int mx, my, mw, mh; /* screen size */
@@ -143,7 +144,6 @@ struct Monitor {
unsigned int seltags;
unsigned int sellt;
unsigned int tagset[2];
- int rmaster;
int showbar;
int topbar;
Client *clients;
@@ -322,6 +322,7 @@ static Window root, wmcheckwin;
struct Pertag {
unsigned int curtag, prevtag; /* current and previous tag */
int nmasters[LENGTH(tags) + 1]; /* number of windows in master area */
+ int rmasters[LENGTH(tags) + 1]; /* rmasters per tag */
float mfacts[LENGTH(tags) + 1]; /* mfacts per tag */
unsigned int sellts[LENGTH(tags) + 1]; /* selected layouts */
const Layout *ltidxs[LENGTH(tags) + 1][2]; /* matrix of tags and layouts indexes */
@@ -787,6 +788,7 @@ createmon(void)
for (i = 0; i <= LENGTH(tags); i++) {
m->pertag->nmasters[i] = m->nmaster;
+ m->pertag->rmasters[i] = m->rmaster;
m->pertag->mfacts[i] = m->mfact;
m->pertag->ltidxs[i][0] = m->lt[0];
@@ -2076,8 +2078,10 @@ void
togglermaster(const Arg *arg)
{
selmon->rmaster = !selmon->rmaster;
+ selmon->pertag->rmasters[selmon->pertag->curtag] = selmon->rmaster;
/* now mfact represents the left factor */
selmon->mfact = 1.0 - selmon->mfact;
+ selmon->pertag->mfacts[selmon->pertag->curtag] = selmon->mfact;
if (selmon->lt[selmon->sellt]->arrange)
arrange(selmon);
}
@@ -2120,6 +2124,7 @@ toggleview(const Arg *arg)
/* apply settings for this view */
selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag];
+ selmon->rmaster = selmon->pertag->rmasters[selmon->pertag->curtag];
selmon->mfact = selmon->pertag->mfacts[selmon->pertag->curtag];
selmon->sellt = selmon->pertag->sellts[selmon->pertag->curtag];
selmon->lt[selmon->sellt] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt];
@@ -2572,6 +2577,7 @@ view(const Arg *arg)
}
selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag];
+ selmon->rmaster = selmon->pertag->rmasters[selmon->pertag->curtag];
selmon->mfact = selmon->pertag->mfacts[selmon->pertag->curtag];
selmon->sellt = selmon->pertag->sellts[selmon->pertag->curtag];
selmon->lt[selmon->sellt] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt];