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;
}
Exemplo n.º 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;
}