Add function to determine if an app is conformant.

SVN revision: 44111
This commit is contained in:
Christopher Michael 2009-12-01 21:39:51 +00:00
parent 540383bfe7
commit 1f6d1d1bea
3 changed files with 27 additions and 1 deletions

View File

@ -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)
{

View File

@ -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);

View File

@ -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);
}
}