discomfitor pushed a commit to branch enlightenment-0.22.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=110835d212a25374e4b7c170958b8ee1878f193c

commit 110835d212a25374e4b7c170958b8ee1878f193c
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Mon Jan 22 14:18:03 2018 -0500

    clamp large windows to desk's useful geometry if smart placement fails
    
    in the case where a window does not place with the smart placement 
algorithm,
    clamp position to the top-left available position within the useful geometry
    so that the titlebar will always be visible
---
 src/bin/e_place.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_place.c b/src/bin/e_place.c
index 4c73594a4..ff56ac69f 100644
--- a/src/bin/e_place.c
+++ b/src/bin/e_place.c
@@ -418,9 +418,11 @@ done:
    E_FREE(a_x);
    E_FREE(a_y);
 
-   if ((*rx + w) > desk->zone->x + desk->zone->w) *rx = desk->zone->x + 
desk->zone->w - w;
+   e_zone_desk_useful_geometry_get(desk->zone, desk, &zx, &zy, &zw, &zh);
+
+   if ((*rx + w) > zx + zw) *rx = zx + zw - w;
    if (*rx < zx) *rx = zx;
-   if ((*ry + h) > desk->zone->y + desk->zone->h) *ry = desk->zone->y + 
desk->zone->h - h;
+   if ((*ry + h) > zy + zh) *ry = zy + zh - h;
    if (*ry < zy) *ry = zy;
 
 //   printf("0 - PLACE %i %i | %ix%i\n", *rx, *ry, w, h);

-- 


Reply via email to