From 88d4c573c63a7d9928549ca37d6774945c52b757 Mon Sep 17 00:00:00 2001 From: Saumit Dinesan Date: Fri, 7 Oct 2022 05:03:10 +0530 Subject: fixing fullgaps patch to avoid manual patching in future --- patches/04.dwm-fullgaps-6.2-fx.diff | 196 ++++++++++++++++++++++++++++++++++++ patches/04.dwm-fullgaps-6.2.diff | 97 ------------------ 2 files changed, 196 insertions(+), 97 deletions(-) create mode 100644 patches/04.dwm-fullgaps-6.2-fx.diff delete mode 100644 patches/04.dwm-fullgaps-6.2.diff diff --git a/patches/04.dwm-fullgaps-6.2-fx.diff b/patches/04.dwm-fullgaps-6.2-fx.diff new file mode 100644 index 0000000..7670c54 --- /dev/null +++ b/patches/04.dwm-fullgaps-6.2-fx.diff @@ -0,0 +1,196 @@ +diff --git a/config.h b/config.h +index 397fd61..fbf2729 100644 +--- a/config.h ++++ b/config.h +@@ -2,6 +2,7 @@ + + /* appearance */ + static const unsigned int borderpx = 1; /* border pixel of windows */ ++static const unsigned int gappx = 15; /* gaps between windows */ + static const unsigned int snap = 32; /* snap pixel */ + static const int swallowfloating = 0; /* 1 means swallow floating windows by default */ + static const int showbar = 1; /* 0 means no bar */ +@@ -88,6 +89,9 @@ static const Key keys[] = { + { MODKEY, XK_period, focusmon, {.i = +1 } }, + { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, + { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, ++ { MODKEY, XK_minus, setgaps, {.i = -1 } }, ++ { MODKEY, XK_equal, setgaps, {.i = +1 } }, ++ { MODKEY|ShiftMask, XK_equal, setgaps, {.i = 0 } }, + { MODKEY, XK_F5, xrdb, {.v = NULL } }, + TAGKEYS( XK_1, 0) + TAGKEYS( XK_2, 1) +diff --git a/dwm.c b/dwm.c +index 3f9e07d..7408202 100644 +--- a/dwm.c ++++ b/dwm.c +@@ -143,6 +143,7 @@ struct Monitor { + int by; /* bar geometry */ + int mx, my, mw, mh; /* screen size */ + int wx, wy, ww, wh; /* window area */ ++ int gappx; /* gaps between windows */ + unsigned int seltags; + unsigned int sellt; + unsigned int tagset[2]; +@@ -227,6 +228,7 @@ static void sendmon(Client *c, Monitor *m); + static void setclientstate(Client *c, long state); + static void setfocus(Client *c); + static void setfullscreen(Client *c, int fullscreen); ++static void setgaps(const Arg *arg); + static void setlayout(const Arg *arg); + static void setmfact(const Arg *arg); + static void setup(void); +@@ -730,6 +732,7 @@ createmon(void) + m->nmaster = nmaster; + m->showbar = showbar; + m->topbar = topbar; ++ m->gappx = gappx; + m->lt[0] = &layouts[0]; + m->lt[1] = &layouts[1 % LENGTH(layouts)]; + strncpy(m->ltsymbol, layouts[0].symbol, sizeof m->ltsymbol); +@@ -1634,6 +1637,16 @@ setfullscreen(Client *c, int fullscreen) + } + } + ++void ++setgaps(const Arg *arg) ++{ ++ if ((arg->i == 0) || (selmon->gappx + arg->i < 0)) ++ selmon->gappx = 0; ++ else ++ selmon->gappx += arg->i; ++ arrange(selmon); ++} ++ + void + setlayout(const Arg *arg) + { +@@ -1832,18 +1845,16 @@ tile(Monitor *m) + if (n > m->nmaster) + mw = m->nmaster ? m->ww * m->mfact : 0; + else +- mw = m->ww; +- for (i = my = ty = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) ++ mw = m->ww - m->gappx; ++ for (i = 0, my = ty = m->gappx, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) + if (i < m->nmaster) { +- h = (m->wh - my) / (MIN(n, m->nmaster) - i); +- resize(c, m->wx, m->wy + my, mw - (2*c->bw), h - (2*c->bw), 0); +- if (my + HEIGHT(c) < m->wh) +- my += HEIGHT(c); ++ h = (m->wh - my) / (MIN(n, m->nmaster) - i) - m->gappx; ++ resize(c, m->wx + m->gappx, m->wy + my, mw - (2*c->bw) - m->gappx, h - (2*c->bw), 0); ++ my += HEIGHT(c) + m->gappx; + } else { +- h = (m->wh - ty) / (n - i); +- resize(c, m->wx + mw, m->wy + ty, m->ww - mw - (2*c->bw), h - (2*c->bw), 0); +- if (ty + HEIGHT(c) < m->wh) +- ty += HEIGHT(c); ++ h = (m->wh - ty) / (n - i) - m->gappx; ++ resize(c, m->wx + mw + m->gappx, m->wy + ty, m->ww - mw - (2*c->bw) - 2*m->gappx, h - (2*c->bw), 0); ++ ty += HEIGHT(c) + m->gappx; + } + } + +diff --git a/patches/04.dwm-fullgaps-6.2.diff b/patches/04.dwm-fullgaps-6.2.diff +index c09a1a9..e69de29 100644 +--- a/patches/04.dwm-fullgaps-6.2.diff ++++ b/patches/04.dwm-fullgaps-6.2.diff +@@ -1,97 +0,0 @@ +-diff --git a/config.def.h b/config.def.h +-index 1c0b587..38d2f6c 100644 +---- a/config.def.h +-+++ b/config.def.h +-@@ -2,6 +2,7 @@ +- +- /* appearance */ +- static const unsigned int borderpx = 1; /* border pixel of windows */ +-+static const unsigned int gappx = 15; /* gaps between windows */ +- static const unsigned int snap = 32; /* snap pixel */ +- static const int showbar = 1; /* 0 means no bar */ +- static const int topbar = 1; /* 0 means bottom bar */ +-@@ -84,6 +85,9 @@ static Key keys[] = { +- { MODKEY, XK_period, focusmon, {.i = +1 } }, +- { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, +- { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, +-+ { MODKEY, XK_minus, setgaps, {.i = -1 } }, +-+ { MODKEY, XK_equal, setgaps, {.i = +1 } }, +-+ { MODKEY|ShiftMask, XK_equal, setgaps, {.i = 0 } }, +- TAGKEYS( XK_1, 0) +- TAGKEYS( XK_2, 1) +- TAGKEYS( XK_3, 2) +-diff --git a/dwm.c b/dwm.c +-index 4465af1..4363627 100644 +---- a/dwm.c +-+++ b/dwm.c +-@@ -119,6 +119,7 @@ struct Monitor { +- int by; /* bar geometry */ +- int mx, my, mw, mh; /* screen size */ +- int wx, wy, ww, wh; /* window area */ +-+ int gappx; /* gaps between windows */ +- unsigned int seltags; +- unsigned int sellt; +- unsigned int tagset[2]; +-@@ -199,6 +200,7 @@ static void sendmon(Client *c, Monitor *m); +- static void setclientstate(Client *c, long state); +- static void setfocus(Client *c); +- static void setfullscreen(Client *c, int fullscreen); +-+static void setgaps(const Arg *arg); +- static void setlayout(const Arg *arg); +- static void setmfact(const Arg *arg); +- static void setup(void); +-@@ -638,6 +640,7 @@ createmon(void) +- m->nmaster = nmaster; +- m->showbar = showbar; +- m->topbar = topbar; +-+ m->gappx = gappx; +- m->lt[0] = &layouts[0]; +- m->lt[1] = &layouts[1 % LENGTH(layouts)]; +- strncpy(m->ltsymbol, layouts[0].symbol, sizeof m->ltsymbol); +-@@ -1497,6 +1500,16 @@ setfullscreen(Client *c, int fullscreen) +- } +- } +- +-+void +-+setgaps(const Arg *arg) +-+{ +-+ if ((arg->i == 0) || (selmon->gappx + arg->i < 0)) +-+ selmon->gappx = 0; +-+ else +-+ selmon->gappx += arg->i; +-+ arrange(selmon); +-+} +-+ +- void +- setlayout(const Arg *arg) +- { +-@@ -1683,16 +1696,16 @@ tile(Monitor *m) +- if (n > m->nmaster) +- mw = m->nmaster ? m->ww * m->mfact : 0; +- else +-- mw = m->ww; +-- for (i = my = ty = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) +-+ mw = m->ww - m->gappx; +-+ for (i = 0, my = ty = m->gappx, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) +- if (i < m->nmaster) { +-- h = (m->wh - my) / (MIN(n, m->nmaster) - i); +-- resize(c, m->wx, m->wy + my, mw - (2*c->bw), h - (2*c->bw), 0); +-- if (my + HEIGHT(c) < m->wh) +-- my += HEIGHT(c); +-+ h = (m->wh - my) / (MIN(n, m->nmaster) - i) - m->gappx; +-+ resize(c, m->wx + m->gappx, m->wy + my, mw - (2*c->bw) - m->gappx, h - (2*c->bw), 0); +-+ my += HEIGHT(c) + m->gappx; +- } else { +-- h = (m->wh - ty) / (n - i); +-- resize(c, m->wx + mw, m->wy + ty, m->ww - mw - (2*c->bw), h - (2*c->bw), 0); +-- if (ty + HEIGHT(c) < m->wh) +-- ty += HEIGHT(c); +-+ h = (m->wh - ty) / (n - i) - m->gappx; +-+ resize(c, m->wx + mw + m->gappx, m->wy + ty, m->ww - mw - (2*c->bw) - 2*m->gappx, h - (2*c->bw), 0); +-+ ty += HEIGHT(c) + m->gappx; +- } +- } +- +--- +-2.20.1 +- diff --git a/patches/04.dwm-fullgaps-6.2.diff b/patches/04.dwm-fullgaps-6.2.diff deleted file mode 100644 index c09a1a9..0000000 --- a/patches/04.dwm-fullgaps-6.2.diff +++ /dev/null @@ -1,97 +0,0 @@ -diff --git a/config.def.h b/config.def.h -index 1c0b587..38d2f6c 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -2,6 +2,7 @@ - - /* appearance */ - static const unsigned int borderpx = 1; /* border pixel of windows */ -+static const unsigned int gappx = 15; /* gaps between windows */ - static const unsigned int snap = 32; /* snap pixel */ - static const int showbar = 1; /* 0 means no bar */ - static const int topbar = 1; /* 0 means bottom bar */ -@@ -84,6 +85,9 @@ static Key keys[] = { - { MODKEY, XK_period, focusmon, {.i = +1 } }, - { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, - { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, -+ { MODKEY, XK_minus, setgaps, {.i = -1 } }, -+ { MODKEY, XK_equal, setgaps, {.i = +1 } }, -+ { MODKEY|ShiftMask, XK_equal, setgaps, {.i = 0 } }, - TAGKEYS( XK_1, 0) - TAGKEYS( XK_2, 1) - TAGKEYS( XK_3, 2) -diff --git a/dwm.c b/dwm.c -index 4465af1..4363627 100644 ---- a/dwm.c -+++ b/dwm.c -@@ -119,6 +119,7 @@ struct Monitor { - int by; /* bar geometry */ - int mx, my, mw, mh; /* screen size */ - int wx, wy, ww, wh; /* window area */ -+ int gappx; /* gaps between windows */ - unsigned int seltags; - unsigned int sellt; - unsigned int tagset[2]; -@@ -199,6 +200,7 @@ static void sendmon(Client *c, Monitor *m); - static void setclientstate(Client *c, long state); - static void setfocus(Client *c); - static void setfullscreen(Client *c, int fullscreen); -+static void setgaps(const Arg *arg); - static void setlayout(const Arg *arg); - static void setmfact(const Arg *arg); - static void setup(void); -@@ -638,6 +640,7 @@ createmon(void) - m->nmaster = nmaster; - m->showbar = showbar; - m->topbar = topbar; -+ m->gappx = gappx; - m->lt[0] = &layouts[0]; - m->lt[1] = &layouts[1 % LENGTH(layouts)]; - strncpy(m->ltsymbol, layouts[0].symbol, sizeof m->ltsymbol); -@@ -1497,6 +1500,16 @@ setfullscreen(Client *c, int fullscreen) - } - } - -+void -+setgaps(const Arg *arg) -+{ -+ if ((arg->i == 0) || (selmon->gappx + arg->i < 0)) -+ selmon->gappx = 0; -+ else -+ selmon->gappx += arg->i; -+ arrange(selmon); -+} -+ - void - setlayout(const Arg *arg) - { -@@ -1683,16 +1696,16 @@ tile(Monitor *m) - if (n > m->nmaster) - mw = m->nmaster ? m->ww * m->mfact : 0; - else -- mw = m->ww; -- for (i = my = ty = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) -+ mw = m->ww - m->gappx; -+ for (i = 0, my = ty = m->gappx, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) - if (i < m->nmaster) { -- h = (m->wh - my) / (MIN(n, m->nmaster) - i); -- resize(c, m->wx, m->wy + my, mw - (2*c->bw), h - (2*c->bw), 0); -- if (my + HEIGHT(c) < m->wh) -- my += HEIGHT(c); -+ h = (m->wh - my) / (MIN(n, m->nmaster) - i) - m->gappx; -+ resize(c, m->wx + m->gappx, m->wy + my, mw - (2*c->bw) - m->gappx, h - (2*c->bw), 0); -+ my += HEIGHT(c) + m->gappx; - } else { -- h = (m->wh - ty) / (n - i); -- resize(c, m->wx + mw, m->wy + ty, m->ww - mw - (2*c->bw), h - (2*c->bw), 0); -- if (ty + HEIGHT(c) < m->wh) -- ty += HEIGHT(c); -+ h = (m->wh - ty) / (n - i) - m->gappx; -+ resize(c, m->wx + mw + m->gappx, m->wy + ty, m->ww - mw - (2*c->bw) - 2*m->gappx, h - (2*c->bw), 0); -+ ty += HEIGHT(c) + m->gappx; - } - } - --- -2.20.1 - -- cgit v1.2.3