Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_border.c Log Message: handle bizarre focus properties. ie take_focus - but a window that never actually takes focus... =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_border.c,v retrieving revision 1.643 retrieving revision 1.644 diff -u -3 -r1.643 -r1.644 --- e_border.c 3 Aug 2008 21:54:49 -0000 1.643 +++ e_border.c 6 Aug 2008 22:57:37 -0000 1.644 @@ -1410,7 +1410,6 @@ (!bd->client.icccm.take_focus)) return; /* dont focus an iconified window. that's silly! */ if ((focus) && (bd->iconic)) return; - if ((bd->modal) && (bd->modal != bd)) { e_border_focus_set(bd->modal, focus, set); @@ -1421,6 +1420,37 @@ e_border_focus_set(bd->leader->modal, focus, set); return; } + + if ((focus) && (set) && (!bd->focused)) + { + if ((bd->client.icccm.accepts_focus) && + (bd->client.icccm.take_focus)) + { + if ((bd->visible) && (bd->changes.visible)) + { + e_border_focus_latest_set(bd); + bd->want_focus = 1; + bd->changed = 1; + return; + } + e_grabinput_focus(bd->client.win, E_FOCUS_METHOD_LOCALLY_ACTIVE); + return; + } + else if ((!bd->client.icccm.accepts_focus) && + (bd->client.icccm.take_focus)) + { + if ((bd->visible) && (bd->changes.visible)) + { + e_border_focus_latest_set(bd); + bd->want_focus = 1; + bd->changed = 1; + return; + } + e_grabinput_focus(bd->client.win, E_FOCUS_METHOD_GLOBALLY_ACTIVE); + return; + } + } + if ((bd->visible) && (bd->changes.visible)) { if ((bd->want_focus) && (set) && (!focus)) ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs