[wiki] [sites] [dwm][patch][floatrules] Bug fix related to fullscreen windows || Alex Cole
commit 3102a2ae361e2eddae5cf9c750ce6b5f92c404ca
Author: Alex Cole <ajzcole_AT_airmail.cc>
Date: Sat Nov 14 10:20:19 2020 +1300
[dwm][patch][floatrules] Bug fix related to fullscreen windows
diff --git a/dwm.suckless.org/patches/floatrules/dwm-floatrules-20201107-d08dd9c.diff b/dwm.suckless.org/patches/floatrules/dwm-floatrules-20201107-d08dd9c.diff
new file mode 100644
index 00000000..906ad2b1
--- /dev/null
+++ b/dwm.suckless.org/patches/floatrules/dwm-floatrules-20201107-d08dd9c.diff
_AT_@ -0,0 +1,64 @@
+diff -u dwm/config.def.h dwmnew/config.def.h
+--- dwm/config.def.h 2020-03-01 19:10:06.676821764 +1300
++++ dwmnew/config.def.h 2020-03-01 19:29:26.276901430 +1300
+_AT_@ -26,9 +26,9 @@
+ * WM_CLASS(STRING) = instance, class
+ * WM_NAME(STRING) = title
+ */
+- /* class instance title tags mask isfloating monitor */
+- { "Gimp", NULL, NULL, 0, 1, -1 },
+- { "Firefox", NULL, NULL, 1 << 8, 0, -1 },
++ /* class instance title tags mask isfloating monitor float x,y,w,h floatborderpx*/
++ { "Gimp", NULL, NULL, 0, 1, -1, 50,50,500,500, 5 },
++ { "Firefox", NULL, NULL, 1 << 8, 0, -1, 50,50,500,500, 5 },
+ };
+
+ /* layout(s) */
+Only in dwmnew: config.h
+Only in dwmnew: drw.o
+diff -u dwm/dwm.c dwmnew/dwm.c
+--- dwm/dwm.c 2020-03-01 19:10:06.680155097 +1300
++++ dwmnew/dwm.c 2020-03-01 19:28:26.793564016 +1300
+_AT_@ -93,6 +93,7 @@
+ int bw, oldbw;
+ unsigned int tags;
+ int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen;
++ int floatborderpx;
+ Client *next;
+ Client *snext;
+ Monitor *mon;
+_AT_@ -139,6 +140,8 @@
+ unsigned int tags;
+ int isfloating;
+ int monitor;
++ int floatx, floaty, floatw, floath;
++ int floatborderpx;
+ } Rule;
+
+ /* function declarations */
+_AT_@ -299,6 +302,13 @@
+ {
+ c->isfloating = r->isfloating;
+ c->tags |= r->tags;
++ c->floatborderpx = r->floatborderpx;
++ if (r->isfloating) {
++ c->x = c->mon->mx + r->floatx;
++ c->y = r->floaty;
++ c->w = r->floatw;
++ c->h = r->floath;
++ }
+ for (m = mons; m && m->num != r->monitor; m = m->next);
+ if (m)
+ c->mon = m;
+_AT_@ -1281,7 +1291,10 @@
+ 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;
++ if (c->isfloating && !c->isfullscreen)
++ wc.border_width = c->floatborderpx;
++ else
++ wc.border_width = c->bw;
+ XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc);
+ configure(c);
+ XSync(dpy, False);
diff --git a/dwm.suckless.org/patches/floatrules/index.md b/dwm.suckless.org/patches/floatrules/index.md
index 6178e4c8..ea1f62c3 100644
--- a/dwm.suckless.org/patches/floatrules/index.md
+++ b/dwm.suckless.org/patches/floatrules/index.md
_AT_@ -10,21 +10,24 @@ This patch adds 5 extra variables to the 'rules' array in `config.def.h`. These
* `floatborderpx` (border width when window is floating)
Please note that this patch needs `rm config.h` to be added to the `Makefile`.
+Using the latest version is recommended, as there have been a couple of bug fixes since the first.
Screenshots:
![floatrules screenshot](floatrules.png)
Updates
-------
-* 2020-11-07: Added support for multiple monitors
+* 2020-11-14: Fixed a bug that added borders to fullscreen windows (Alex Cole)
+* 2020-11-07: Added support for multiple monitors (Alex Cole)
+* 2020-03-22: Typo fix (Jakub Profota)
Download
--------
-
-* [dwm-floatrules-20201107-61bb8b2.diff](dwm-floatrules-20201107-61bb8b2.diff) (multiple monitors version)
+* [dwm-floatrules-20201107-d08dd9c.diff](dwm-floatrules-20201114-d08dd9c.diff)
+* [dwm-floatrules-20201107-61bb8b2.diff](dwm-floatrules-20201107-61bb8b2.diff)
* [dwm-floatrules-6.2.diff](dwm-floatrules-6.2.diff) (2020-03-01)
Author
------
-* Alex Cole (original and 2020-11-07 update)
-* Jakub Profota (fix 2020-03-22)
+* Alex Cole (original)
+* Jakub Profota
Received on Fri Nov 13 2020 - 22:20:01 CET
This archive was generated by hypermail 2.3.0
: Fri Nov 13 2020 - 22:24:45 CET