While I love the new maximizing functions, in the process of
developing them the code to keep icons from under the dock was lost.
I have created a patch to prevent this problem.
I realize it's not in the preferred patch format but I have not yet
had a chance to get this machine fully functional. I hope an attached
context diff will be satisfactory as the patch is small. I've also
included it inline for inspection.
Cyrus
--- src/placement.c.orig 2017-02-28 15:11:19.717093000 -0700
+++ src/placement.c 2017-02-28 15:16:39.006177000 -0700
@@ -117,6 +117,16 @@ void PlaceIcon(WScreen *scr, int *x_ret,
WMBagIterator iter;
WArea area = wGetUsableAreaForHead(scr, head, NULL, False);
+ /* Do not place icons under the dock. */
+ if (scr->dock) {
+ int offset = wPreferences.icon_size + DOCK_EXTRA_SPACE;
+
+ if (scr->dock->on_right_side)
+ area.x2 -= offset;
+ else
+ area.x1 += offset;
+ }
+
/* Find out screen boundaries. */
/* Allows each head to have miniwindows */
--- src/placement.c.orig 2017-02-28 15:11:19.717093000 -0700
+++ src/placement.c 2017-02-28 15:16:39.006177000 -0700
@@ -117,6 +117,16 @@ void PlaceIcon(WScreen *scr, int *x_ret,
WMBagIterator iter;
WArea area = wGetUsableAreaForHead(scr, head, NULL, False);
+ /* Do not place icons under the dock. */
+ if (scr->dock) {
+ int offset = wPreferences.icon_size + DOCK_EXTRA_SPACE;
+
+ if (scr->dock->on_right_side)
+ area.x2 -= offset;
+ else
+ area.x1 += offset;
+ }
+
/* Find out screen boundaries. */
/* Allows each head to have miniwindows */