completed fullscreen fix
svn path=/trunk/kdebase/kwin/; revision=113471
This commit is contained in:
parent
87d25e94c5
commit
827e9b92be
2 changed files with 16 additions and 5 deletions
|
@ -609,7 +609,6 @@ bool Client::manage( bool isMapped, bool doNotShow, bool isInitial )
|
|||
if ( geom == workspace()->geometry() && inherits( "KWinInternal::NoBorderClient" ) ) {
|
||||
is_fullscreen = TRUE;
|
||||
may_move = FALSE; // don't let fullscreen windows be moved around
|
||||
setStaysOnTop( TRUE ); // fullscreen windows shall be on top
|
||||
}
|
||||
|
||||
if ( isMapped || session || isTransient() ) {
|
||||
|
@ -2271,6 +2270,7 @@ void Client::setActive( bool act)
|
|||
delete autoRaiseTimer;
|
||||
autoRaiseTimer = 0;
|
||||
}
|
||||
|
||||
activeChange( active );
|
||||
}
|
||||
|
||||
|
|
|
@ -1278,14 +1278,24 @@ void Workspace::setActiveClient( Client* c )
|
|||
{
|
||||
if ( active_client == c )
|
||||
return;
|
||||
if ( active_client )
|
||||
if ( active_client ) {
|
||||
active_client->setActive( FALSE );
|
||||
if ( active_client->isFullScreen() && active_client->staysOnTop()
|
||||
&& c && c->mainClient() != active_client->mainClient() ) {
|
||||
active_client->setStaysOnTop( FALSE );
|
||||
lowerClient( active_client );
|
||||
}
|
||||
}
|
||||
active_client = c;
|
||||
last_active_client = active_client;
|
||||
if ( active_client ) {
|
||||
focus_chain.remove( c );
|
||||
if ( c->wantsTabFocus() )
|
||||
focus_chain.append( c );
|
||||
if ( active_client->isFullScreen() && !active_client->staysOnTop() ) {
|
||||
active_client->setStaysOnTop( TRUE );
|
||||
raiseClient( active_client );
|
||||
}
|
||||
focus_chain.remove( c );
|
||||
if ( c->wantsTabFocus() )
|
||||
focus_chain.append( c );
|
||||
}
|
||||
|
||||
// toplevel menubar handling
|
||||
|
@ -1352,6 +1362,7 @@ void Workspace::activateClient( Client* c, bool force )
|
|||
if (!c->isOnDesktop(currentDesktop()) ) {
|
||||
setCurrentDesktop( c->desktop() );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void Workspace::iconifyOrDeiconifyTransientsOf( Client* c )
|
||||
|
|
Loading…
Reference in a new issue