diff --git a/src/modules/illume2/e_mod_kbd.c b/src/modules/illume2/e_mod_kbd.c index 0d84d7ab4..4aa498f22 100644 --- a/src/modules/illume2/e_mod_kbd.c +++ b/src/modules/illume2/e_mod_kbd.c @@ -184,10 +184,7 @@ e_mod_kbd_hide(void) /* create new hide timer if it doesn't exist */ if (!_e_illume_kbd->timer) - { - _e_illume_kbd->timer = - ecore_timer_add(0.2, _e_mod_kbd_cb_delay_hide, NULL); - } + _e_illume_kbd->timer = ecore_timer_add(0.2, _e_mod_kbd_cb_delay_hide, NULL); } void @@ -202,8 +199,6 @@ e_mod_kbd_fullscreen_set(E_Zone *zone, int fullscreen) { if (!_e_illume_kbd->border) return; if (_e_illume_kbd->border->zone != zone) return; - printf("Kbd Fullscreen Set: %d\n", fullscreen); - printf("\tCurrent: %d\n", _e_illume_kbd->fullscreen); if ((!!fullscreen) != _e_illume_kbd->fullscreen) _e_illume_kbd->fullscreen = fullscreen; } @@ -276,10 +271,7 @@ _e_mod_kbd_cb_border_remove(void *data __UNUSED__, int type __UNUSED__, void *ev } } else if (!kbd->border) - { - kbd->waiting_borders = - eina_list_remove(kbd->waiting_borders, ev->border); - } + kbd->waiting_borders = eina_list_remove(kbd->waiting_borders, ev->border); return 1; } @@ -378,10 +370,7 @@ _e_mod_kbd_cb_border_property(void *data __UNUSED__, int type __UNUSED__, void * if (_focused_state <= ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF) e_mod_kbd_hide(); else - { - // Layout set - e_mod_kbd_show(); - } + e_mod_kbd_show(); return 1; } diff --git a/src/modules/illume2/policies/illume/policy.c b/src/modules/illume2/policies/illume/policy.c index 40a35f906..158b9b43c 100644 --- a/src/modules/illume2/policies/illume/policy.c +++ b/src/modules/illume2/policies/illume/policy.c @@ -1644,15 +1644,29 @@ _policy_property_change(Ecore_X_Event_Window_Property *event) { Eina_List *l; E_Zone *zone; + E_Illume_Keyboard *kbd; E_Border *bd; int x, y, w, h; /* make sure this property changed on a zone */ if (!(zone = e_util_zone_window_find(event->win))) return; + /* get the keyboard */ + if (!(kbd = e_illume_keyboard_get())) return; + if (!kbd->border) return; + + /* get the geometry */ + x = kbd->border->x; + w = kbd->border->w; + h = kbd->border->h; + + /* adjust Y for keyboard visibility because keyboard uses fx_offset */ + y = 0; + if (kbd->border->fx.y <= 0) y = kbd->border->y; + /* get the geometry. This is X round-trip :( */ /* NB: Remove X Round-Trip */ - ecore_x_e_illume_keyboard_geometry_get(zone->black_win, &x, &y, &w, &h); +// ecore_x_e_illume_keyboard_geometry_get(zone->black_win, &x, &y, &w, &h); /* look for conformant borders */ EINA_LIST_FOREACH(e_border_client_list(), l, bd)