diff --git a/src/bin/e_border.c b/src/bin/e_border.c index 3d1ab769d..4681fe62e 100644 --- a/src/bin/e_border.c +++ b/src/bin/e_border.c @@ -1130,9 +1130,22 @@ e_border_unshade(E_Border *bd, E_Direction dir) bd->changes.shading = 1; bd->changed = 1; - if (bd->shade.dir == E_DIRECTION_UP || - bd->shade.dir == E_DIRECTION_LEFT) - ecore_x_window_gravity_set(bd->client.win, ECORE_X_GRAVITY_SW); + if (bd->shade.dir == E_DIRECTION_UP) + { + ecore_x_window_gravity_set(bd->client.win, ECORE_X_GRAVITY_SW); + ecore_x_window_move_resize(bd->client.win, 0, + bd->h - (bd->client_inset.t + bd->client_inset.b) - + bd->client.h, + bd->client.w, bd->client.h); + } + else if (bd->shade.dir == E_DIRECTION_LEFT) + { + ecore_x_window_gravity_set(bd->client.win, ECORE_X_GRAVITY_SW); + ecore_x_window_move_resize(bd->client.win, + bd->w - (bd->client_inset.l + bd->client_inset.r) - + bd->client.h, + 0, bd->client.w, bd->client.h); + } else ecore_x_window_gravity_set(bd->client.win, ECORE_X_GRAVITY_NE); @@ -4811,6 +4824,7 @@ _e_border_eval(E_Border *bd) evas_obscured_clear(bd->bg_evas); ecore_x_window_move_resize(bd->win, bd->x, bd->y, bd->w, bd->h); ecore_x_window_move_resize(bd->event_win, 0, 0, bd->w, bd->h); + ecore_x_window_move_resize(bd->client.win, 0, 0, bd->client.w, bd->client.h); ecore_evas_move_resize(bd->bg_ecore_evas, 0, 0, bd->w, bd->h); evas_object_resize(bd->bg_object, bd->w, bd->h); e_container_shape_resize(bd->shape, bd->w, bd->h); @@ -4870,6 +4884,7 @@ _e_border_eval(E_Border *bd) evas_obscured_clear(bd->bg_evas); ecore_x_window_move_resize(bd->event_win, 0, 0, bd->w, bd->h); ecore_x_window_resize(bd->win, bd->w, bd->h); + ecore_x_window_move_resize(bd->client.win, 0, 0, bd->client.w, bd->client.h); ecore_evas_move_resize(bd->bg_ecore_evas, 0, 0, bd->w, bd->h); evas_object_resize(bd->bg_object, bd->w, bd->h); e_container_shape_resize(bd->shape, bd->w, bd->h); @@ -4879,7 +4894,8 @@ _e_border_eval(E_Border *bd) evas_obscured_clear(bd->bg_evas); evas_obscured_rectangle_add(bd->bg_evas, bd->client_inset.l, bd->client_inset.t, - bd->w - (bd->client_inset.l + bd->client_inset.r), bd->h - (bd->client_inset.t + bd->client_inset.b)); + bd->w - (bd->client_inset.l + bd->client_inset.r), + bd->h - (bd->client_inset.t + bd->client_inset.b)); ecore_x_window_move_resize(bd->event_win, 0, 0, bd->w, bd->h); ecore_x_window_resize(bd->win, bd->w, bd->h); ecore_x_window_move_resize(bd->client.shell_win,