Completely fix conformant windows (wrt vkbd) in single layout mode.

SVN revision: 45580
This commit is contained in:
Christopher Michael 2010-01-26 10:50:51 +00:00
parent f435b6322c
commit 8b90bb8941
1 changed files with 12 additions and 4 deletions

View File

@ -258,6 +258,7 @@ _zone_layout_single(E_Border *bd)
{
int kx, ky, kw, kh;
int ss = 0, ps = 0;
int nh, ny;
e_illume_kbd_safe_app_region_get(bd->zone, &kx, &ky, &kw, &kh);
if (!((bd->need_fullscreen) || (bd->fullscreen)))
@ -265,10 +266,17 @@ _zone_layout_single(E_Border *bd)
if (kh >= bd->zone->h) ps = panelsize;
ss = shelfsize;
}
if ((bd->w != kw) || (bd->h != (kh - ss - ps)))
_zone_layout_border_resize(bd, kw, (kh - ss - ps));
if ((bd->x != kx) || (bd->y != (ky + ss)))
_zone_layout_border_move(bd, kx, (ky + ss));
nh = kh - ss - ps;
ny = ky + ss;
if (e_illume_border_is_conformant(bd))
{
nh = kh;
ny = ky;
}
if ((bd->w != kw) || (bd->h != nh))
_zone_layout_border_resize(bd, kw, nh);
if ((bd->x != kx) || (bd->y != ny))
_zone_layout_border_move(bd, kx, ny);
}
static void