From 21017889b28b312ceb2145220dcf46790341b603 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 29 Oct 2015 14:33:15 -0400 Subject: [PATCH] adjust non-x11 client's saved frame geometry when changing csd this seems to be a more comprehensive solution for retaining previous window sizes after toggling various csd-affecting window states in wayland --- src/bin/e_comp_object.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index f045d609f..40f66beff 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -2956,6 +2956,11 @@ e_comp_object_frame_geometry_set(Evas_Object *obj, int l, int r, int t, int b) cw->ec->w += (l + r) - (cw->client_inset.l + cw->client_inset.r); cw->ec->h += (t + b) - (cw->client_inset.t + cw->client_inset.b); } + else if ((!e_client_has_xwindow(cw->ec)) && (cw->ec->maximized || cw->ec->fullscreen)) + { + cw->ec->saved.w -= ((l + r) - (cw->client_inset.l + cw->client_inset.r)); + cw->ec->saved.h -= ((t + b) - (cw->client_inset.t + cw->client_inset.b)); + } if (!cw->ec->new_client) { if (cw->client_inset.calc)