diff options
author | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2019-09-05 00:19:31 +0100 |
---|---|---|
committer | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2019-09-05 00:19:31 +0100 |
commit | ec1ee3ff4275e757e908156fe09eff60e0fb7702 (patch) | |
tree | eea00771b94ec854a708530bf4bc7fcccf075957 /src/modules/winlist | |
parent | 48c4ea17f2d71486e0462eb0ec5547fe752b832c (diff) | |
download | enlightenment-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.c | 28 |
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")) |