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 */

Reply via email to