sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | Refs

commit 96a13bc46b620c6b3476062e3c80af665235a047
parent b92696eb84bfa22c1108844d52e35b58f8d603b0
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date:   Fri,  9 Aug 2019 16:52:51 +0200

dwm: remove old broken patches

There are more patches broken, but this is a conservative removal.
Some of the broken recent patches require minor modifications to work.

If you're the author/maintainer, please fix them.

Diffstat:
Ddwm.suckless.org/patches/pertag/dwm-pertag-5.6.1.diff | 184-------------------------------------------------------------------------------
Mdwm.suckless.org/patches/pertag/index.md | 1-
Ddwm.suckless.org/patches/save_floats/dwm-savefloats-6.1.diff | 47-----------------------------------------------
Mdwm.suckless.org/patches/save_floats/index.md | 2--
Ddwm.suckless.org/patches/swapfocus/dwm-6.1-swapfocus.diff | 66------------------------------------------------------------------
Mdwm.suckless.org/patches/swapfocus/index.md | 1-
Ddwm.suckless.org/patches/tagintostack/dwm-6.1-tagintostack-onemaster.diff | 20--------------------
Mdwm.suckless.org/patches/tagintostack/index.md | 1-
Ddwm.suckless.org/patches/zoomswap/dwm-6.1-zoomswap.diff | 86-------------------------------------------------------------------------------
Mdwm.suckless.org/patches/zoomswap/index.md | 1-
10 files changed, 0 insertions(+), 409 deletions(-)

