fix auto raise once again
svn path=/trunk/kdebase/kwin/; revision=68000icc-effect-5.14.5
parent
1266db9901
commit
3c8525c963
11
client.cpp
11
client.cpp
|
@ -1837,7 +1837,8 @@ bool Client::x11Event( XEvent * e)
|
||||||
if ( options->focusPolicy == Options::ClickToFocus )
|
if ( options->focusPolicy == Options::ClickToFocus )
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
if ( options->autoRaise && !isDesktop() && !isDock() && !isMenu() && workspace()->focusChangeEnabled() ) {
|
if ( options->autoRaise && !isDesktop() && !isDock() && !isMenu() && workspace()->focusChangeEnabled()
|
||||||
|
&& workspace()->topClientOnDesktop() != this ) {
|
||||||
delete autoRaiseTimer;
|
delete autoRaiseTimer;
|
||||||
autoRaiseTimer = new QTimer( this );
|
autoRaiseTimer = new QTimer( this );
|
||||||
connect( autoRaiseTimer, SIGNAL( timeout() ), this, SLOT( autoRaise() ) );
|
connect( autoRaiseTimer, SIGNAL( timeout() ), this, SLOT( autoRaise() ) );
|
||||||
|
@ -2684,7 +2685,7 @@ void Client::autoRaise()
|
||||||
autoRaiseTimer = 0;
|
autoRaiseTimer = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Clones settings from other client. Used in
|
Clones settings from other client. Used in
|
||||||
Workspace::slotResetAllClients()
|
Workspace::slotResetAllClients()
|
||||||
*/
|
*/
|
||||||
|
@ -2703,7 +2704,7 @@ NETWinInfo * Client::netWinInfo()
|
||||||
return static_cast<NETWinInfo *>(info);
|
return static_cast<NETWinInfo *>(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
The transient_for window may be embedded in another application,
|
The transient_for window may be embedded in another application,
|
||||||
so kwin cannot see it. Try to find the managed client for the
|
so kwin cannot see it. Try to find the managed client for the
|
||||||
window and fix the transient_for property if possible.
|
window and fix the transient_for property if possible.
|
||||||
|
@ -2715,8 +2716,8 @@ void Client::verifyTransientFor()
|
||||||
if ( transient_for == 0 || transient_for == win )
|
if ( transient_for == 0 || transient_for == win )
|
||||||
return;
|
return;
|
||||||
WId old_transient_for = transient_for;
|
WId old_transient_for = transient_for;
|
||||||
while ( transient_for &&
|
while ( transient_for &&
|
||||||
transient_for != workspace()->rootWin() &&
|
transient_for != workspace()->rootWin() &&
|
||||||
!workspace()->findClient( transient_for ) ) {
|
!workspace()->findClient( transient_for ) ) {
|
||||||
wins = 0;
|
wins = 0;
|
||||||
int r = XQueryTree(qt_xdisplay(), transient_for, &root_return, &parent_return, &wins, &nwins);
|
int r = XQueryTree(qt_xdisplay(), transient_for, &root_return, &parent_return, &wins, &nwins);
|
||||||
|
|
Loading…
Reference in New Issue