move focus setting on restart into desk restore function

the focused client on restart needs to be set after desk states
have been restored in order to avoid focusing the wrong client
This commit is contained in:
Mike Blumenkrantz 2015-09-21 19:19:15 -04:00
parent 4a33cd7ba0
commit bfbdf5106a
2 changed files with 8 additions and 11 deletions

View File

@ -5187,17 +5187,6 @@ _e_comp_x_setup(Ecore_X_Window root, int w, int h)
e_pointer_window_add(e_comp->pointer, e_comp->root);
_e_comp_x_manage_windows();
{
E_Client *ec;
E_CLIENT_REVERSE_FOREACH(ec)
if (!e_client_util_ignored_get(ec))
{
ec->want_focus = ec->take_focus = 1;
break;
}
}
return !!e_comp->bg_blank_object;
}

View File

@ -1641,6 +1641,7 @@ _e_main_desk_restore(void)
{
const Eina_List *l;
E_Zone *zone;
E_Client *ec;
char *env;
char name[1024];
@ -1657,6 +1658,13 @@ _e_main_desk_restore(void)
if (!desk) continue;
e_desk_show(desk);
}
E_CLIENT_REVERSE_FOREACH(ec)
if ((!e_client_util_ignored_get(ec)) && e_client_util_desk_visible(ec, e_desk_current_get(ec->zone)))
{
ec->want_focus = ec->take_focus = 1;
break;
}
}
static void