about summary refs log tree commit diff
diff options
context:
space:
mode:
authorManuel Palenzuela <manuelpalenzuelamerino@gmail.com>2019-06-09 18:06:09 +0200
committerManuel Palenzuela <manuelpalenzuelamerino@gmail.com>2019-06-09 18:06:09 +0200
commit05af5b34634d9919b0d3373c5e7ec54a26fea513 (patch)
treecc35887efe40cb84131b952d001c6405947a21c8
parentFixed gitignore (diff)
downloaddwm-05af5b34634d9919b0d3373c5e7ec54a26fea513.tar.gz
dwm-05af5b34634d9919b0d3373c5e7ec54a26fea513.tar.bz2
dwm-05af5b34634d9919b0d3373c5e7ec54a26fea513.zip
Added gaps 1/2 [Patch]
-rw-r--r--patches/dwm-uselessgap-6.1.diff54
1 files changed, 54 insertions, 0 deletions
diff --git a/patches/dwm-uselessgap-6.1.diff b/patches/dwm-uselessgap-6.1.diff
new file mode 100644
index 0000000..28cb369
--- /dev/null
+++ b/patches/dwm-uselessgap-6.1.diff
@@ -0,0 +1,54 @@
+--- dwm/dwm.c.orig	2015-11-22 13:26:16.664650238 -0700
++++ dwm/dwm.c	2015-11-22 13:25:57.407984351 -0700
+@@ -52,8 +52,8 @@
+ #define ISVISIBLE(C)            ((C->tags & C->mon->tagset[C->mon->seltags]))
+ #define LENGTH(X)               (sizeof X / sizeof X[0])
+ #define MOUSEMASK               (BUTTONMASK|PointerMotionMask)
+-#define WIDTH(X)                ((X)->w + 2 * (X)->bw)
+-#define HEIGHT(X)               ((X)->h + 2 * (X)->bw)
++#define WIDTH(X)                ((X)->w + 2 * (X)->bw + gappx)
++#define HEIGHT(X)               ((X)->h + 2 * (X)->bw + gappx)
+ #define TAGMASK                 ((1 << LENGTH(tags)) - 1)
+ #define TEXTW(X)                (drw_text(drw, 0, 0, 0, 0, (X), 0) + drw->fonts[0]->h)
+ 
+@@ -1293,12 +1293,36 @@ void
+ resizeclient(Client *c, int x, int y, int w, int h)
+ {
+ 	XWindowChanges wc;
++	unsigned int n;
++	unsigned int gapoffset;
++	unsigned int gapincr;
++	Client *nbc;
+ 
+-	c->oldx = c->x; c->x = wc.x = x;
+-	c->oldy = c->y; c->y = wc.y = y;
+-	c->oldw = c->w; c->w = wc.width = w;
+-	c->oldh = c->h; c->h = wc.height = h;
+ 	wc.border_width = c->bw;
++
++	/* Get number of clients for the selected monitor */
++	for (n = 0, nbc = nexttiled(selmon->clients); nbc; nbc = nexttiled(nbc->next), n++);
++
++	/* Do nothing if layout is floating */
++	if (c->isfloating || selmon->lt[selmon->sellt]->arrange == NULL) {
++		gapincr = gapoffset = 0;
++	} else {
++		/* Remove border and gap if layout is monocle or only one client */
++		if (selmon->lt[selmon->sellt]->arrange == monocle || n == 1) {
++			gapoffset = 0;
++			gapincr = -2 * borderpx;
++			wc.border_width = 0;
++		} else {
++			gapoffset = gappx;
++			gapincr = 2 * gappx;
++		}
++	}
++
++	c->oldx = c->x; c->x = wc.x = x + gapoffset;
++	c->oldy = c->y; c->y = wc.y = y + gapoffset;
++	c->oldw = c->w; c->w = wc.width = w - gapincr;
++	c->oldh = c->h; c->h = wc.height = h - gapincr;
++
+ 	XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc);
+ 	configure(c);
+ 	XSync(dpy, False);