This repository has been archived by the owner on Jan 5, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathdwm-6.0-uselessgaps.diff
75 lines (68 loc) · 2.21 KB
/
dwm-6.0-uselessgaps.diff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
--- dwm.c.orig 2012-05-08 22:32:33.883110400 +0200
+++ b/dwm-6.0/dwm.c 2012-05-08 22:35:59.353105670 +0200
@@ -121,7 +121,8 @@
typedef struct {
const char *symbol;
- void (*arrange)(Monitor *);
+ Bool addgaps;
+ void (*arrange)(Monitor *);
} Layout;
struct Monitor {
@@ -295,6 +296,7 @@
static DC dc;
static Monitor *mons = NULL, *selmon = NULL;
static Window root;
+static int gap;
/* configuration, allows nested code to access above variables */
#include "config.h"
@@ -489,7 +491,7 @@
void
cleanup(void) {
Arg a = {.ui = ~0};
- Layout foo = { "", NULL };
+ Layout foo = { "", False, NULL };
Monitor *m;
view(&a);
@@ -1406,10 +1408,11 @@
resizeclient(Client *c, int x, int y, int w, int h) {
XWindowChanges wc;
- 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;
+ gap = c->isfloating ? 0 : c->mon->lt[c->mon->sellt]->addgaps ? gappx : 0;
+ c->oldx = c->x; c->x = wc.x = x + gap;
+ c->oldy = c->y; c->y = wc.y = y + gap;
+ c->oldw = c->w; c->w = wc.width = w - (gap ? (x + w + (c->bw * 2) == c->mon->mx + c->mon->mw ? 2 : 1) * gap : 0);
+ c->oldh = c->h; c->h = wc.height = h - (gap ? (y + h + (c->bw * 2) == c->mon->my + c->mon->mh ? 2 : 1) * gap : 0);
wc.border_width = c->bw;
XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc);
configure(c);
@@ -1786,12 +1789,12 @@
if(i < m->nmasters[m->curtag]) {
h = (m->wh - my) / (MIN(n, m->nmasters[m->curtag]) - i);
resize(c, m->wx, m->wy + my, mw - (2*c->bw), h - (2*c->bw), False);
- my += HEIGHT(c);
+ my += HEIGHT(c) + gap;
}
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), False);
- ty += HEIGHT(c);
+ ty += HEIGHT(c) + gap;
}
}
@@ -2237,12 +2240,12 @@
if(i < m->nmasters[m->curtag]) {
w = (m->ww - mx) / (MIN(n, m->nmasters[m->curtag]) - i);
resize(c, m->wx + mx, m->wy, w - (2*c->bw), mh - (2*c->bw), False);
- mx += WIDTH(c);
+ mx += WIDTH(c) + gap;
}
else {
w = (m->ww - tx) / (n - i);
resize(c, m->wx + tx, m->wy + mh, w - (2*c->bw), m->wh - mh - (2*c->bw), False);
- tx += WIDTH(c);
+ tx += WIDTH(c) + gap;
}
}