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