From 08acb0c6aae2ea63309d48d24ff83a77f63acb78 Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Thu, 13 Mar 2014 10:03:12 -0400 Subject: [PATCH] apply client resize limit for all possible size values during maximize calcs Summary: there was a problem that the app like gnome-terminal had not been restored to origin size after maximization. I think that's because E overwrite the data of saved.x/y to maximized size in ConfigureRequest handler. The reason why ConfigureReuqest happen is that the window tried to resize itself properly, since E resize window without regard of size hints. Reviewers: zmike, seoz CC: cedric Differential Revision: https://phab.enlightenment.org/D633 --- src/bin/e_client.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index 779540c06..2ce0180c8 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -1488,7 +1488,6 @@ _e_client_maximize(E_Client *ec, E_Maximize max) w = zw, h = zh; evas_object_smart_callback_call(ec->frame, "maximize", NULL); - e_client_resize_limit(ec, &w, &h); e_comp_object_frame_xy_unadjust(ec->frame, ec->x, ec->y, &ecx, &ecy); e_comp_object_frame_wh_unadjust(ec->frame, ec->w, ec->h, &ecw, &ech); @@ -1502,6 +1501,9 @@ _e_client_maximize(E_Client *ec, E_Maximize max) else h = zh; + e_client_resize_limit(ec, &w, &h); + e_client_resize_limit(ec, &zw, &zh); + if (ecx < zx) // window left not useful coordinates x1 = zx; else if (ecx + ecw > zx + zw) // window right not useful coordinates