dwm-floatborderwidth-6.3.diff - sites - public wiki contents of suckless.org | |
git clone git://git.suckless.org/sites | |
Log | |
Files | |
Refs | |
--- | |
dwm-floatborderwidth-6.3.diff (2555B) | |
--- | |
1 From 54b88e6663364d561fc0feb3ea9d4c79c0f4e3b0 Mon Sep 17 00:00:00 2001 | |
2 From: Dylan Cairns-Howarth <[email protected]> | |
3 Date: Sun, 20 Feb 2022 07:48:59 +0000 | |
4 Subject: [PATCH] Floating Windows have seperate border width | |
5 | |
6 This dwm patch adds the int fborderpx to config.def.h that assigns a | |
7 border width to floating windows. | |
8 | |
9 By default, this patch sets borderpx to 0 and fborderpx to 1 (no borders | |
10 for tiled windows and a 1px border for floating windows). | |
11 --- | |
12 config.def.h | 4 ++-- | |
13 dwm.c | 13 +++++++++++-- | |
14 2 files changed, 13 insertions(+), 4 deletions(-) | |
15 | |
16 diff --git a/config.def.h b/config.def.h | |
17 index a2ac963..ce35589 100644 | |
18 --- a/config.def.h | |
19 +++ b/config.def.h | |
20 @@ -1,7 +1,8 @@ | |
21 /* See LICENSE file for copyright and license details. */ | |
22 | |
23 /* appearance */ | |
24 -static const unsigned int borderpx = 1; /* border pixel of wind… | |
25 +static const unsigned int borderpx = 0; /* border pixel of wind… | |
26 +static const unsigned int fborderpx = 1; /* border pixel of floa… | |
27 static const unsigned int snap = 32; /* snap pixel */ | |
28 static const int showbar = 1; /* 0 means no bar */ | |
29 static const int topbar = 1; /* 0 means bottom bar */ | |
30 @@ -113,4 +114,3 @@ static Button buttons[] = { | |
31 { ClkTagBar, MODKEY, Button1, tag, … | |
32 { ClkTagBar, MODKEY, Button3, togglet… | |
33 }; | |
34 - | |
35 diff --git a/dwm.c b/dwm.c | |
36 index a96f33c..a63e9cd 100644 | |
37 --- a/dwm.c | |
38 +++ b/dwm.c | |
39 @@ -1052,6 +1052,8 @@ manage(Window w, XWindowAttributes *wa) | |
40 c->y = MAX(c->y, ((c->mon->by == c->mon->my) && (c->x + (c->w /… | |
41 && (c->x + (c->w / 2) < c->mon->wx + c->mon->ww)) ? bh … | |
42 c->bw = borderpx; | |
43 + if (c->isfloating) | |
44 + c->bw = fborderpx; | |
45 | |
46 wc.border_width = c->bw; | |
47 XConfigureWindow(dpy, w, CWBorderWidth, &wc); | |
48 @@ -1719,9 +1721,16 @@ togglefloating(const Arg *arg) | |
49 if (selmon->sel->isfullscreen) /* no support for fullscreen win… | |
50 return; | |
51 selmon->sel->isfloating = !selmon->sel->isfloating || selmon->s… | |
52 - if (selmon->sel->isfloating) | |
53 + if (selmon->sel->isfloating) { | |
54 + selmon->sel->bw = fborderpx; | |
55 + configure(selmon->sel); | |
56 + int borderdiff = (fborderpx - borderpx) * 2; | |
57 resize(selmon->sel, selmon->sel->x, selmon->sel->y, | |
58 - selmon->sel->w, selmon->sel->h, 0); | |
59 + selmon->sel->w - borderdiff, selmon->sel->h - b… | |
60 + } else { | |
61 + selmon->sel->bw = borderpx; | |
62 + configure(selmon->sel); | |
63 + } | |
64 arrange(selmon); | |
65 } | |
66 | |
67 -- | |
68 2.35.1 | |
69 |