sites

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

commit 7da8c449a62a6421eab0540e8116c2af56570381
parent 227c492c51e5b7d2b58538126751a9745ad39508
Author: redacted <redacted@example.com>
Date:   Tue, 23 Apr 2019 00:44:36 +0100

Added working 6.2 patch and removed obsolete git versions

The previous git version did work with 6.2 but the lack of isfloating
check resized the floating windows when moving them.

Diffstat:
Ddwm.suckless.org/patches/noborder/dwm-noborder-20160718-56a31dc.diff | 71-----------------------------------------------------------------------
Ddwm.suckless.org/patches/noborder/dwm-noborder-20170207-bb3bd6f.diff | 18------------------
Adwm.suckless.org/patches/noborder/dwm-noborder-6.2.diff | 30++++++++++++++++++++++++++++++
Mdwm.suckless.org/patches/noborder/index.md | 3+--
4 files changed, 31 insertions(+), 91 deletions(-)

diff --git a/dwm.suckless.org/patches/noborder/dwm-noborder-20160718-56a31dc.diff b/dwm.suckless.org/patches/noborder/dwm-noborder-20160718-56a31dc.diff @@ -1,71 +0,0 @@ -diff --git a/dwm.c b/dwm.c -index b2bc9bd..d3e1970 100644 ---- a/dwm.c -+++ b/dwm.c -@@ -395,9 +395,24 @@ arrange(Monitor *m) - void - arrangemon(Monitor *m) - { -+ int n = 0; -+ Client *c; - strncpy(m->ltsymbol, m->lt[m->sellt]->symbol, sizeof m->ltsymbol); -- if (m->lt[m->sellt]->arrange) -- m->lt[m->sellt]->arrange(m); -+ for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); -+ if ((m->lt[m->sellt]->arrange != monocle && n > 1) || !m->lt[m->sellt]->arrange) { -+ for (c = m->clients; c; c = c->next) { -+ if (ISVISIBLE(c) && (!m->lt[m->sellt]->arrange || !c->isfloating) && (c->bw != borderpx)) { -+ c->oldbw = c->bw; -+ c->bw = borderpx; -+ resizeclient(c, m->wx, m->wy, m->ww - (2 * c->bw), m->wh - (2 * c->bw)); -+ } -+ } -+ if (m->lt[m->sellt]->arrange) { -+ m->lt[m->sellt]->arrange(m); -+ } -+ } else { -+ monocle(m); -+ } - } - - void -@@ -1126,10 +1141,19 @@ monocle(Monitor *m) - for (c = m->clients; c; c = c->next) - if (ISVISIBLE(c)) - n++; -- if (n > 0) /* override layout symbol */ -+ if (n > 0 && m->lt[m->sellt]->arrange == monocle) /* override layout symbol */ - snprintf(m->ltsymbol, sizeof m->ltsymbol, "[%d]", n); -- for (c = nexttiled(m->clients); c; c = nexttiled(c->next)) -- resize(c, m->wx, m->wy, m->ww - 2 * c->bw, m->wh - 2 * c->bw, 0); -+ for(c = nexttiled(m->clients); c; c = nexttiled(c->next)) { -+ // I'm not sure, but calling resize with the border width subtractions -+ // fixes a glitch where windows would not redraw until they were -+ // manually resized after restarting dwm. -+ resize(c, m->wx, m->wy, m->ww - (2 * c->bw), m->wh - (2 * c->bw), False); -+ if (c->bw) { -+ c->oldbw = c->bw; -+ c->bw = 0; -+ resizeclient(c, m->wx, m->wy, m->ww, m->wh); -+ } -+ } - } - - void -@@ -1705,9 +1729,14 @@ togglefloating(const Arg *arg) - if (selmon->sel->isfullscreen) /* no support for fullscreen windows */ - return; - selmon->sel->isfloating = !selmon->sel->isfloating || selmon->sel->isfixed; -- if (selmon->sel->isfloating) -+ if (selmon->sel->isfloating) { -+ if (selmon->sel->bw != borderpx) { -+ selmon->sel->oldbw = selmon->sel->bw; -+ selmon->sel->bw = borderpx; -+ } - resize(selmon->sel, selmon->sel->x, selmon->sel->y, -- selmon->sel->w, selmon->sel->h, 0); -+ selmon->sel->w - selmon->sel->bw * 2, selmon->sel->h - selmon->sel->bw * 2, 0); -+ } - arrange(selmon); - } - diff --git a/dwm.suckless.org/patches/noborder/dwm-noborder-20170207-bb3bd6f.diff b/dwm.suckless.org/patches/noborder/dwm-noborder-20170207-bb3bd6f.diff @@ -1,18 +0,0 @@ -diff --git a/dwm.c b/dwm.c -index d27cb67..ad6b4df 100644 ---- a/dwm.c -+++ b/dwm.c -@@ -1287,6 +1287,13 @@ resizeclient(Client *c, int x, int y, int w, int h) - c->oldw = c->w; c->w = wc.width = w; - c->oldh = c->h; c->h = wc.height = h; - wc.border_width = c->bw; -+ if (((nexttiled(c->mon->clients) == c && !nexttiled(c->next)) -+ || &monocle == c->mon->lt[c->mon->sellt]->arrange) -+ && !c->isfullscreen) { -+ c->w = wc.width += c->bw * 2; -+ c->h = wc.height += c->bw * 2; -+ wc.border_width = 0; -+ } - XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc); - configure(c); - XSync(dpy, False); diff --git a/dwm.suckless.org/patches/noborder/dwm-noborder-6.2.diff b/dwm.suckless.org/patches/noborder/dwm-noborder-6.2.diff @@ -0,0 +1,30 @@ +From 9102fdb9c670218373bbe83c891c8e8138d6a6f4 Mon Sep 17 00:00:00 2001 +From: redacted <redacted@example.com> +Date: Tue, 23 Apr 2019 00:39:27 +0100 +Subject: [PATCH] added noborder patch + +--- + dwm.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/dwm.c b/dwm.c +index 4465af1..685eca1 100644 +--- a/dwm.c ++++ b/dwm.c +@@ -1282,6 +1282,13 @@ resizeclient(Client *c, int x, int y, int w, int h) + c->oldw = c->w; c->w = wc.width = w; + c->oldh = c->h; c->h = wc.height = h; + wc.border_width = c->bw; ++ if (((nexttiled(c->mon->clients) == c && !nexttiled(c->next)) ++ || &monocle == c->mon->lt[c->mon->sellt]->arrange) ++ && !c->isfullscreen && !c->isfloating) { ++ c->w = wc.width += c->bw * 2; ++ c->h = wc.height += c->bw * 2; ++ wc.border_width = 0; ++ } + XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc); + configure(c); + XSync(dpy, False); +-- +2.21.0 + diff --git a/dwm.suckless.org/patches/noborder/index.md b/dwm.suckless.org/patches/noborder/index.md @@ -7,9 +7,8 @@ Remove the border when there is only one window visible. Download -------- -* [dwm-noborder-20170207-bb3bd6f.diff](dwm-noborder-20170207-bb3bd6f.diff) * [dwm-noborder-6.1.diff](dwm-noborder-6.1.diff) -* [dwm-noborder-20160718-56a31dc.diff](dwm-noborder-20160718-56a31dc.diff) +* [dwm-noborder-6.2.diff](dwm-noborder-6.2.diff) Authors -------