aboutsummaryrefslogtreecommitdiff
path: root/patches
diff options
context:
space:
mode:
Diffstat (limited to 'patches')
-rw-r--r--patches/dwm-namedscratchpads-6.2.diff138
-rw-r--r--patches/dwm-restartsig-20180523-6.2.diff139
-rw-r--r--patches/dwm-vanitygaps-20200610-f09418b.diff262
3 files changed, 0 insertions, 539 deletions
diff --git a/patches/dwm-namedscratchpads-6.2.diff b/patches/dwm-namedscratchpads-6.2.diff
deleted file mode 100644
index d007118..0000000
--- a/patches/dwm-namedscratchpads-6.2.diff
+++ /dev/null
@@ -1,138 +0,0 @@
-diff '--color=auto' -up dwm-6.2/config.def.h dwm-6.2-new/config.def.h
---- dwm-6.2/config.def.h 2019-02-02 12:55:28.000000000 +0000
-+++ dwm-6.2-new/config.def.h 2020-04-26 13:51:06.713332746 +0100
-@@ -26,9 +26,10 @@ static const Rule rules[] = {
- * WM_CLASS(STRING) = instance, class
- * WM_NAME(STRING) = title
- */
-- /* class instance title tags mask isfloating monitor */
-- { "Gimp", NULL, NULL, 0, 1, -1 },
-- { "Firefox", NULL, NULL, 1 << 8, 0, -1 },
-+ /* class instance title tags mask isfloating monitor scratch key */
-+ { "Gimp", NULL, NULL, 0, 1, -1, 0 },
-+ { "firefox", NULL, NULL, 1 << 8, 0, -1, 0 },
-+ { NULL, NULL, "scratchpad", 0, 1, -1, 's' },
- };
-
- /* layout(s) */
-@@ -59,10 +60,14 @@ static char dmenumon[2] = "0"; /* compon
- static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL };
- static const char *termcmd[] = { "st", NULL };
-
-+/*First arg only serves to match against key in rules*/
-+static const char *scratchpadcmd[] = {"s", "st", "-t", "scratchpad", NULL};
-+
- static Key keys[] = {
- /* modifier key function argument */
- { MODKEY, XK_p, spawn, {.v = dmenucmd } },
- { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } },
-+ { MODKEY, XK_grave, togglescratch, {.v = scratchpadcmd } },
- { MODKEY, XK_b, togglebar, {0} },
- { MODKEY, XK_j, focusstack, {.i = +1 } },
- { MODKEY, XK_k, focusstack, {.i = -1 } },
-diff '--color=auto' -up dwm-6.2/dwm.c dwm-6.2-new/dwm.c
---- dwm-6.2/dwm.c 2019-02-02 12:55:28.000000000 +0000
-+++ dwm-6.2-new/dwm.c 2020-04-26 13:55:56.820584361 +0100
-@@ -93,6 +93,7 @@ struct Client {
- int bw, oldbw;
- unsigned int tags;
- int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen;
-+ char scratchkey;
- Client *next;
- Client *snext;
- Monitor *mon;
-@@ -139,6 +140,7 @@ typedef struct {
- unsigned int tags;
- int isfloating;
- int monitor;
-+ const char scratchkey;
- } Rule;
-
- /* function declarations */
-@@ -206,11 +208,13 @@ static void seturgent(Client *c, int urg
- static void showhide(Client *c);
- static void sigchld(int unused);
- static void spawn(const Arg *arg);
-+static void spawnscratch(const Arg *arg);
- static void tag(const Arg *arg);
- static void tagmon(const Arg *arg);
- static void tile(Monitor *);
- static void togglebar(const Arg *arg);
- static void togglefloating(const Arg *arg);
-+static void togglescratch(const Arg *arg);
- static void toggletag(const Arg *arg);
- static void toggleview(const Arg *arg);
- static void unfocus(Client *c, int setfocus);
-@@ -287,6 +291,7 @@ applyrules(Client *c)
- /* rule matching */
- c->isfloating = 0;
- c->tags = 0;
-+ c->scratchkey = 0;
- XGetClassHint(dpy, c->win, &ch);
- class = ch.res_class ? ch.res_class : broken;
- instance = ch.res_name ? ch.res_name : broken;
-@@ -299,6 +304,7 @@ applyrules(Client *c)
- {
- c->isfloating = r->isfloating;
- c->tags |= r->tags;
-+ c->scratchkey = r->scratchkey;
- for (m = mons; m && m->num != r->monitor; m = m->next);
- if (m)
- c->mon = m;
-@@ -308,6 +314,7 @@ applyrules(Client *c)
- XFree(ch.res_class);
- if (ch.res_name)
- XFree(ch.res_name);
-+
- c->tags = c->tags & TAGMASK ? c->tags & TAGMASK : c->mon->tagset[c->mon->seltags];
- }
-
-@@ -1652,6 +1659,19 @@ spawn(const Arg *arg)
- }
- }
-
-+void spawnscratch(const Arg *arg)
-+{
-+ if (fork() == 0) {
-+ if (dpy)
-+ close(ConnectionNumber(dpy));
-+ setsid();
-+ execvp(((char **)arg->v)[1], ((char **)arg->v)+1);
-+ fprintf(stderr, "dwm: execvp %s", ((char **)arg->v)[1]);
-+ perror(" failed");
-+ exit(EXIT_SUCCESS);
-+ }
-+}
-+
- void
- tag(const Arg *arg)
- {
-@@ -1720,6 +1740,28 @@ togglefloating(const Arg *arg)
- }
-
- void
-+togglescratch(const Arg *arg)
-+{
-+ Client *c;
-+ unsigned int found = 0;
-+
-+ for (c = selmon->clients; c && !(found = c->scratchkey == ((char**)arg->v)[0][0]); c = c->next);
-+ if (found) {
-+ c->tags = ISVISIBLE(c) ? 0 : selmon->tagset[selmon->seltags];
-+ focus(NULL);
-+ arrange(selmon);
-+
-+ if (ISVISIBLE(c)) {
-+ focus(c);
-+ restack(selmon);
-+ }
-+
-+ } else{
-+ spawnscratch(arg);
-+ }
-+}
-+
-+void
- toggletag(const Arg *arg)
- {
- unsigned int newtags;
diff --git a/patches/dwm-restartsig-20180523-6.2.diff b/patches/dwm-restartsig-20180523-6.2.diff
deleted file mode 100644
index f1f8680..0000000
--- a/patches/dwm-restartsig-20180523-6.2.diff
+++ /dev/null
@@ -1,139 +0,0 @@
-From 2991f37f0aaf44b9f9b11e7893ff0af8eb88f649 Mon Sep 17 00:00:00 2001
-From: Christopher Drelich <cd@cdrakka.com>
-Date: Wed, 23 May 2018 22:50:38 -0400
-Subject: [PATCH] Modifies quit to handle restarts and adds SIGHUP and SIGTERM
- handlers.
-
-Modified quit() to restart if it receives arg .i = 1
-MOD+CTRL+SHIFT+Q was added to confid.def.h to do just that.
-
-Signal handlers were handled for SIGHUP and SIGTERM.
-If dwm receives these signals it calls quit() with
-arg .i = to 1 or 0, respectively.
-
-To restart dwm:
-MOD+CTRL+SHIFT+Q
-or
-kill -HUP dwmpid
-
-To quit dwm cleanly:
-MOD+SHIFT+Q
-or
-kill -TERM dwmpid
----
- config.def.h | 1 +
- dwm.1 | 10 ++++++++++
- dwm.c | 22 ++++++++++++++++++++++
- 3 files changed, 33 insertions(+)
-
-diff --git a/config.def.h b/config.def.h
-index a9ac303..e559429 100644
---- a/config.def.h
-+++ b/config.def.h
-@@ -94,6 +94,7 @@ static Key keys[] = {
- TAGKEYS( XK_8, 7)
- TAGKEYS( XK_9, 8)
- { MODKEY|ShiftMask, XK_q, quit, {0} },
-+ { MODKEY|ControlMask|ShiftMask, XK_q, quit, {1} },
- };
-
- /* button definitions */
-diff --git a/dwm.1 b/dwm.1
-index 13b3729..36a331c 100644
---- a/dwm.1
-+++ b/dwm.1
-@@ -142,6 +142,9 @@ Add/remove all windows with nth tag to/from the view.
- .TP
- .B Mod1\-Shift\-q
- Quit dwm.
-+.TP
-+.B Mod1\-Control\-Shift\-q
-+Restart dwm.
- .SS Mouse commands
- .TP
- .B Mod1\-Button1
-@@ -155,6 +158,13 @@ Resize focused window while dragging. Tiled windows will be toggled to the float
- .SH CUSTOMIZATION
- dwm is customized by creating a custom config.h and (re)compiling the source
- code. This keeps it fast, secure and simple.
-+.SH SIGNALS
-+.TP
-+.B SIGHUP - 1
-+Restart the dwm process.
-+.TP
-+.B SIGTERM - 15
-+Cleanly terminate the dwm process.
- .SH SEE ALSO
- .BR dmenu (1),
- .BR st (1)
-diff --git a/dwm.c b/dwm.c
-index bb95e26..286eecd 100644
---- a/dwm.c
-+++ b/dwm.c
-@@ -205,6 +205,8 @@ static void setup(void);
- static void seturgent(Client *c, int urg);
- static void showhide(Client *c);
- static void sigchld(int unused);
-+static void sighup(int unused);
-+static void sigterm(int unused);
- static void spawn(const Arg *arg);
- static void tag(const Arg *arg);
- static void tagmon(const Arg *arg);
-@@ -260,6 +262,7 @@ static void (*handler[LASTEvent]) (XEvent *) = {
- [UnmapNotify] = unmapnotify
- };
- static Atom wmatom[WMLast], netatom[NetLast];
-+static int restart = 0;
- static int running = 1;
- static Cur *cursor[CurLast];
- static Clr **scheme;
-@@ -1248,6 +1251,7 @@ propertynotify(XEvent *e)
- void
- quit(const Arg *arg)
- {
-+ if(arg->i) restart = 1;
- running = 0;
- }
-
-@@ -1536,6 +1540,9 @@ setup(void)
- /* clean up any zombies immediately */
- sigchld(0);
-
-+ signal(SIGHUP, sighup);
-+ signal(SIGTERM, sigterm);
-+
- /* init screen */
- screen = DefaultScreen(dpy);
- sw = DisplayWidth(dpy, screen);
-@@ -1637,6 +1644,20 @@ sigchld(int unused)
- }
-
- void
-+sighup(int unused)
-+{
-+ Arg a = {.i = 1};
-+ quit(&a);
-+}
-+
-+void
-+sigterm(int unused)
-+{
-+ Arg a = {.i = 0};
-+ quit(&a);
-+}
-+
-+void
- spawn(const Arg *arg)
- {
- if (arg->v == dmenucmd)
-@@ -2139,6 +2160,7 @@ main(int argc, char *argv[])
- setup();
- scan();
- run();
-+ if(restart) execvp(argv[0], argv);
- cleanup();
- XCloseDisplay(dpy);
- return EXIT_SUCCESS;
---
-2.7.4
-
diff --git a/patches/dwm-vanitygaps-20200610-f09418b.diff b/patches/dwm-vanitygaps-20200610-f09418b.diff
deleted file mode 100644
index c8b13b2..0000000
--- a/patches/dwm-vanitygaps-20200610-f09418b.diff
+++ /dev/null
@@ -1,262 +0,0 @@
-From c35fd03ec002e1f4476a75203ff9b5cbcc630177 Mon Sep 17 00:00:00 2001
-From: Michel Boaventura <michel.boaventura@protonmail.com>
-Date: Wed, 10 Jun 2020 10:46:51 -0300
-Subject: [PATCH] Update Vanity Gaps to master
-
----
- config.def.h | 21 +++++++
- dwm.c | 154 +++++++++++++++++++++++++++++++++++++++++++++++----
- 2 files changed, 163 insertions(+), 12 deletions(-)
-
-diff --git a/config.def.h b/config.def.h
-index 1c0b587..0927c2d 100644
---- a/config.def.h
-+++ b/config.def.h
-@@ -3,6 +3,11 @@
- /* appearance */
- static const unsigned int borderpx = 1; /* border pixel of windows */
- static const unsigned int snap = 32; /* snap pixel */
-+static const unsigned int gappih = 10; /* horiz inner gap between windows */
-+static const unsigned int gappiv = 10; /* vert inner gap between windows */
-+static const unsigned int gappoh = 10; /* horiz outer gap between windows and screen edge */
-+static const unsigned int gappov = 10; /* vert outer gap between windows and screen edge */
-+static const int smartgaps = 0; /* 1 means no outer gap when there is only one window */
- static const int showbar = 1; /* 0 means no bar */
- static const int topbar = 1; /* 0 means bottom bar */
- static const char *fonts[] = { "monospace:size=10" };
-@@ -70,6 +75,22 @@ static Key keys[] = {
- { MODKEY, XK_d, incnmaster, {.i = -1 } },
- { MODKEY, XK_h, setmfact, {.f = -0.05} },
- { MODKEY, XK_l, setmfact, {.f = +0.05} },
-+ { MODKEY|Mod4Mask, XK_h, incrgaps, {.i = +1 } },
-+ { MODKEY|Mod4Mask, XK_l, incrgaps, {.i = -1 } },
-+ { MODKEY|Mod4Mask|ShiftMask, XK_h, incrogaps, {.i = +1 } },
-+ { MODKEY|Mod4Mask|ShiftMask, XK_l, incrogaps, {.i = -1 } },
-+ { MODKEY|Mod4Mask|ControlMask, XK_h, incrigaps, {.i = +1 } },
-+ { MODKEY|Mod4Mask|ControlMask, XK_l, incrigaps, {.i = -1 } },
-+ { MODKEY|Mod4Mask, XK_0, togglegaps, {0} },
-+ { MODKEY|Mod4Mask|ShiftMask, XK_0, defaultgaps, {0} },
-+ { MODKEY, XK_y, incrihgaps, {.i = +1 } },
-+ { MODKEY, XK_o, incrihgaps, {.i = -1 } },
-+ { MODKEY|ControlMask, XK_y, incrivgaps, {.i = +1 } },
-+ { MODKEY|ControlMask, XK_o, incrivgaps, {.i = -1 } },
-+ { MODKEY|Mod4Mask, XK_y, incrohgaps, {.i = +1 } },
-+ { MODKEY|Mod4Mask, XK_o, incrohgaps, {.i = -1 } },
-+ { MODKEY|ShiftMask, XK_y, incrovgaps, {.i = +1 } },
-+ { MODKEY|ShiftMask, XK_o, incrovgaps, {.i = -1 } },
- { MODKEY, XK_Return, zoom, {0} },
- { MODKEY, XK_Tab, view, {0} },
- { MODKEY|ShiftMask, XK_c, killclient, {0} },
-diff --git a/dwm.c b/dwm.c
-index 9fd0286..50dbbaf 100644
---- a/dwm.c
-+++ b/dwm.c
-@@ -119,6 +119,10 @@ struct Monitor {
- int by; /* bar geometry */
- int mx, my, mw, mh; /* screen size */
- int wx, wy, ww, wh; /* window area */
-+ int gappih; /* horizontal gap between windows */
-+ int gappiv; /* vertical gap between windows */
-+ int gappoh; /* horizontal outer gaps */
-+ int gappov; /* vertical outer gaps */
- unsigned int seltags;
- unsigned int sellt;
- unsigned int tagset[2];
-@@ -200,6 +204,16 @@ 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(int oh, int ov, int ih, int iv);
-+static void incrgaps(const Arg *arg);
-+static void incrigaps(const Arg *arg);
-+static void incrogaps(const Arg *arg);
-+static void incrohgaps(const Arg *arg);
-+static void incrovgaps(const Arg *arg);
-+static void incrihgaps(const Arg *arg);
-+static void incrivgaps(const Arg *arg);
-+static void togglegaps(const Arg *arg);
-+static void defaultgaps(const Arg *arg);
- static void setlayout(const Arg *arg);
- static void setmfact(const Arg *arg);
- static void setup(void);
-@@ -241,6 +255,7 @@ static char stext[256];
- static int screen;
- static int sw, sh; /* X display screen geometry width, height */
- static int bh, blw = 0; /* bar geometry */
-+static int enablegaps = 1; /* enables gaps, used by togglegaps */
- static int lrpad; /* sum of left and right padding for text */
- static int (*xerrorxlib)(Display *, XErrorEvent *);
- static unsigned int numlockmask = 0;
-@@ -639,6 +654,10 @@ createmon(void)
- m->nmaster = nmaster;
- m->showbar = showbar;
- m->topbar = topbar;
-+ m->gappih = gappih;
-+ m->gappiv = gappiv;
-+ m->gappoh = gappoh;
-+ m->gappov = gappov;
- m->lt[0] = &layouts[0];
- m->lt[1] = &layouts[1 % LENGTH(layouts)];
- strncpy(m->ltsymbol, layouts[0].symbol, sizeof m->ltsymbol);
-@@ -1498,6 +1517,111 @@ setfullscreen(Client *c, int fullscreen)
- }
- }
-
-+void
-+setgaps(int oh, int ov, int ih, int iv)
-+{
-+ if (oh < 0) oh = 0;
-+ if (ov < 0) ov = 0;
-+ if (ih < 0) ih = 0;
-+ if (iv < 0) iv = 0;
-+
-+ selmon->gappoh = oh;
-+ selmon->gappov = ov;
-+ selmon->gappih = ih;
-+ selmon->gappiv = iv;
-+ arrange(selmon);
-+}
-+
-+void
-+togglegaps(const Arg *arg)
-+{
-+ enablegaps = !enablegaps;
-+ arrange(selmon);
-+}
-+
-+void
-+defaultgaps(const Arg *arg)
-+{
-+ setgaps(gappoh, gappov, gappih, gappiv);
-+}
-+
-+void
-+incrgaps(const Arg *arg)
-+{
-+ setgaps(
-+ selmon->gappoh + arg->i,
-+ selmon->gappov + arg->i,
-+ selmon->gappih + arg->i,
-+ selmon->gappiv + arg->i
-+ );
-+}
-+
-+void
-+incrigaps(const Arg *arg)
-+{
-+ setgaps(
-+ selmon->gappoh,
-+ selmon->gappov,
-+ selmon->gappih + arg->i,
-+ selmon->gappiv + arg->i
-+ );
-+}
-+
-+void
-+incrogaps(const Arg *arg)
-+{
-+ setgaps(
-+ selmon->gappoh + arg->i,
-+ selmon->gappov + arg->i,
-+ selmon->gappih,
-+ selmon->gappiv
-+ );
-+}
-+
-+void
-+incrohgaps(const Arg *arg)
-+{
-+ setgaps(
-+ selmon->gappoh + arg->i,
-+ selmon->gappov,
-+ selmon->gappih,
-+ selmon->gappiv
-+ );
-+}
-+
-+void
-+incrovgaps(const Arg *arg)
-+{
-+ setgaps(
-+ selmon->gappoh,
-+ selmon->gappov + arg->i,
-+ selmon->gappih,
-+ selmon->gappiv
-+ );
-+}
-+
-+void
-+incrihgaps(const Arg *arg)
-+{
-+ setgaps(
-+ selmon->gappoh,
-+ selmon->gappov,
-+ selmon->gappih + arg->i,
-+ selmon->gappiv
-+ );
-+}
-+
-+void
-+incrivgaps(const Arg *arg)
-+{
-+ setgaps(
-+ selmon->gappoh,
-+ selmon->gappov,
-+ selmon->gappih,
-+ selmon->gappiv + arg->i
-+ );
-+}
-+
- void
- setlayout(const Arg *arg)
- {
-@@ -1674,28 +1798,34 @@ tagmon(const Arg *arg)
- void
- tile(Monitor *m)
- {
-- unsigned int i, n, h, mw, my, ty;
-+ unsigned int i, n, h, r, oe = enablegaps, ie = enablegaps, mw, my, ty;
- Client *c;
-
- for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++);
- if (n == 0)
- return;
-
-+ if (smartgaps == n) {
-+ oe = 0; // outer gaps disabled
-+ }
-+
- if (n > m->nmaster)
-- mw = m->nmaster ? m->ww * m->mfact : 0;
-+ mw = m->nmaster ? (m->ww + m->gappiv*ie) * 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 - 2*m->gappov*oe + m->gappiv*ie;
-+ for (i = 0, my = ty = m->gappoh*oe, 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);
-+ r = MIN(n, m->nmaster) - i;
-+ h = (m->wh - my - m->gappoh*oe - m->gappih*ie * (r - 1)) / r;
-+ resize(c, m->wx + m->gappov*oe, m->wy + my, mw - (2*c->bw) - m->gappiv*ie, h - (2*c->bw), 0);
-+ if (my + HEIGHT(c) + m->gappih*ie < m->wh)
-+ my += HEIGHT(c) + m->gappih*ie;
- } 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);
-+ r = n - i;
-+ h = (m->wh - ty - m->gappoh*oe - m->gappih*ie * (r - 1)) / r;
-+ resize(c, m->wx + mw + m->gappov*oe, m->wy + ty, m->ww - mw - (2*c->bw) - 2*m->gappov*oe, h - (2*c->bw), 0);
-+ if (ty + HEIGHT(c) + m->gappih*ie < m->wh)
-+ ty += HEIGHT(c) + m->gappih*ie;
- }
- }
-
---
-2.27.0
-