'everything' module:
authorHannes Janetzek <hannes.janetzek@gmail.com>
Mon, 10 Aug 2009 12:51:13 +0000 (12:51 +0000)
committerHannes Janetzek <hannes.janetzek@gmail.com>
Mon, 10 Aug 2009 12:51:13 +0000 (12:51 +0000)
- cycle through plugins with ctrl+first char of plugin name
- get larger border icons

SVN revision: 41660

src/modules/everything/evry.c
src/modules/everything/evry_plug_border.c

index cda2b6bed481af150b2cfceb4849845b05f420dc..59cbf1cd48515b5e8c760973eb4f5e9cd3ba925c 100644 (file)
@@ -1054,9 +1054,45 @@ _evry_cb_key_down(void *data __UNUSED__, int type __UNUSED__, void *event)
    else if ((!strcmp(ev->key, "BackSpace")) ||
            (!strcmp(ev->key, "Delete")))
      _evry_backspace(s);
+   else if ((ev->key) &&
+           (ev->modifiers & ECORE_EVENT_MODIFIER_CTRL))
+     {
+       Eina_List *l;
+       Evry_Plugin *p, *first = NULL, *next = NULL;
+       int found = 0;
+       
+       if (!s->plugin) return 1;
+
+       EINA_LIST_FOREACH(s->cur_plugins, l, p)
+         {
+            if (p->name && (!strncasecmp(p->name, ev->key, 1)))
+              {
+                 if (!first) first = p;
+
+                 if (found && !next)
+                   next = p;
+              }
+            if (p == s->plugin) found = 1;
+         }
+
+       if (next)
+         p = next;
+       else if (first != s->plugin)
+         p = first;
+       else
+         p = NULL;
+       
+       if (p)
+         {
+            s->plugin_auto_selected = 0;
+            _evry_list_clear_list(s);
+            _evry_select_plugin(s, p);
+            _evry_list_show_items(s, p);
+            _evry_selector_update(selector); 
+         }
+     }
    else if ((ev->compose) &&
-           (!(ev->modifiers & ECORE_EVENT_MODIFIER_CTRL) ||
-             (ev->modifiers & ECORE_EVENT_MODIFIER_ALT)  ||
+           (!(ev->modifiers & ECORE_EVENT_MODIFIER_ALT)  ||
              (ev->modifiers & ECORE_EVENT_MODIFIER_WIN)) &&
            ((strlen(s->input) < (INPUTLEN - strlen(ev->compose)))))
      {
index fd408076c324eb05b1cea46d2a17b1fdfd30fdc8..4da1951c63a0f61014dd4de8a3b1a994c6360cfc 100644 (file)
@@ -113,20 +113,29 @@ _item_icon_get(Evry_Plugin *p __UNUSED__, Evry_Item *it, Evas *e)
    E_Border *bd = it->data[0];
 
    if (bd->desktop)
-     o = e_util_desktop_icon_add(bd->desktop, 72, e);
+     o = e_util_desktop_icon_add(bd->desktop, 128, e);
 
    if (!o && bd->client.netwm.icons)
      {
-       int num = bd->client.netwm.num_icons - 1;
-
-       if (num >= 0)
-         {          
-            o = e_icon_add(e);
-            e_icon_data_set(o, bd->client.netwm.icons[num].data,
-                            bd->client.netwm.icons[num].width,
-                            bd->client.netwm.icons[num].height);
-            e_icon_alpha_set(o, 1);
+       int i, size, tmp, found = 0;
+       o = e_icon_add(e);
+
+       size = bd->client.netwm.icons[0].width;
+
+       for (i = 1; i < bd->client.netwm.num_icons; i++)
+         {
+            if ((tmp = bd->client.netwm.icons[i].width) > size)
+              {
+                 size = tmp;
+                 found = i;
+              }
          }
+            
+       e_icon_data_set(o, bd->client.netwm.icons[found].data,
+                       bd->client.netwm.icons[found].width,
+                       bd->client.netwm.icons[found].height);
+       e_icon_alpha_set(o, 1);
+       return o;
      }
    
    if (!o)