Introduction
Introduction Statistics Contact Development Disclaimer Help
dwm-floatrules-20210801-138b405.diff - sites - public wiki contents of suckless…
git clone git://git.suckless.org/sites
Log
Files
Refs
---
dwm-floatrules-20210801-138b405.diff (2313B)
---
1 diff --git a/config.def.h b/config.def.h
2 index a2ac963..e8c0978 100644
3 --- a/config.def.h
4 +++ b/config.def.h
5 @@ -26,9 +26,9 @@ static const Rule rules[] = {
6 * WM_CLASS(STRING) = instance, class
7 * WM_NAME(STRING) = title
8 */
9 - /* class instance title tags mask isfloating …
10 - { "Gimp", NULL, NULL, 0, 1, …
11 - { "Firefox", NULL, NULL, 1 << 8, 0, …
12 + /* class instance title tags mask isfloating …
13 + { "Gimp", NULL, NULL, 0, 1, …
14 + { "Firefox", NULL, NULL, 1 << 8, 0, …
15 };
16
17 /* layout(s) */
18 diff --git a/dwm.c b/dwm.c
19 index 5e4d494..a03ca15 100644
20 --- a/dwm.c
21 +++ b/dwm.c
22 @@ -93,6 +93,8 @@ struct Client {
23 int bw, oldbw;
24 unsigned int tags;
25 int isfixed, isfloating, isurgent, neverfocus, oldstate, isfull…
26 + int floatborderpx;
27 + int hasfloatbw;
28 Client *next;
29 Client *snext;
30 Monitor *mon;
31 @@ -139,6 +141,8 @@ typedef struct {
32 unsigned int tags;
33 int isfloating;
34 int monitor;
35 + int floatx, floaty, floatw, floath;
36 + int floatborderpx;
37 } Rule;
38
39 /* function declarations */
40 @@ -300,6 +304,16 @@ applyrules(Client *c)
41 {
42 c->isfloating = r->isfloating;
43 c->tags |= r->tags;
44 + if (r->floatborderpx >= 0) {
45 + c->floatborderpx = r->floatborderpx;
46 + c->hasfloatbw = 1;
47 + }
48 + if (r->isfloating) {
49 + if (r->floatx >= 0) c->x = c->mon->mx +…
50 + if (r->floaty >= 0) c->y = c->mon->my +…
51 + if (r->floatw >= 0) c->w = r->floatw;
52 + if (r->floath >= 0) c->h = r->floath;
53 + }
54 for (m = mons; m && m->num != r->monitor; m = m…
55 if (m)
56 c->mon = m;
57 @@ -1282,7 +1296,10 @@ resizeclient(Client *c, int x, int y, int w, int …
58 c->oldy = c->y; c->y = wc.y = y;
59 c->oldw = c->w; c->w = wc.width = w;
60 c->oldh = c->h; c->h = wc.height = h;
61 - wc.border_width = c->bw;
62 + if (c->isfloating && c->hasfloatbw && !c->isfullscreen)
63 + wc.border_width = c->floatborderpx;
64 + else
65 + wc.border_width = c->bw;
66 XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorder…
67 configure(c);
68 XSync(dpy, False);
69 --
70 2.32.0
71
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.