}
case FocusIn:
{
+ guiApp.SetAppFocus(true);
+
if(activeWindow != (X11Window)window.windowHandle)
{
XFocusChangeEvent *event = (XFocusChangeEvent *) thisEvent;
}
case FocusOut:
{
+ if((X11Window)window.windowHandle == activeWindow)
+ guiApp.SetAppFocus(false);
+
#ifdef _DEBUG
//printf("Processing a FocusOut Event for %s (%x)\n", window._class.name, window);
#endif
XSendEvent(xGlobalDisplay, DefaultRootWindow(xGlobalDisplay), bool::false, SubstructureRedirectMask | SubstructureNotifyMask, (union _XEvent *)&event);
XSetInputFocus(xGlobalDisplay, (X11Window)modalRoot.windowHandle, RevertToParent, timeStamp);
+ guiApp.SetAppFocus(true);
activeWindow = (X11Window)window.windowHandle;
//XFlush(xGlobalDisplay);
else
{
XSetInputFocus(xGlobalDisplay, (X11Window)window.windowHandle, RevertToParent, timeStamp);
+ guiApp.SetAppFocus(true);
activeWindow = (X11Window)window.windowHandle;
window.ExternalActivate(true, true, window, null); // lastActive);
if(windowData && windowData.ic)