From 0d726cb340ccc089c67d45f36ea999fa958124ae Mon Sep 17 00:00:00 2001 From: TolaMironcenko Date: Wed, 10 Jul 2024 10:27:04 +0700 Subject: [PATCH] flexical gaps in dwm --- dwm/dwm/config.def.h | 6 + dwm/dwm/config.h | 6 + dwm/dwm/dwm | Bin 68376 -> 68408 bytes dwm/dwm/dwm.c | 58 +++++-- dwm/dwm/dwm.o | Bin 62256 -> 62592 bytes dwm/dwm/patches/dwm-fullgaps-6.4.diff | 94 +++++++++++ .../patches/dwm-fullgaps-toggle-20200830.diff | 148 ++++++++++++++++++ 7 files changed, 297 insertions(+), 15 deletions(-) create mode 100644 dwm/dwm/patches/dwm-fullgaps-6.4.diff create mode 100644 dwm/dwm/patches/dwm-fullgaps-toggle-20200830.diff diff --git a/dwm/dwm/config.def.h b/dwm/dwm/config.def.h index 3bcb155..29b6ddd 100644 --- a/dwm/dwm/config.def.h +++ b/dwm/dwm/config.def.h @@ -138,6 +138,12 @@ static const Key keys[] = { { MODKEY, XK_g, spawn, {.v = googlecmd } }, //---------------------------------------------------------------------------------- + + //------------------------------------ gaps ---------------------------- + { MODKEY|ShiftMask, XK_minus, setgaps, {.i = -1 } }, + { MODKEY|ShiftMask, XK_equal, setgaps, {.i = +1 } }, + { MODKEY|ShiftMask, XK_0, setgaps, {.i = 0 } }, + //---------------------------------------------------------------------- { MODKEY, XK_b, togglebar, {0} }, { MODKEY, XK_j, focusstack, {.i = +1 } }, { MODKEY, XK_k, focusstack, {.i = -1 } }, diff --git a/dwm/dwm/config.h b/dwm/dwm/config.h index 3bcb155..6a4e874 100644 --- a/dwm/dwm/config.h +++ b/dwm/dwm/config.h @@ -138,6 +138,12 @@ static const Key keys[] = { { MODKEY, XK_g, spawn, {.v = googlecmd } }, //---------------------------------------------------------------------------------- + //------------------------------------ gaps ---------------------------- + { MODKEY|ShiftMask, XK_minus, setgaps, {.i = -1 } }, + { MODKEY|ShiftMask, XK_equal, setgaps, {.i = +1 } }, + { MODKEY|ShiftMask, XK_0, setgaps, {.i = 0 } }, + //---------------------------------------------------------------------- + { MODKEY, XK_b, togglebar, {0} }, { MODKEY, XK_j, focusstack, {.i = +1 } }, { MODKEY, XK_k, focusstack, {.i = -1 } }, diff --git a/dwm/dwm/dwm b/dwm/dwm/dwm index bbc067602af2fe28c2f8d299f5897032df7cea47..62d08f4322330d30b0d94c674f9233ba5fecc093 100755 GIT binary patch literal 68408 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 literal 68376 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 D5LS(V diff --git a/dwm/dwm/dwm.c b/dwm/dwm/dwm.c index 6b5d20c..0c92415 100644 --- a/dwm/dwm/dwm.c +++ b/dwm/dwm/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 gap; unsigned int seltags; unsigned int sellt; unsigned int tagset[2]; @@ -200,6 +201,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); @@ -641,6 +643,7 @@ createmon(void) m->nmaster = nmaster; m->showbar = showbar; m->topbar = topbar; + m->gap = gap; m->lt[0] = &layouts[0]; m->lt[1] = &layouts[1 % LENGTH(layouts)]; strncpy(m->ltsymbol, layouts[0].symbol, sizeof m->ltsymbol); @@ -1507,6 +1510,15 @@ setfullscreen(Client *c, int fullscreen) } } +void setgaps(const Arg *arg) { + if ((arg->i == 0) || (selmon->gap + arg->i < 0)) { + selmon->gap = 0; + } else { + selmon->gap += arg->i; + } + arrange(selmon); +} + void setlayout(const Arg *arg) { @@ -1695,23 +1707,39 @@ tile(Monitor *m) return; if (n > m->nmaster) - mw = m->nmaster ? (m->ww - gap) * m->mfact : 0; + 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++) - if (i < m->nmaster) { - r = MIN(n, m->nmaster) - i; - h = (m->wh - my - gap * (r - 1)) / r; - resize(c, m->wx + gap, m->wy + my + gap, mw - gap-gap - (2*c->bw), h - gap-gap - (2*c->bw), 0); - if (my + HEIGHT(c) < m->wh) - my += HEIGHT(c) + gap; - } else { - r = n - i; - h = (m->wh - ty - gap * (r - 1)) / r; - resize(c, m->wx + mw + gap, m->wy + ty + gap, m->ww - mw - gap-gap - (2*c->bw), h - gap-gap - (2*c->bw), 0); - if (ty + HEIGHT(c) + gap < m->wh) - ty += HEIGHT(c) + gap; + mw = m->ww - m->gap; + for (i = 0, my = ty = m->gap, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) { + if (i < m->nmaster) { + h = (m->wh - my) / (MIN(n, m->nmaster) - i) - m->gap; + resize(c, m->wx + m->gap, m->wy + my, mw - (2*c->bw) - m->gap, h - (2*c->bw), 0); + if (my + HEIGHT(c) + m->gap < m->wh) { + my += HEIGHT(c) + m->gap; + } + } else { + h = (m->wh - ty) / (n - i) - m->gap; + resize(c, m->wx + mw + m->gap, m->wy + ty, m->ww - mw - (2*c->bw) - 2*m->gap, h - (2*c->bw), 0); + if (ty + HEIGHT(c) + m->gap < m->wh) { + ty += HEIGHT(c) + m->gap; + } + } } + // mw = m->ww; + // for (i = my = ty = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) + // if (i < m->nmaster) { + // r = MIN(n, m->nmaster) - i; + // h = (m->wh - my - gap * (r - 1)) / r; + // resize(c, m->wx + gap, m->wy + my + gap, mw - gap-gap - (2*c->bw), h - gap-gap - (2*c->bw), 0); + // if (my + HEIGHT(c) < m->wh) + // my += HEIGHT(c) + gap; + // } else { + // r = n - i; + // h = (m->wh - ty - gap * (r - 1)) / r; + // resize(c, m->wx + mw + gap, m->wy + ty + gap, m->ww - mw - gap-gap - (2*c->bw), h - gap-gap - (2*c->bw), 0); + // if (ty + HEIGHT(c) + gap < m->wh) + // ty += HEIGHT(c) + gap; + // } } void diff --git a/dwm/dwm/dwm.o b/dwm/dwm/dwm.o index f41f455cbf46d21ffff8499f51740200700a07af..27d5ac0178623482fe2c1480ccfbdae351cb90a5 100644 GIT binary patch delta 22088 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 delta 21794 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 v25yDo%Y)h_JYt-k5o=^SJS~L_mwN|Bnmaster = 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); +@@ -1508,6 +1511,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) + { + if (!arg || !arg->v || arg->v != selmon->lt[selmon->sellt]) +@@ -1697,18 +1710,18 @@ 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++) +- 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); ++ 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) - m->gappx; ++ resize(c, m->wx + m->gappx, m->wy + my, mw - (2*c->bw) - m->gappx, h - (2*c->bw), 0); ++ if (my + HEIGHT(c) + m->gappx < m->wh) ++ 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); ++ if (ty + HEIGHT(c) + m->gappx < m->wh) ++ ty += HEIGHT(c) + m->gappx; + } + } diff --git a/dwm/dwm/patches/dwm-fullgaps-toggle-20200830.diff b/dwm/dwm/patches/dwm-fullgaps-toggle-20200830.diff new file mode 100644 index 0000000..2e64b80 --- /dev/null +++ b/dwm/dwm/patches/dwm-fullgaps-toggle-20200830.diff @@ -0,0 +1,148 @@ +diff --git a/config.def.h b/config.def.h +index 1c0b587..b172f63 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 Gap default_gap = {.isgap = 1, .realgap = 10, .gappx = 10}; + 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,10 @@ 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 = -5 } }, ++ { MODKEY, XK_equal, setgaps, {.i = +5 } }, ++ { MODKEY|ShiftMask, XK_minus, setgaps, {.i = GAP_RESET } }, ++ { MODKEY|ShiftMask, XK_equal, setgaps, {.i = GAP_TOGGLE} }, + TAGKEYS( XK_1, 0) + TAGKEYS( XK_2, 1) + TAGKEYS( XK_3, 2) +diff --git a/dwm.c b/dwm.c +index 664c527..25bc9b7 100644 +--- a/dwm.c ++++ b/dwm.c +@@ -57,6 +57,9 @@ + #define TAGMASK ((1 << LENGTH(tags)) - 1) + #define TEXTW(X) (drw_fontset_getwidth(drw, (X)) + lrpad) + ++#define GAP_TOGGLE 100 ++#define GAP_RESET 0 ++ + /* enums */ + enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ + enum { SchemeNorm, SchemeSel }; /* color schemes */ +@@ -111,6 +114,12 @@ typedef struct { + void (*arrange)(Monitor *); + } Layout; + ++typedef struct { ++ int isgap; ++ int realgap; ++ int gappx; ++} Gap; ++ + struct Monitor { + char ltsymbol[16]; + float mfact; +@@ -119,6 +128,7 @@ struct Monitor { + int by; /* bar geometry */ + int mx, my, mw, mh; /* screen size */ + int wx, wy, ww, wh; /* window area */ ++ Gap *gap; + unsigned int seltags; + unsigned int sellt; + unsigned int tagset[2]; +@@ -169,6 +179,7 @@ static void focus(Client *c); + static void focusin(XEvent *e); + static void focusmon(const Arg *arg); + static void focusstack(const Arg *arg); ++static void gap_copy(Gap *to, const Gap *from); + static Atom getatomprop(Client *c, Atom prop); + static int getrootptr(int *x, int *y); + static long getstate(Window w); +@@ -200,6 +211,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); +@@ -639,6 +651,8 @@ createmon(void) + m->nmaster = nmaster; + m->showbar = showbar; + m->topbar = topbar; ++ m->gap = malloc(sizeof(Gap)); ++ gap_copy(m->gap, &default_gap); + m->lt[0] = &layouts[0]; + m->lt[1] = &layouts[1 % LENGTH(layouts)]; + strncpy(m->ltsymbol, layouts[0].symbol, sizeof m->ltsymbol); +@@ -1498,6 +1512,35 @@ setfullscreen(Client *c, int fullscreen) + } + } + ++void ++gap_copy(Gap *to, const Gap *from) ++{ ++ to->isgap = from->isgap; ++ to->realgap = from->realgap; ++ to->gappx = from->gappx; ++} ++ ++void ++setgaps(const Arg *arg) ++{ ++ Gap *p = selmon->gap; ++ switch(arg->i) ++ { ++ case GAP_TOGGLE: ++ p->isgap = 1 - p->isgap; ++ break; ++ case GAP_RESET: ++ gap_copy(p, &default_gap); ++ break; ++ default: ++ p->realgap += arg->i; ++ p->isgap = 1; ++ } ++ p->realgap = MAX(p->realgap, 0); ++ p->gappx = p->realgap * p->isgap; ++ arrange(selmon); ++} ++ + void + setlayout(const Arg *arg) + { +@@ -1684,18 +1727,18 @@ 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->gap->gappx; ++ for (i = 0, my = ty = m->gap->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->gap->gappx; ++ resize(c, m->wx + m->gap->gappx, m->wy + my, mw - (2*c->bw) - m->gap->gappx, h - (2*c->bw), 0); ++ if (my + HEIGHT(c) + m->gap->gappx < m->wh) ++ my += HEIGHT(c) + m->gap->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->gap->gappx; ++ resize(c, m->wx + mw + m->gap->gappx, m->wy + ty, m->ww - mw - (2*c->bw) - 2*m->gap->gappx, h - (2*c->bw), 0); ++ if (ty + HEIGHT(c) + m->gap->gappx < m->wh) ++ ty += HEIGHT(c) + m->gap->gappx; + } + } +