From 51b3e7a4ee3527c85bd49a7ae1decaeabda0406a Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 15 Feb 2013 11:18:16 +0000 Subject: [PATCH] patch from Deon Thomas: this patch fix the bug with if you have multiple windows opened and you are Alt+Tabbing suppose the mouse is already over the window that e_border_focused_get (the last focused border) we go to the next one. currently it centres the mouse on the same focused window then if you do alt+tab it will go to the next. SVN revision: 83946 --- src/modules/winlist/e_winlist.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/modules/winlist/e_winlist.c b/src/modules/winlist/e_winlist.c index 54e109e02..c27706eec 100644 --- a/src/modules/winlist/e_winlist.c +++ b/src/modules/winlist/e_winlist.c @@ -941,6 +941,8 @@ _e_winlist_border_del(E_Border *bd) static void _e_winlist_activate_nth(int n) { + E_Winlist_Win *ww; + E_Border *bd; Eina_List *l; int cnt; @@ -950,6 +952,16 @@ _e_winlist_activate_nth(int n) l = eina_list_nth_list(_wins, n); if (l) { + ww = eina_list_data_get(l); + bd = e_border_under_pointer_get(ww->border->desk, NULL); + + if (bd && (ww->border->client.win == bd->client.win) && (cnt > 1)) + { + _wins = eina_list_promote_list(_wins, l); + _e_winlist_activate_nth(n); + return; + } + _win_selected = l; _e_winlist_show_active(); _e_winlist_activate();