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:
parent
414316d5dc
commit
aa219e51db
2 changed files with 15 additions and 12 deletions
24
client.cpp
24
client.cpp
|
@ -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 );
|
||||
|
|
3
main.cpp
3
main.cpp
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue