Applying #19154 ( together with #19158 fixes #13794 #17915 #17698 )

svn path=/trunk/kdebase/kwin/; revision=86664
icc-effect-5.14.5
Luboš Luňák 2001-03-12 21:32:13 +00:00
parent 33c69f053c
commit 8b6478aeda
4 changed files with 26 additions and 0 deletions

View File

@ -72,6 +72,8 @@ public:
if ( m_client->staysOnTop() )
m_client->workspace()->raiseClient( m_client );
}
if( mask & NET::SkipTaskbar )
m_client->setSkipTaskbar( ( state & NET::SkipTaskbar ) != 0 );
}
private:
KWinInternal::Client * m_client;
@ -710,6 +712,7 @@ bool Client::manage( bool isMapped, bool doNotShow, bool isInitial )
setSticky( session->sticky );
setShade( session->shaded );
setStaysOnTop( session->staysOnTop );
setSkipTaskbar( session->skipTaskbar );
maximize( (MaximizeMode) session->maximize );
geom_restore = session->restore;
} else {
@ -2235,6 +2238,15 @@ void Client::setStaysOnTop( bool b )
}
void Client::setSkipTaskbar( bool b )
{
if ( b == skipTaskbar() )
return;
skip_taskbar = b;
info->setState( b?NET::SkipTaskbar:0, NET::SkipTaskbar );
}
void Client::setDesktop( int desktop)
{
desk = desktop;

View File

@ -135,6 +135,9 @@ public:
bool staysOnTop() const;
void setStaysOnTop( bool );
bool skipTaskbar() const;
void setSkipTaskbar( bool );
bool storeSettings() const;
void setStoreSettings( bool );
@ -413,6 +416,11 @@ inline bool Client::staysOnTop() const
return stays_on_top;
}
inline bool Client::skipTaskbar() const
{
return skip_taskbar;
}
inline bool Client::storeSettings() const
{
return store_settings;

View File

@ -2917,6 +2917,7 @@ void Workspace::storeSession( KConfig* config )
config->writeEntry( QString("sticky")+n, c->isSticky() );
config->writeEntry( QString("shaded")+n, c->isShade() );
config->writeEntry( QString("staysOnTop")+n, c->staysOnTop() );
config->writeEntry( QString("skipTaskbar")+n, c->skipTaskbar() );
}
}
config->writeEntry( "count", count );
@ -2949,6 +2950,7 @@ void Workspace::loadSessionInfo()
info->sticky = config->readBoolEntry( QString("sticky")+n, FALSE );
info->shaded = config->readBoolEntry( QString("shaded")+n, FALSE );
info->staysOnTop = config->readBoolEntry( QString("staysOnTop")+n, FALSE );
info->skipTaskbar = config->readBoolEntry( QString("skipTaskbar")+n, FALSE );
}
}
@ -2972,6 +2974,7 @@ void Workspace::loadFakeSessionInfo()
info->sticky = config->readBoolEntry( QString("sticky")+n, FALSE );
info->shaded = config->readBoolEntry( QString("shaded")+n, FALSE );
info->staysOnTop = config->readBoolEntry( QString("staysOnTop")+n, FALSE );
info->skipTaskbar = config->readBoolEntry( QString("skipTaskbar")+n, FALSE );
}
}
@ -2991,6 +2994,7 @@ void Workspace::storeFakeSessionInfo( Client* c )
info->sticky = c->isSticky();
info->shaded = c->isShade();
info->staysOnTop = c->staysOnTop();
info->skipTaskbar = c->skipTaskbar();
}
void Workspace::writeFakeSessionInfo()
@ -3011,6 +3015,7 @@ void Workspace::writeFakeSessionInfo()
config->writeEntry( QString("sticky")+n, info->sticky );
config->writeEntry( QString("shaded")+n, info->shaded );
config->writeEntry( QString("staysOnTop")+n, info->staysOnTop );
config->writeEntry( QString("skipTaskbar")+n, info->skipTaskbar );
}
config->writeEntry( "count", count );
}

View File

@ -70,6 +70,7 @@ struct SessionInfo
bool sticky;
bool shaded;
bool staysOnTop;
bool skipTaskbar;
};