From bc7baa47508c8cebd3b58189b03e277dd415a66a Mon Sep 17 00:00:00 2001 From: mhsn Date: Sun, 29 Jun 2025 22:07:45 +0100 Subject: properly apply patches --- x11-terms/st/files/01_disable-bold-italic.diff | 22 ++++ x11-terms/st/files/01_disable-bold-italic.patch | 22 ---- x11-terms/st/st-0.9.2.ebuild | 4 + x11-wm/dwm/dwm-6.5.ebuild | 4 + x11-wm/dwm/files/01_centeredmaster.diff | 142 ++++++++++++++++++++++++ x11-wm/dwm/files/01_centeredmaster.patch | 142 ------------------------ 6 files changed, 172 insertions(+), 164 deletions(-) create mode 100644 x11-terms/st/files/01_disable-bold-italic.diff delete mode 100644 x11-terms/st/files/01_disable-bold-italic.patch create mode 100644 x11-wm/dwm/files/01_centeredmaster.diff delete mode 100644 x11-wm/dwm/files/01_centeredmaster.patch diff --git a/x11-terms/st/files/01_disable-bold-italic.diff b/x11-terms/st/files/01_disable-bold-italic.diff new file mode 100644 index 0000000..147ffef --- /dev/null +++ b/x11-terms/st/files/01_disable-bold-italic.diff @@ -0,0 +1,22 @@ +diff --git i/x.c w/x.c +index d73152b..ab0a1ce 100644 +--- i/x.c ++++ w/x.c +@@ -1033,17 +1033,14 @@ xloadfonts(const char *fontstr, double fontsize) + win.ch = ceilf(dc.font.height * chscale); + + FcPatternDel(pattern, FC_SLANT); +- FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ITALIC); + if (xloadfont(&dc.ifont, pattern)) + die("can't open font %s\n", fontstr); + + FcPatternDel(pattern, FC_WEIGHT); +- FcPatternAddInteger(pattern, FC_WEIGHT, FC_WEIGHT_BOLD); + if (xloadfont(&dc.ibfont, pattern)) + die("can't open font %s\n", fontstr); + + FcPatternDel(pattern, FC_SLANT); +- FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ROMAN); + if (xloadfont(&dc.bfont, pattern)) + die("can't open font %s\n", fontstr); + diff --git a/x11-terms/st/files/01_disable-bold-italic.patch b/x11-terms/st/files/01_disable-bold-italic.patch deleted file mode 100644 index 147ffef..0000000 --- a/x11-terms/st/files/01_disable-bold-italic.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git i/x.c w/x.c -index d73152b..ab0a1ce 100644 ---- i/x.c -+++ w/x.c -@@ -1033,17 +1033,14 @@ xloadfonts(const char *fontstr, double fontsize) - win.ch = ceilf(dc.font.height * chscale); - - FcPatternDel(pattern, FC_SLANT); -- FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ITALIC); - if (xloadfont(&dc.ifont, pattern)) - die("can't open font %s\n", fontstr); - - FcPatternDel(pattern, FC_WEIGHT); -- FcPatternAddInteger(pattern, FC_WEIGHT, FC_WEIGHT_BOLD); - if (xloadfont(&dc.ibfont, pattern)) - die("can't open font %s\n", fontstr); - - FcPatternDel(pattern, FC_SLANT); -- FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ROMAN); - if (xloadfont(&dc.bfont, pattern)) - die("can't open font %s\n", fontstr); - diff --git a/x11-terms/st/st-0.9.2.ebuild b/x11-terms/st/st-0.9.2.ebuild index c74829a..dd6427e 100644 --- a/x11-terms/st/st-0.9.2.ebuild +++ b/x11-terms/st/st-0.9.2.ebuild @@ -16,6 +16,10 @@ else KEYWORDS="amd64 ~arm arm64 ~hppa ~m68k ppc64 ~riscv x86" fi +PATCHES=( + "${FILESDIR}/01_disable-bold-italic.diff" +) + LICENSE="MIT" SLOT="0" diff --git a/x11-wm/dwm/dwm-6.5.ebuild b/x11-wm/dwm/dwm-6.5.ebuild index 989c843..412315a 100644 --- a/x11-wm/dwm/dwm-6.5.ebuild +++ b/x11-wm/dwm/dwm-6.5.ebuild @@ -16,6 +16,10 @@ else KEYWORDS="amd64 ~arm arm64 ppc ppc64 ~riscv x86" fi +PATCHES=( + "${FILESDIR}/01_centeredmaster.diff" +) + LICENSE="MIT" SLOT="0" IUSE="xinerama" diff --git a/x11-wm/dwm/files/01_centeredmaster.diff b/x11-wm/dwm/files/01_centeredmaster.diff new file mode 100644 index 0000000..6926892 --- /dev/null +++ b/x11-wm/dwm/files/01_centeredmaster.diff @@ -0,0 +1,142 @@ +diff --git a/config.def.h b/config.def.h +index 7054c06..527b214 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -39,6 +39,8 @@ static const Layout layouts[] = { + { "[]=", tile }, /* first entry is default */ + { "><>", NULL }, /* no layout function means floating behavior */ + { "[M]", monocle }, ++ { "|M|", centeredmaster }, ++ { ">M>", centeredfloatingmaster }, + }; + + /* key definitions */ +@@ -74,6 +76,8 @@ static Key keys[] = { + { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, + { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, + { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, ++ { MODKEY, XK_u, setlayout, {.v = &layouts[3]} }, ++ { MODKEY, XK_o, setlayout, {.v = &layouts[4]} }, + { MODKEY, XK_space, setlayout, {0} }, + { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, + { MODKEY, XK_0, view, {.ui = ~0 } }, +diff --git a/dwm.c b/dwm.c +index 0362114..1e81412 100644 +--- a/dwm.c ++++ b/dwm.c +@@ -233,6 +233,8 @@ static int xerror(Display *dpy, XErrorEvent *ee); + static int xerrordummy(Display *dpy, XErrorEvent *ee); + static int xerrorstart(Display *dpy, XErrorEvent *ee); + static void zoom(const Arg *arg); ++static void centeredmaster(Monitor *m); ++static void centeredfloatingmaster(Monitor *m); + + /* variables */ + static const char broken[] = "broken"; +@@ -2139,3 +2141,106 @@ main(int argc, char *argv[]) + XCloseDisplay(dpy); + return EXIT_SUCCESS; + } ++ ++void ++centeredmaster(Monitor *m) ++{ ++ unsigned int i, n, h, mw, mx, my, oty, ety, tw; ++ Client *c; ++ ++ /* count number of clients in the selected monitor */ ++ for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); ++ if (n == 0) ++ return; ++ ++ /* initialize areas */ ++ mw = m->ww; ++ mx = 0; ++ my = 0; ++ tw = mw; ++ ++ if (n > m->nmaster) { ++ /* go mfact box in the center if more than nmaster clients */ ++ mw = m->nmaster ? m->ww * m->mfact : 0; ++ tw = m->ww - mw; ++ ++ if (n - m->nmaster > 1) { ++ /* only one client */ ++ mx = (m->ww - mw) / 2; ++ tw = (m->ww - mw) / 2; ++ } ++ } ++ ++ oty = 0; ++ ety = 0; ++ for (i = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) ++ if (i < m->nmaster) { ++ /* nmaster clients are stacked vertically, in the center ++ * of the screen */ ++ h = (m->wh - my) / (MIN(n, m->nmaster) - i); ++ resize(c, m->wx + mx, m->wy + my, mw - (2*c->bw), ++ h - (2*c->bw), 0); ++ my += HEIGHT(c); ++ } else { ++ /* stack clients are stacked vertically */ ++ if ((i - m->nmaster) % 2 ) { ++ h = (m->wh - ety) / ( (1 + n - i) / 2); ++ resize(c, m->wx, m->wy + ety, tw - (2*c->bw), ++ h - (2*c->bw), 0); ++ ety += HEIGHT(c); ++ } else { ++ h = (m->wh - oty) / ((1 + n - i) / 2); ++ resize(c, m->wx + mx + mw, m->wy + oty, ++ tw - (2*c->bw), h - (2*c->bw), 0); ++ oty += HEIGHT(c); ++ } ++ } ++} ++ ++void ++centeredfloatingmaster(Monitor *m) ++{ ++ unsigned int i, n, w, mh, mw, mx, mxo, my, myo, tx; ++ Client *c; ++ ++ /* count number of clients in the selected monitor */ ++ for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); ++ if (n == 0) ++ return; ++ ++ /* initialize nmaster area */ ++ if (n > m->nmaster) { ++ /* go mfact box in the center if more than nmaster clients */ ++ if (m->ww > m->wh) { ++ mw = m->nmaster ? m->ww * m->mfact : 0; ++ mh = m->nmaster ? m->wh * 0.9 : 0; ++ } else { ++ mh = m->nmaster ? m->wh * m->mfact : 0; ++ mw = m->nmaster ? m->ww * 0.9 : 0; ++ } ++ mx = mxo = (m->ww - mw) / 2; ++ my = myo = (m->wh - mh) / 2; ++ } else { ++ /* go fullscreen if all clients are in the master area */ ++ mh = m->wh; ++ mw = m->ww; ++ mx = mxo = 0; ++ my = myo = 0; ++ } ++ ++ for(i = tx = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) ++ if (i < m->nmaster) { ++ /* nmaster clients are stacked horizontally, in the center ++ * of the screen */ ++ w = (mw + mxo - mx) / (MIN(n, m->nmaster) - i); ++ resize(c, m->wx + mx, m->wy + my, w - (2*c->bw), ++ mh - (2*c->bw), 0); ++ mx += WIDTH(c); ++ } else { ++ /* stack clients are stacked horizontally */ ++ w = (m->ww - tx) / (n - i); ++ resize(c, m->wx + tx, m->wy, w - (2*c->bw), ++ m->wh - (2*c->bw), 0); ++ tx += WIDTH(c); ++ } ++} diff --git a/x11-wm/dwm/files/01_centeredmaster.patch b/x11-wm/dwm/files/01_centeredmaster.patch deleted file mode 100644 index 6926892..0000000 --- a/x11-wm/dwm/files/01_centeredmaster.patch +++ /dev/null @@ -1,142 +0,0 @@ -diff --git a/config.def.h b/config.def.h -index 7054c06..527b214 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -39,6 +39,8 @@ static const Layout layouts[] = { - { "[]=", tile }, /* first entry is default */ - { "><>", NULL }, /* no layout function means floating behavior */ - { "[M]", monocle }, -+ { "|M|", centeredmaster }, -+ { ">M>", centeredfloatingmaster }, - }; - - /* key definitions */ -@@ -74,6 +76,8 @@ static Key keys[] = { - { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, - { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, - { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, -+ { MODKEY, XK_u, setlayout, {.v = &layouts[3]} }, -+ { MODKEY, XK_o, setlayout, {.v = &layouts[4]} }, - { MODKEY, XK_space, setlayout, {0} }, - { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, - { MODKEY, XK_0, view, {.ui = ~0 } }, -diff --git a/dwm.c b/dwm.c -index 0362114..1e81412 100644 ---- a/dwm.c -+++ b/dwm.c -@@ -233,6 +233,8 @@ static int xerror(Display *dpy, XErrorEvent *ee); - static int xerrordummy(Display *dpy, XErrorEvent *ee); - static int xerrorstart(Display *dpy, XErrorEvent *ee); - static void zoom(const Arg *arg); -+static void centeredmaster(Monitor *m); -+static void centeredfloatingmaster(Monitor *m); - - /* variables */ - static const char broken[] = "broken"; -@@ -2139,3 +2141,106 @@ main(int argc, char *argv[]) - XCloseDisplay(dpy); - return EXIT_SUCCESS; - } -+ -+void -+centeredmaster(Monitor *m) -+{ -+ unsigned int i, n, h, mw, mx, my, oty, ety, tw; -+ Client *c; -+ -+ /* count number of clients in the selected monitor */ -+ for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); -+ if (n == 0) -+ return; -+ -+ /* initialize areas */ -+ mw = m->ww; -+ mx = 0; -+ my = 0; -+ tw = mw; -+ -+ if (n > m->nmaster) { -+ /* go mfact box in the center if more than nmaster clients */ -+ mw = m->nmaster ? m->ww * m->mfact : 0; -+ tw = m->ww - mw; -+ -+ if (n - m->nmaster > 1) { -+ /* only one client */ -+ mx = (m->ww - mw) / 2; -+ tw = (m->ww - mw) / 2; -+ } -+ } -+ -+ oty = 0; -+ ety = 0; -+ for (i = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) -+ if (i < m->nmaster) { -+ /* nmaster clients are stacked vertically, in the center -+ * of the screen */ -+ h = (m->wh - my) / (MIN(n, m->nmaster) - i); -+ resize(c, m->wx + mx, m->wy + my, mw - (2*c->bw), -+ h - (2*c->bw), 0); -+ my += HEIGHT(c); -+ } else { -+ /* stack clients are stacked vertically */ -+ if ((i - m->nmaster) % 2 ) { -+ h = (m->wh - ety) / ( (1 + n - i) / 2); -+ resize(c, m->wx, m->wy + ety, tw - (2*c->bw), -+ h - (2*c->bw), 0); -+ ety += HEIGHT(c); -+ } else { -+ h = (m->wh - oty) / ((1 + n - i) / 2); -+ resize(c, m->wx + mx + mw, m->wy + oty, -+ tw - (2*c->bw), h - (2*c->bw), 0); -+ oty += HEIGHT(c); -+ } -+ } -+} -+ -+void -+centeredfloatingmaster(Monitor *m) -+{ -+ unsigned int i, n, w, mh, mw, mx, mxo, my, myo, tx; -+ Client *c; -+ -+ /* count number of clients in the selected monitor */ -+ for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); -+ if (n == 0) -+ return; -+ -+ /* initialize nmaster area */ -+ if (n > m->nmaster) { -+ /* go mfact box in the center if more than nmaster clients */ -+ if (m->ww > m->wh) { -+ mw = m->nmaster ? m->ww * m->mfact : 0; -+ mh = m->nmaster ? m->wh * 0.9 : 0; -+ } else { -+ mh = m->nmaster ? m->wh * m->mfact : 0; -+ mw = m->nmaster ? m->ww * 0.9 : 0; -+ } -+ mx = mxo = (m->ww - mw) / 2; -+ my = myo = (m->wh - mh) / 2; -+ } else { -+ /* go fullscreen if all clients are in the master area */ -+ mh = m->wh; -+ mw = m->ww; -+ mx = mxo = 0; -+ my = myo = 0; -+ } -+ -+ for(i = tx = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) -+ if (i < m->nmaster) { -+ /* nmaster clients are stacked horizontally, in the center -+ * of the screen */ -+ w = (mw + mxo - mx) / (MIN(n, m->nmaster) - i); -+ resize(c, m->wx + mx, m->wy + my, w - (2*c->bw), -+ mh - (2*c->bw), 0); -+ mx += WIDTH(c); -+ } else { -+ /* stack clients are stacked horizontally */ -+ w = (m->ww - tx) / (n - i); -+ resize(c, m->wx + tx, m->wy, w - (2*c->bw), -+ m->wh - (2*c->bw), 0); -+ tx += WIDTH(c); -+ } -+} -- cgit v1.2.3