Fixed Antonio's focus follows mouse problem:

Index: main.cpp
===================================================================
RCS file: /home/kde/kdebase/kwin/main.cpp,v
retrieving revision 1.42
diff -r1.42 main.cpp
157a158,160
>     case EnterNotify:
>     case LeaveNotify:
>       kwin_time = e->xcrossing.time;

svn path=/trunk/kdebase/kwin/; revision=83624
This commit is contained in:
Matthias Ettrich 2001-02-19 09:27:26 +00:00
parent 414316d5dc
commit aa219e51db
2 changed files with 15 additions and 12 deletions

View file

@ -842,7 +842,7 @@ bool Client::windowEvent( XEvent * e)
fetchName();
if ( ( dirty & NET::WMStrut ) != 0 )
workspace()->updateClientArea();
if ( ( dirty & NET::WMIcon) != 0 )
if ( ( dirty & NET::WMIcon) != 0 )
getWMHints();
switch (e->type) {
@ -858,21 +858,21 @@ bool Client::windowEvent( XEvent * e)
case ButtonRelease:
break;
case FocusIn:
if ( e->xfocus.mode == NotifyUngrab )
break; // we don't care
if ( e->xfocus.detail == NotifyPointer )
break; // we don't care
if ( e->xfocus.mode == NotifyUngrab )
break; // we don't care
if ( e->xfocus.detail == NotifyPointer )
break; // we don't care
setActive( TRUE );
break;
case FocusOut:
if ( e->xfocus.mode == NotifyGrab )
break; // we don't care
if ( e->xfocus.mode == NotifyGrab )
break; // we don't care
if ( isShade() )
break; // we neither
if ( e->xfocus.detail != NotifyNonlinear )
return TRUE; // hack for motif apps like netscape
if ( QApplication::activePopupWidget() )
break;
if ( e->xfocus.detail != NotifyNonlinear )
return TRUE; // hack for motif apps like netscape
if ( QApplication::activePopupWidget() )
break;
setActive( FALSE );
break;
case ReparentNotify:
@ -1976,7 +1976,7 @@ bool Client::x11Event( XEvent * e)
autoRaiseTimer->start( options->autoRaiseInterval, TRUE );
}
if ( options->focusPolicy != Options::FocusStrictlyUnderMouse && ( isDesktop() || isDock() || isMenu() ) )
if ( options->focusPolicy != Options::FocusStrictlyUnderMouse && ( isDesktop() || isDock() || isMenu() ) )
return TRUE;
workspace()->requestFocus( this );

View file

@ -155,6 +155,9 @@ bool Application::x11EventFilter( XEvent *e )
case PropertyNotify:
kwin_time = e->xproperty.time;
break;
case EnterNotify:
case LeaveNotify:
kwin_time = e->xcrossing.time;
default:
break;
}