From bf9ed932f95b35b68f29479a12d780072f860e09 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Fri, 29 Aug 2008 03:30:45 +0000 Subject: [PATCH] some debugging printfs - also avoid feeding focus back to the last focused window if its one of a set of types. SVN revision: 35726 --- src/bin/e_border.c | 2 ++ src/bin/e_desk.c | 13 ++++++++++++- src/bin/e_table.c | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/bin/e_border.c b/src/bin/e_border.c index c2590f5c4..39a409d35 100644 --- a/src/bin/e_border.c +++ b/src/bin/e_border.c @@ -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; } diff --git a/src/bin/e_desk.c b/src/bin/e_desk.c index d08e195fe..f52b294f9 100644 --- a/src/bin/e_desk.c +++ b/src/bin/e_desk.c @@ -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) diff --git a/src/bin/e_table.c b/src/bin/e_table.c index 26619951d..3a7d14c01 100644 --- a/src/bin/e_table.c +++ b/src/bin/e_table.c @@ -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) {