kbds = eina_list_remove(kbds, kbd);
if (kbd->animator) ecore_animator_del(kbd->animator);
if (kbd->delay_hide) ecore_timer_del(kbd->delay_hide);
-// FIXME: thought right - on shutdoiwn, this might point to freed data
+// FIXME: thought right - on shutdown, this might point to freed data
// if (kbd->border) kbd->border->stolen = 0;
EINA_LIST_FREE(kbd->waiting_borders, bd)
bd->stolen = 0;
Eina_Bool
illume_border_is_bottom_panel(E_Border *bd)
{
- if ((bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DOCK) ||
- (bd->client.qtopia.soft_menu))
+ if (((bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DOCK) ||
+ (bd->client.qtopia.soft_menu)) ||
+ (bd->client.icccm.name) && ((!strcmp(bd->client.icccm.name, "Illume-Softkey"))))
return 1;
return 0;
}
illume_border_is_top_shelf(E_Border *bd)
{
if ((bd->client.icccm.name) &&
- (strstr(bd->client.icccm.name, "xfce4-panel")))
+ (strstr(bd->client.icccm.name, "Illume-Indicator")))
return 1;
// FIXME: detect
return 0;
const char *name;
const char *label;
// may need more things later, but name + label will do for now
- struct {
- // ---
- void (*border_add) (E_Border *bd);
- void (*border_del) (E_Border *bd);
- void (*border_focus_in) (E_Border *bd);
- void (*border_focus_out) (E_Border *bd);
- // ---
- void (*zone_layout) (E_Zone *zone);
- void (*zone_move_resize) (E_Zone *zone);
- // --- add more below (activate callback, and more)
- } funcs;
+ struct
+ {
+ void (*border_add) (E_Border *bd);
+ void (*border_del) (E_Border *bd);
+ void (*border_focus_in) (E_Border *bd);
+ void (*border_focus_out) (E_Border *bd);
+ void (*zone_layout) (E_Zone *zone);
+ void (*zone_move_resize) (E_Zone *zone);
+ // --- add more below (activate callback, and more)
+ } funcs;
};
-void illume_layout_mode_register(const Illume_Layout_Mode *laymode);
-void illume_layout_mode_unregister(const Illume_Layout_Mode *laymode);
+void illume_layout_mode_register(const Illume_Layout_Mode *laymode);
+void illume_layout_mode_unregister(const Illume_Layout_Mode *laymode);
-void illume_border_activate(E_Border *bd);
-void illume_border_show(E_Border *bd);
-void illume_border_deactivate(E_Border *bd);
+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);
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);
-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_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);
+
#endif
_border_add(E_Border *bd)
{ // handle a border being added
printf("Border Add\n");
+ if (bd->client.icccm.transient_for)
+ printf("Transient For\n");
+ else if (bd->client.icccm.client_leader)
+ printf("Client Leader\n");
}
static void
int shelfsize = 0;
int kbdsize = 0;
int panelsize = 0;
-
+
// phase 1. loop through borders to figure out sizes of things
borders = e_border_client_list();
EINA_LIST_FOREACH(borders, l, bd)
if (kbdsize < mh) kbdsize = mh;
}
}
-
+
// phase 2. actually apply the sizing, positioning and layering too
borders = e_border_client_list();
EINA_LIST_FOREACH(borders, l, bd)