summaryrefslogtreecommitdiff
path: root/src/modules/winlist
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-09-05 00:19:31 +0100
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-09-05 00:19:31 +0100
commitec1ee3ff4275e757e908156fe09eff60e0fb7702 (patch)
treeeea00771b94ec854a708530bf4bc7fcccf075957 /src/modules/winlist
parent48c4ea17f2d71486e0462eb0ec5547fe752b832c (diff)
downloadenlightenment-ec1ee3ff4275e757e908156fe09eff60e0fb7702.tar.gz
winlist - use new geom key navigate action util
Diffstat (limited to 'src/modules/winlist')
-rw-r--r--src/modules/winlist/e_winlist.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/modules/winlist/e_winlist.c b/src/modules/winlist/e_winlist.c
index 0b38004e80..24e5ad5f7b 100644
--- a/src/modules/winlist/e_winlist.c
+++ b/src/modules/winlist/e_winlist.c
@@ -971,22 +971,26 @@ static Eina_Bool
_e_winlist_cb_key_down(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
{
Ecore_Event_Key *ev = event;
+ E_Util_Action act;
+ int x = 0, y = 0;
if (ev->window != _input_window) return ECORE_CALLBACK_PASS_ON;
- if (!strcmp(ev->key, "Up"))
- e_winlist_direction_select(_winlist_zone, 0);
- else if (!strcmp(ev->key, "Down"))
- e_winlist_direction_select(_winlist_zone, 1);
- else if (!strcmp(ev->key, "Left"))
- e_winlist_direction_select(_winlist_zone, 2);
- else if (!strcmp(ev->key, "Right"))
- e_winlist_direction_select(_winlist_zone, 3);
- else if (!strcmp(ev->key, "Return"))
+ act = e_util_key_geometry_action_get(ev->key, &x, &y, 1, 1);
+ if (act == E_UTIL_ACTION_DONE)
e_winlist_hide();
- else if (!strcmp(ev->key, "space"))
- e_winlist_hide();
- else if (!strcmp(ev->key, "Escape"))
+ else if (act == E_UTIL_ACTION_ABORT)
_e_winlist_restore_desktop();
+ else if (act == E_UTIL_ACTION_DO)
+ {
+ if (y < 0)
+ e_winlist_direction_select(_winlist_zone, 0);
+ else if (y > 0)
+ e_winlist_direction_select(_winlist_zone, 1);
+ else if (x < 0)
+ e_winlist_direction_select(_winlist_zone, 2);
+ else if (x > 0)
+ e_winlist_direction_select(_winlist_zone, 3);
+ }
else if (!strcmp(ev->key, "1"))
_e_winlist_activate_nth(0);
else if (!strcmp(ev->key, "2"))