diff --git a/dwm.suckless.org/patches/pertag/dwm-pertag-5.6.1.diff b/dwm.suckless.org/patches/pertag/dwm-pertag-5.6.1.diff @@ -1,184 +0,0 @@ ---- dwm.c 2009-09-18 18:12:50.000000000 +0200 -+++ dwm.c.working 2009-09-18 18:14:04.000000000 +0200 -@@ -131,6 +131,25 @@ - void (*arrange) (Monitor *); - } Layout; - -+struct Monitor { -+ float mfact; -+ int num; -+ int by; /* bar geometry */ -+ int mx, my, mw, mh; /* screen size */ -+ int wx, wy, ww, wh; /* window area */ -+ unsigned int seltags; -+ unsigned int sellt; -+ unsigned int tagset[2]; -+ Bool showbar; -+ Bool topbar; -+ Client *clients; -+ Client *sel; -+ Client *stack; -+ Monitor *next; -+ Window barwin; -+ const Layout *lt[2]; -+}; -+ - typedef struct { - const char *class; - const char *instance; -@@ -263,30 +282,6 @@ - /* configuration, allows nested code to access above variables */ - #include "config.h" - --struct Monitor { -- float mfact; -- int num; -- int by; /* bar geometry */ -- int mx, my, mw, mh; /* screen size */ -- int wx, wy, ww, wh; /* window area */ -- unsigned int seltags; -- unsigned int sellt; -- unsigned int tagset[2]; -- Bool showbar; -- Bool topbar; -- Client *clients; -- Client *sel; -- Client *stack; -- Monitor *next; -- Window barwin; -- const Layout *lt[2]; -- int curtag; -- int prevtag; -- const Layout *lts[LENGTH(tags) + 1]; -- double mfacts[LENGTH(tags) + 1]; -- Bool showbars[LENGTH(tags) + 1]; --}; -- - /* compile-time check if all tags fit into an unsigned int bit array. */ - struct NumTags { - char limitexceeded[LENGTH(tags) > 31 ? -1 : 1]; -@@ -1484,7 +1479,7 @@ - if (!arg || !arg->v || arg->v != selmon->lt[selmon->sellt]) - selmon->sellt ^= 1; - if (arg && arg->v) -- selmon->lt[selmon->sellt] = selmon->lts[selmon->curtag] = (Layout *) arg->v; -+ selmon->lt[selmon->sellt] = (Layout *) arg->v; - if (selmon->sel) - arrange(); - else -@@ -1502,7 +1497,7 @@ - f = arg->f < 1.0 ? arg->f + selmon->mfact : arg->f - 1.0; - if (f < 0.1 || f > 0.9) - return; -- selmon->mfact = selmon->mfacts[selmon->curtag] = f; -+ selmon->mfact = f; - arrange(); - } - -@@ -1512,7 +1507,6 @@ - unsigned int i; - int w; - XSetWindowAttributes wa; -- Monitor *m; - - /* clean up any zombies immediately */ - sigchld(0); -@@ -1547,31 +1541,11 @@ - XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter); - if (!dc.font.set) - XSetFont(dpy, dc.gc, dc.font.xfont->fid); -- /* init tags */ -- for (m = mons; m; m = m->next) -- m->curtag = m->prevtag = 1; -- /* init mfacts */ -- for (m = mons; m; m = m->next) { -- for (i = 0; i < LENGTH(tags) + 1; i++) { -- m->mfacts[i] = m->mfact; -- } -- } -- /* init layouts */ -- for (m = mons; m; m = m->next) { -- for (i = 0; i < LENGTH(tags) + 1; i++) { -- m->lts[i] = &layouts[0]; -- } -- } - /* init bars */ - for (blw = i = 0; LENGTH(layouts) > 1 && i < LENGTH(layouts); i++) { - w = TEXTW(layouts[i].symbol); - blw = MAX(blw, w); - } -- for (m = mons; m; m = m->next) { -- for (i = 0; i < LENGTH(tags) + 1; i++) { -- m->showbars[i] = m->showbar; -- } -- } - updatebars(); - updatestatus(); - /* EWMH support per view */ -@@ -1689,7 +1663,7 @@ - void - togglebar(const Arg * arg) - { -- selmon->showbar = selmon->showbars[selmon->curtag] = !selmon->showbar; -+ selmon->showbar = !selmon->showbar; - updatebarpos(selmon); - XMoveResizeWindow(dpy, selmon->barwin, selmon->wx, selmon->by, selmon->ww, bh); - arrange(); -@@ -1710,27 +1684,13 @@ - void - toggletag(const Arg * arg) - { -- unsigned int i; - unsigned int newtags; - - if (!selmon->sel) - return; - newtags = selmon->sel->tags ^ (arg->ui & TAGMASK); - if (newtags) { -- if (newtags == ~0) { -- selmon->prevtag = selmon->curtag; -- selmon->curtag = 0; -- } -- if (!(newtags & 1 << (selmon->curtag - 1))) { -- selmon->prevtag = selmon->curtag; -- for (i = 0; !(newtags & 1 << i); i++); -- selmon->curtag = i + 1; -- } - selmon->sel->tags = newtags; -- selmon->lt[selmon->sellt] = selmon->lts[selmon->curtag]; -- selmon->mfact = selmon->mfacts[selmon->curtag]; -- if (selmon->showbar != selmon->showbars[selmon->curtag]) -- togglebar(NULL); - arrange(); - } - } -@@ -1993,28 +1953,11 @@ - void - view(const Arg * arg) - { -- unsigned int i; - if ((arg->ui & TAGMASK) == selmon->tagset[selmon->seltags]) - return; - selmon->seltags ^= 1; /* toggle sel tagset */ -- if (arg->ui & TAGMASK) { -+ if (arg->ui & TAGMASK) - selmon->tagset[selmon->seltags] = arg->ui & TAGMASK; -- selmon->prevtag = selmon->curtag; -- if (arg->ui == ~0) -- selmon->curtag = 0; -- else { -- for (i = 0; !(arg->ui & 1 << i); i++); -- selmon->curtag = i + 1; -- } -- } else { -- selmon->prevtag = selmon->curtag ^ selmon->prevtag; -- selmon->curtag ^= selmon->prevtag; -- selmon->prevtag = selmon->curtag ^ selmon->prevtag; -- } -- selmon->lt[selmon->sellt] = selmon->lts[selmon->curtag]; -- selmon->mfact = selmon->mfacts[selmon->curtag]; -- if (selmon->showbar != selmon->showbars[selmon->curtag]) -- togglebar(NULL); - arrange(); - } - diff --git a/dwm.suckless.org/patches/pertag/index.md b/dwm.suckless.org/patches/pertag/index.md @@ -15,7 +15,6 @@ Download * [dwm-r1578-pertag.diff](dwm-r1578-pertag.diff) (nmaster included in mainline) * [dwm-pertag-5.8.2.diff](dwm-pertag-5.8.2.diff) * [dwm-pertag-5.7.2.diff](dwm-pertag-5.7.2.diff) -* [dwm-pertag-5.6.1.diff](dwm-pertag-5.6.1.diff) * [dwm-pertag-5.4.diff](dwm-pertag-5.4.diff) * [dwm-pertag-5.2.diff](dwm-pertag-5.2.diff) * [dwm-pertag-5.1.diff](dwm-pertag-5.1.diff) diff --git a/dwm.suckless.org/patches/save_floats/dwm-savefloats-6.1.diff b/dwm.suckless.org/patches/save_floats/dwm-savefloats-6.1.diff @@ -1,47 +0,0 @@ -URL: http://dwm.suckless.org/patches/historical/save_floats -This patch saves size and position of every floating window before it is forced -into tiled mode. If the window is made floating again, the old dimensions will -be restored. - -Index: dwm/dwm.c -=================================================================== ---- dwm/dwm.c.orig 2014-02-09 15:24:10.344116918 +0100 -+++ dwm/dwm.c 2014-02-09 15:24:10.336116918 +0100 -@@ -87,6 +87,7 @@ - char name[256]; - float mina, maxa; - int x, y, w, h; -+ int sfx, sfy, sfw, sfh; /* stored float geometry, used on mode revert */ - int oldx, oldy, oldw, oldh; - int basew, baseh, incw, inch, maxw, maxh, minw, minh; - int bw, oldbw; -@@ -1045,6 +1046,10 @@ - updatewindowtype(c); - updatesizehints(c); - updatewmhints(c); -+ c->sfx = c->x; -+ c->sfy = c->y; -+ c->sfw = c->w; -+ c->sfh = c->h; - XSelectInput(dpy, w, EnterWindowMask|FocusChangeMask|PropertyChangeMask|StructureNotifyMask); - grabbuttons(c, False); - if(!c->isfloating) -@@ -1641,8 +1646,16 @@ - return; - selmon->sel->isfloating = !selmon->sel->isfloating || selmon->sel->isfixed; - if(selmon->sel->isfloating) -- resize(selmon->sel, selmon->sel->x, selmon->sel->y, -- selmon->sel->w, selmon->sel->h, False); -+ /*restore last known float dimensions*/ -+ resize(selmon->sel, selmon->sel->sfx, selmon->sel->sfy, -+ selmon->sel->sfw, selmon->sel->sfh, False); -+ else { -+ /*save last known float dimensions*/ -+ selmon->sel->sfx = selmon->sel->x; -+ selmon->sel->sfy = selmon->sel->y; -+ selmon->sel->sfw = selmon->sel->w; -+ selmon->sel->sfh = selmon->sel->h; -+ } - arrange(selmon); - } - diff --git a/dwm.suckless.org/patches/save_floats/index.md b/dwm.suckless.org/patches/save_floats/index.md @@ -11,11 +11,9 @@ Download -------- * [dwm-savefloats-20181212-b69c870.diff](dwm-savefloats-20181212-b69c870.diff) * [dwm-savefloats-20160723-56a31dc.diff](dwm-savefloats-20160723-56a31dc.diff) -* [dwm-savefloats-6.1.diff](dwm-savefloats-6.1.diff) * [dwm-savefloats-6.0.diff](dwm-savefloats-6.0.diff) Author ------ -* http://nymu.net/patches * Updated by Jan Christoph Ebersbach - <jceb@e-jc.de> * Ivan Tham <pickfire@riseup.net> (git port) diff --git a/dwm.suckless.org/patches/swapfocus/dwm-6.1-swapfocus.diff b/dwm.suckless.org/patches/swapfocus/dwm-6.1-swapfocus.diff @@ -1,66 +0,0 @@ -Author: Jan Christoph Ebersbach <jceb@e-jc.de> -URL: http://dwm.suckless.org/patches/swapfocus -This patch makes it possible to switch focus with one single shortcut (alt-s) -instead of having to think if you should use alt-j or alt-k for reaching the -last used window. - -Index: dwm/dwm.c -=================================================================== ---- dwm/dwm.c.orig 2014-02-09 15:24:14.868117043 +0100 -+++ dwm/dwm.c 2014-02-09 15:24:14.864117043 +0100 -@@ -205,6 +205,7 @@ - static void showhide(Client *c); - static void sigchld(int unused); - static void spawn(const Arg *arg); -+static void swapfocus(); - static void tag(const Arg *arg); - static void tagmon(const Arg *arg); - static void tile(Monitor *); -@@ -234,6 +235,7 @@ - static void zoom(const Arg *arg); - - /* variables */ -+static Client *prevclient = NULL; - static const char broken[] = "broken"; - static char stext[256]; - static int screen; -@@ -1584,6 +1586,16 @@ - } - - void -+swapfocus(){ -+ Client *c; -+ for(c = selmon->clients; c && c != prevclient; c = c->next) ; -+ if(c == prevclient) { -+ focus(prevclient); -+ restack(prevclient->mon); -+ } -+} -+ -+void - tag(const Arg *arg) { - if(selmon->sel && arg->ui & TAGMASK) { - selmon->sel->tags = arg->ui & TAGMASK; -@@ -1675,6 +1687,7 @@ - unfocus(Client *c, Bool setfocus) { - if(!c) - return; -+ prevclient = c; - grabbuttons(c, False); - XSetWindowBorder(dpy, c->win, scheme[SchemeNorm].border->rgb); - if(setfocus) { -@@ -2033,12 +2046,13 @@ - void - zoom(const Arg *arg) { - Client *c = selmon->sel; -+ prevclient = nexttiled(selmon->clients); - - if(!selmon->lt[selmon->sellt]->arrange - || (selmon->sel && selmon->sel->isfloating)) - return; - if(c == nexttiled(selmon->clients)) -- if(!c || !(c = nexttiled(c->next))) -+ if(!c || !(c = prevclient = nexttiled(c->next))) - return; - pop(c); - } diff --git a/dwm.suckless.org/patches/swapfocus/index.md b/dwm.suckless.org/patches/swapfocus/index.md @@ -17,7 +17,6 @@ Download -------- * [dwm-swapfocus-6.2.diff](dwm-swapfocus-6.2.diff) (21.07.2019) * [dwm-swapfocus-20160731-56a31dc.diff](dwm-swapfocus-20160731-56a31dc.diff) -* [dwm-6.1-swapfocus.diff](dwm-6.1-swapfocus.diff) (1807b) (20140209) * [dwm-swapfocus-6.0.diff](dwm-swapfocus-6.0.diff) (1482b) (20120406) * [dwm-5.8.2-swap.diff](dwm-5.8.2-swap.diff) (dwm 5.8.2) diff --git a/dwm.suckless.org/patches/tagintostack/dwm-6.1-tagintostack-onemaster.diff b/dwm.suckless.org/patches/tagintostack/dwm-6.1-tagintostack-onemaster.diff @@ -1,20 +0,0 @@ -diff --git a/dwm.c b/dwm.c -index 1bbb4b3..6dfad66 100644 ---- a/dwm.c -+++ b/dwm.c -@@ -1664,6 +1664,15 @@ void - toggleview(const Arg *arg) { - unsigned int newtagset = selmon->tagset[selmon->seltags] ^ (arg->ui & TAGMASK); - -+ // the first visible client should be the same after we add a new tag -+ // we also want to be sure not to mutate the focus -+ Client *const c = nexttiled(selmon->clients); -+ if (c) { -+ Client * const selected = selmon->sel; -+ pop(c); -+ focus(selected); -+ } -+ - if(newtagset) { - selmon->tagset[selmon->seltags] = newtagset; - focus(NULL); diff --git a/dwm.suckless.org/patches/tagintostack/index.md b/dwm.suckless.org/patches/tagintostack/index.md @@ -15,7 +15,6 @@ views. Download -------- * [dwm-6.1-tagintostack-allmaster.diff](dwm-6.1-tagintostack-allmaster.diff) (568b) (20140306) -* [dwm-6.1-tagintostack-onemaster.diff](dwm-6.1-tagintostack-onemaster.diff) (1138b) (20140306) * [dwm-6.2-tagintostack-onemaster.diff](dwm-6.2-tagintostack-onemaster.diff) Author diff --git a/dwm.suckless.org/patches/zoomswap/dwm-6.1-zoomswap.diff b/dwm.suckless.org/patches/zoomswap/dwm-6.1-zoomswap.diff @@ -1,86 +0,0 @@ -Author: Jan Christoph Ebersbach <jceb@e-jc.de> -URL: http://dwm.suckless.org/patches/zoomswap -This patch swaps the current window with the previous master when zooming. - -Index: dwm/dwm.c -=================================================================== ---- dwm/dwm.c.orig 2014-02-09 15:24:16.008117074 +0100 -+++ dwm/dwm.c 2014-02-09 15:24:16.000117074 +0100 -@@ -234,6 +234,7 @@ - static void zoom(const Arg *arg); - - /* variables */ -+static Client *prevzoom = NULL; - static const char broken[] = "broken"; - static char stext[256]; - static int screen; -@@ -2033,14 +2034,38 @@ - void - zoom(const Arg *arg) { - Client *c = selmon->sel; -+ Client *at = NULL, *cold, *cprevious = NULL; - - if(!selmon->lt[selmon->sellt]->arrange - || (selmon->sel && selmon->sel->isfloating)) - return; -- if(c == nexttiled(selmon->clients)) -- if(!c || !(c = nexttiled(c->next))) -- return; -- pop(c); -+ if(c == nexttiled(selmon->clients)) { -+ at = findbefore(prevzoom); -+ if(at) -+ cprevious = nexttiled(at->next); -+ if(!cprevious || cprevious != prevzoom) { -+ prevzoom = NULL; -+ if(!c || !(c = nexttiled(c->next))) -+ return; -+ } else -+ c = cprevious; -+ } -+ cold = nexttiled(selmon->clients); -+ if(c != cold && !at) -+ at = findbefore(c); -+ detach(c); -+ attach(c); -+ /* swap windows instead of pushing the previous one down */ -+ if(c != cold && at) { -+ prevzoom = cold; -+ if(cold && at != cold) { -+ detach(cold); -+ cold->next = at->next; -+ at->next = cold; -+ } -+ } -+ focus(c); -+ arrange(c->mon); - } - - int -Index: dwm/zoomswap.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ dwm/zoomswap.c 2014-02-09 15:24:16.004117074 +0100 -@@ -0,0 +1,10 @@ -+static Client * findbefore(Client *c); -+ -+Client * -+findbefore(Client *c) { -+ Client *tmp; -+ if(c == selmon->clients) -+ return NULL; -+ for(tmp = selmon->clients; tmp && tmp->next != c; tmp = tmp->next) ; -+ return tmp; -+} -Index: dwm/config.def.h -=================================================================== ---- dwm/config.def.h.orig 2014-02-09 15:24:16.008117074 +0100 -+++ dwm/config.def.h 2014-02-09 15:24:16.004117074 +0100 -@@ -54,6 +54,7 @@ - static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", font, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL }; - static const char *termcmd[] = { "st", NULL }; - -+#include "zoomswap.c" - static Key keys[] = { - /* modifier key function argument */ - { MODKEY, XK_p, spawn, {.v = dmenucmd } }, diff --git a/dwm.suckless.org/patches/zoomswap/index.md b/dwm.suckless.org/patches/zoomswap/index.md @@ -43,7 +43,6 @@ Download -------- * [dwm-zoomswap-6.2.diff](dwm-zoomswap-6.2.diff) * [dwm-zoomswap-20160731-56a31dc.diff](dwm-zoomswap-20160731-56a31dc.diff) -* [dwm-6.1-zoomswap.diff](dwm-6.1-zoomswap.diff) (2585b) (20120406) * [dwm-zoomswap-6.0.diff](dwm-zoomswap-6.0.diff) (1.6K) (20120406) Author