diff --git a/src/modules/illume2/e_mod_layout.c b/src/modules/illume2/e_mod_layout.c index 0b56a1814..51488429c 100644 --- a/src/modules/illume2/e_mod_layout.c +++ b/src/modules/illume2/e_mod_layout.c @@ -316,6 +316,28 @@ illume_border_is_overlay(E_Border *bd) return 0; } +Eina_Bool +illume_border_is_conformant(E_Border *bd) +{ + Ecore_X_Atom *atoms; + Eina_Bool ret; + int num = 0, i; + + ret = EINA_FALSE; + atoms = ecore_x_window_prop_list(bd->client.win, &num); + if (atoms) + { + for (i = 0; i < num; i++) + { + if (atoms[i] != ECORE_X_ATOM_E_ILLUME_CONFORMANT) continue; + ret = EINA_TRUE; + break; + } + free(atoms); + } + return ret; +} + void illume_border_slide_to(E_Border *bd, int x, int y, Illume_Anim_Class aclass) { diff --git a/src/modules/illume2/e_mod_layout.h b/src/modules/illume2/e_mod_layout.h index f62f560d0..d45bb1610 100644 --- a/src/modules/illume2/e_mod_layout.h +++ b/src/modules/illume2/e_mod_layout.h @@ -39,6 +39,7 @@ Eina_List *illume_layout_modes_get(void); void illume_border_activate(E_Border *bd); void illume_border_show(E_Border *bd); void illume_border_deactivate(E_Border *bd); + Eina_Bool illume_border_is_dialog(E_Border *bd); Eina_Bool illume_border_is_keyboard(E_Border *bd); Eina_Bool illume_border_is_bottom_panel(E_Border *bd); @@ -49,6 +50,8 @@ Eina_Bool illume_border_is_home(E_Border *bd); Eina_Bool illume_border_is_side_pane_left(E_Border *bd); Eina_Bool illume_border_is_side_pane_right(E_Border *bd); Eina_Bool illume_border_is_overlay(E_Border *bd); +Eina_Bool illume_border_is_conformant(E_Border *bd); + void illume_border_slide_to(E_Border *bd, int x, int y, Illume_Anim_Class aclass); void illume_border_min_get(E_Border *bd, int *mw, int *mh); diff --git a/src/modules/illume2/e_mod_layout_illume.c b/src/modules/illume2/e_mod_layout_illume.c index 7305a2578..8c5ff7b71 100644 --- a/src/modules/illume2/e_mod_layout_illume.c +++ b/src/modules/illume2/e_mod_layout_illume.c @@ -3,6 +3,7 @@ #include "e_mod_config.h" #include "e_mod_layout.h" #include "e_mod_layout_illume.h" +#include "e_kbd.h" /* local function prototypes */ static void _border_calc_position(E_Zone *z, E_Border *bd, int *x, int *y, int *w, int *h); @@ -140,7 +141,7 @@ _border_calc_position(E_Zone *z, E_Border *bd, int *x, int *y, int *w, int *h) if (x) *x = z->x; if (y) *y = (z->y + shelfsize); if (w) *w = z->w; - if (h) *h = (z->h - shelfsize - panelsize); + if (h) *h = (z->h - shelfsize); } }