some debugging printfs - also avoid feeding focus back to the last focused

window if its one of a set of types.



SVN revision: 35726
This commit is contained in:
Carsten Haitzler 2008-08-29 03:30:45 +00:00
parent 258e111eb9
commit bf9ed932f9
3 changed files with 15 additions and 2 deletions

View File

@ -1424,6 +1424,7 @@ e_border_focus_set(E_Border *bd, int focus, int set)
/* dont focus an iconified window. that's silly! */
if ((focus) && (bd->iconic))
return;
printf(" actually try...\n");
if ((bd->modal) && (bd->modal != bd))
{
e_border_focus_set(bd->modal, focus, set);
@ -4252,6 +4253,7 @@ _e_border_cb_window_focus_out(void *data, int ev_type, void *ev)
if (e->detail == ECORE_X_EVENT_DETAIL_ANCESTOR) return 1;
else if (e->detail == ECORE_X_EVENT_DETAIL_INFERIOR) return 1;
}
printf("fout 1\n");
e_border_focus_set(bd, 0, 0);
return 1;
}

View File

@ -361,10 +361,21 @@ e_desk_last_focused_focus(E_Desk *desk)
Evas_List *l = NULL;
E_Border *bd;
printf("== e_desk_last_focused_focus\n");
for (l = e_border_focus_stack_get(); l; l = l->next)
{
bd = l->data;
if ((!bd->iconic) && (bd->visible) && (bd->desk == desk))
printf("LAST %p ic=%i vis=%i desk=%p==%p\n",
bd, bd->iconic, bd->visible, bd->desk, desk);
if ((!bd->iconic) && (bd->visible) && (bd->desk == desk) &&
(bd->client.icccm.accepts_focus || bd->client.icccm.take_focus) &&
(bd->client.netwm.type != ECORE_X_WINDOW_TYPE_DOCK) &&
(bd->client.netwm.type != ECORE_X_WINDOW_TYPE_TOOLBAR) &&
(bd->client.netwm.type != ECORE_X_WINDOW_TYPE_MENU) &&
(bd->client.netwm.type != ECORE_X_WINDOW_TYPE_SPLASH) &&
(bd->client.netwm.type != ECORE_X_WINDOW_TYPE_DESKTOP)
)
{
/* this was the window last focused in this desktop */
if (!bd->lock_focus_out)

View File

@ -322,7 +322,7 @@ _e_table_smart_reconfigure(E_Smart_Data *sd)
obj = l->data;
ti = evas_object_data_get(obj, "e_table_data");
if (ti->expand_w) expandw++;
if (ti->expand_w) expandh++;
if (ti->expand_h) expandh++;
}
if (expandw == 0)
{