static int
_client_item_add(Plugin *p, E_Client *ec)
{
   Client_Item *bi;
   char buf[1024];

   if (ec->netwm.state.skip_taskbar)
     return 0;
   if (ec->netwm.state.skip_pager)
     return 0;
   if (e_client_util_ignored_get(ec))
     return 0;

   bi = EVRY_ITEM_NEW(Client_Item, p, e_client_util_name_get(ec),
                      _icon_get, _client_item_free);

   snprintf(buf, sizeof(buf), "%d:%d %s",
            ec->desk->x, ec->desk->y,
            (ec->desktop ? ec->desktop->name : ""));
   EVRY_ITEM_DETAIL_SET(bi, buf);

   bi->client = ec;
   e_object_ref(E_OBJECT(ec));

   p->clients = eina_list_append(p->clients, bi);

   return 1;
}
예제 #2
0
static int
_border_item_add(Plugin *p, E_Border *bd)
{
   Border_Item *bi;
   char buf[1024];

   if (bd->client.netwm.state.skip_taskbar)
     return 0;
   if (bd->client.netwm.state.skip_pager)
     return 0;

   bi = EVRY_ITEM_NEW(Border_Item, p, e_border_name_get(bd),
                      _icon_get, _border_item_free);

   snprintf(buf, sizeof(buf), "%d:%d %s",
            bd->desk->x, bd->desk->y,
            (bd->desktop ? bd->desktop->name : ""));
   EVRY_ITEM_DETAIL_SET(bi, buf);

   bi->border = bd;
   e_object_ref(E_OBJECT(bd));

   p->borders = eina_list_append(p->borders, bi);

   return 1;
}
예제 #3
0
파일: evry_plug_apps.c 프로젝트: wargio/e17
static Item_Menu *
_item_menu_add(Plugin *p, Efreet_Menu *menu)
{
   Item_Menu *m;

   m = EVRY_ITEM_NEW(Item_Menu, p, NULL, NULL, NULL);
   EVRY_ITEM(m)->type = EVRY_TYPE_NONE;
   EVRY_ITEM(m)->browseable = EINA_TRUE;
   EVRY_ITEM(m)->label = eina_stringshare_add(menu->name);
   EVRY_ITEM(m)->icon = eina_stringshare_add(menu->icon);
   EVRY_ITEM(m)->usage = -1;

   m->menu = menu;
   p->menu_items = eina_list_append(p->menu_items, m);

   return m;
}
예제 #4
0
파일: evry_plug_apps.c 프로젝트: wargio/e17
static Evry_Item_App *
_item_new(Plugin *p, const char *label, const char *id)
{
   Evry_Item_App *app;

   app = EVRY_ITEM_NEW(Evry_Item_App, p, label, NULL, evry_item_app_free);
   EVRY_ACTN(app)->action = &_exec_open_file_action;
   EVRY_ACTN(app)->it1.type = EVRY_TYPE_FILE;
   EVRY_ITEM(app)->id = eina_stringshare_add(id);

   eina_hash_add(p->added, id, app);

   EVRY_ACTN(app)->remember_context = EINA_TRUE;
   EVRY_ITEM(app)->subtype = EVRY_TYPE_ACTION;

   return app;
}