functions operate only on the current zone.
SVN revision: 44635
}
Eina_List *
-illume_border_valid_borders_get(void)
+illume_border_valid_borders_get(E_Zone *zone)
{
Eina_List *bds, *l, *ret = NULL;
E_Border *bd;
EINA_LIST_FOREACH(bds, l, bd)
{
if (!bd) continue;
+ if (bd->zone != zone) continue;
if (illume_border_is_top_shelf(bd)) continue;
if (illume_border_is_bottom_panel(bd)) continue;
if (illume_border_is_keyboard(bd)) continue;
}
E_Border *
-illume_border_valid_border_get(void)
+illume_border_valid_border_get(E_Zone *zone)
{
Eina_List *bds, *l;
E_Border *bd, *ret = NULL;
EINA_LIST_FOREACH(bds, l, bd)
{
if (!bd) continue;
+ if (bd->zone != zone) continue;
if (illume_border_is_top_shelf(bd)) continue;
if (illume_border_is_bottom_panel(bd)) continue;
if (illume_border_is_keyboard(bd)) continue;
}
int
-illume_border_valid_count_get(void)
+illume_border_valid_count_get(E_Zone *zone)
{
Eina_List *l;
int count;
- l = illume_border_valid_borders_get();
+ l = illume_border_valid_borders_get(zone);
count = eina_list_count(l);
eina_list_free(l);
return count;
}
E_Border *
-illume_border_at_xy_get(int x, int y)
+illume_border_at_xy_get(E_Zone *zone, int x, int y)
{
Eina_List *bds, *l;
E_Border *bd, *b = NULL;
- bds = illume_border_valid_borders_get();
+ bds = illume_border_valid_borders_get(zone);
EINA_LIST_FOREACH(bds, l, bd)
{
if (((bd->fx.x == x) && (bd->fx.y == y)) ||
}
E_Border *
-illume_border_in_region_get(int x, int y, int w, int h)
+illume_border_in_region_get(E_Zone *zone, int x, int y, int w, int h)
{
Eina_List *bds, *l;
E_Border *bd, *b = NULL;
- bds = illume_border_valid_borders_get();
+ bds = illume_border_valid_borders_get(zone);
EINA_LIST_FOREACH(bds, l, bd)
{
if (E_INSIDE(bd->x, bd->fx.y, x, y, w, h))
}
E_Border *
-illume_border_top_shelf_get(void)
+illume_border_top_shelf_get(E_Zone *zone)
{
Eina_List *bds, *l;
E_Border *bd, *b = NULL;
bds = e_border_client_list();
EINA_LIST_FOREACH(bds, l, bd)
{
+ if (bd->zone != zone) continue;
if (!illume_border_is_top_shelf(bd)) continue;
b = bd;
break;
}
E_Border *
-illume_border_bottom_panel_get(void)
+illume_border_bottom_panel_get(E_Zone *zone)
{
Eina_List *bds, *l;
E_Border *bd, *b = NULL;
bds = e_border_client_list();
EINA_LIST_FOREACH(bds, l, bd)
{
+ if (bd->zone != zone) continue;
if (!illume_border_is_bottom_panel(bd)) continue;
b = bd;
break;
}
void
-illume_border_top_shelf_pos_get(int *x, int *y)
+illume_border_top_shelf_pos_get(E_Zone *zone, int *x, int *y)
{
E_Border *bd;
- if (!(bd = illume_border_top_shelf_get())) return;
+ if (!(bd = illume_border_top_shelf_get(zone))) return;
if (x) *x = bd->x;
if (y) *y = bd->y;
}
void
-illume_border_top_shelf_size_get(int *w, int *h)
+illume_border_top_shelf_size_get(E_Zone *zone, int *w, int *h)
{
E_Border *bd;
- if (!(bd = illume_border_top_shelf_get())) return;
+ if (!(bd = illume_border_top_shelf_get(zone))) return;
if (w) *w = bd->w;
if (h) *h = bd->h;
}
void
-illume_border_bottom_panel_pos_get(int *x, int *y)
+illume_border_bottom_panel_pos_get(E_Zone *zone, int *x, int *y)
{
E_Border *bd;
- if (!(bd = illume_border_bottom_panel_get())) return;
+ if (!(bd = illume_border_bottom_panel_get(zone))) return;
if (x) *x = bd->x;
if (y) *y = bd->y;
}
void
-illume_border_bottom_panel_size_get(int *w, int *h)
+illume_border_bottom_panel_size_get(E_Zone *zone, int *w, int *h)
{
E_Border *bd;
- if (!(bd = illume_border_bottom_panel_get())) return;
+ if (!(bd = illume_border_bottom_panel_get(zone))) return;
if (w) *w = bd->w;
if (h) *h = bd->h;
}
if (!zone) return;
e_kbd_safe_app_region_get(zone, &nx, &ny, &nw, &nh);
- illume_border_top_shelf_pos_get(NULL, &ty);
+ illume_border_top_shelf_pos_get(zone, NULL, &ty);
if (nh >= zone->h) nh = (ny + ty);
if (x) *x = nx;
if (y) *y = ny;
if (!zone) return;
e_kbd_safe_app_region_get(zone, &nx, NULL, &nw, &nh);
- illume_border_top_shelf_pos_get(NULL, &ty);
- illume_border_top_shelf_size_get(NULL, &th);
- illume_border_bottom_panel_size_get(NULL, &bh);
+ illume_border_top_shelf_pos_get(zone, NULL, &ty);
+ illume_border_top_shelf_size_get(zone, NULL, &th);
+ illume_border_bottom_panel_size_get(zone, NULL, &bh);
ny = (ty + th);
nh = (nh - ny - bh);
if (x) *x = nx;
{
Ecore_X_Illume_Mode mode;
E_Border *bd;
+ E_Zone *zone;
int lock = 1;
mode = ecore_x_e_illume_mode_get(ev->win);
{
if (il_cfg->policy.mode.side == 0) lock = 0;
}
- bd = illume_border_top_shelf_get();
+
+ zone = e_zone_current_get(e_container_current_get(e_manager_current_get()));
+ bd = illume_border_top_shelf_get(zone);
if (bd)
ecore_x_e_illume_drag_locked_set(bd->client.win, lock);
- bd = illume_border_bottom_panel_get();
+ bd = illume_border_bottom_panel_get(zone);
if (bd)
ecore_x_e_illume_drag_locked_set(bd->client.win, lock);
}
Eina_Bool illume_border_is_overlay(E_Border *bd);
Eina_Bool illume_border_is_conformant(E_Border *bd);
-Eina_List *illume_border_valid_borders_get(void);
-E_Border *illume_border_valid_border_get(void);
-int illume_border_valid_count_get(void);
-E_Border *illume_border_at_xy_get(int x, int y);
-E_Border *illume_border_in_region_get(int x, int y, int w, int h);
-E_Border *illume_border_keyboard_get(void);
-E_Border *illume_border_top_shelf_get(void);
-E_Border *illume_border_bottom_panel_get(void);
-void illume_border_top_shelf_pos_get(int *x, int *y);
-void illume_border_top_shelf_size_get(int *w, int *h);
-void illume_border_bottom_panel_pos_get(int *x, int *y);
-void illume_border_bottom_panel_size_get(int *w, int *h);
+Eina_List *illume_border_valid_borders_get(E_Zone *zone);
+E_Border *illume_border_valid_border_get(E_Zone *zone);
+int illume_border_valid_count_get(E_Zone *zone);
+E_Border *illume_border_at_xy_get(E_Zone *zone, int x, int y);
+E_Border *illume_border_in_region_get(E_Zone *zone, int x, int y, int w, int h);
+E_Border *illume_border_keyboard_get(E_Zone *zone);
+E_Border *illume_border_top_shelf_get(E_Zone *zone);
+E_Border *illume_border_bottom_panel_get(E_Zone *zone);
+void illume_border_top_shelf_pos_get(E_Zone *zone, int *x, int *y);
+void illume_border_top_shelf_size_get(E_Zone *zone, int *w, int *h);
+void illume_border_bottom_panel_pos_get(E_Zone *zone, int *x, int *y);
+void illume_border_bottom_panel_size_get(E_Zone *zone, int *w, int *h);
+
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);
void illume_border_max_get(E_Border *bd, int *mw, int *mh);
bd->lock_user_stacking = 1;
/* conformant fullscreen borders just hide bottom panel */
- b = illume_border_bottom_panel_get();
+ b = illume_border_bottom_panel_get(bd->zone);
if (b) e_border_fx_offset(b, 0, -panelsize);
/* for non-conformant fullscreen borders,
* we hide top shelf and bottom panel in all cases */
if (!conform)
{
- b = illume_border_top_shelf_get();
+ b = illume_border_top_shelf_get(bd->zone);
if (b) e_border_fx_offset(b, 0, -shelfsize);
}
}
&& (!bd->lock_focus_out))
e_border_focus_set(bd, 1, 1);
- if (bd == illume_border_top_shelf_get())
+ if (bd == illume_border_top_shelf_get(bd->zone))
{
Ecore_X_Window xwin;
Ecore_X_Illume_Mode mode;
E_Border *b;
/* conformant fullscreen borders just get bottom panel shown */
- b = illume_border_bottom_panel_get();
+ b = illume_border_bottom_panel_get(bd->zone);
if (b) e_border_fx_offset(b, 0, 0);
/* for non-conformant fullscreen borders,
* we show top shelf and bottom panel in all cases */
if (!illume_border_is_conformant(bd))
{
- b = illume_border_top_shelf_get();
+ b = illume_border_top_shelf_get(bd->zone);
if (b) e_border_fx_offset(b, 0, 0);
}
}
{
int ty;
- illume_border_top_shelf_pos_get(NULL, &ty);
+ illume_border_top_shelf_pos_get(bd->zone, NULL, &ty);
if (ty <= bd->zone->y)
_zone_layout_dual_top(bd);
else
int count, conform;
/* get count of valid borders */
- count = illume_border_valid_count_get();
+ count = illume_border_valid_count_get(bd->zone);
/* fetch if this border is conformant */
conform = illume_border_is_conformant(bd);
bw = kw;
bh = (kh - ss - ps);
/* grab the border at this location */
- b = illume_border_at_xy_get(kx, shelfsize);
+ b = illume_border_at_xy_get(bd->zone, kx, shelfsize);
if ((b) && (bd != b))
{
else
{
/* no border at this location */
- b = illume_border_valid_border_get();
+ b = illume_border_valid_border_get(bd->zone);
by = ky + ss;
bh = (ky - b->h);
}
int zx, zy, zw, zh;
/* get count of valid borders */
- count = illume_border_valid_count_get();
+ count = illume_border_valid_count_get(bd->zone);
/* fetch if this border is conformant */
conform = illume_border_is_conformant(bd);
else
{
/* grab the border at this location */
- bt = illume_border_at_xy_get(kx, ay);
+ bt = illume_border_at_xy_get(bd->zone, kx, ay);
if ((bt) && (bd != bt))
{
/* is there a border in the bottom section */
- bb = illume_border_at_xy_get(kx, zy);
+ bb = illume_border_at_xy_get(bd->zone, kx, zy);
if (!bb)
{
bh = zh;
int count, conform;
/* get count of valid borders */
- count = illume_border_valid_count_get();
+ count = illume_border_valid_count_get(bd->zone);
/* fetch if this border is conformant */
conform = illume_border_is_conformant(bd);
by = (ky + ss);
bw = kw;
bh = (kh - ss - ps);
+
/* grab the border at this location */
- b = illume_border_at_xy_get(kx, shelfsize);
+ b = illume_border_at_xy_get(bd->zone, kx, shelfsize);
if ((b) && (bd != b))
{
else
{
/* no border at this location */
- b = illume_border_valid_border_get();
+ b = illume_border_valid_border_get(bd->zone);
bx = kx;
bw = (kw - b->w);
}