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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs