BUG: 203903

preserve window opacity across sessions

svn path=/trunk/KDE/kdebase/workspace/; revision=1011730
This commit is contained in:
Thomas Lübking 2009-08-15 17:33:47 +00:00
parent 374e8d791c
commit 5c9e611cb1
3 changed files with 5 additions and 0 deletions

View file

@ -354,6 +354,7 @@ bool Client::manage( Window w, bool isMapped )
if( init_minimize ) if( init_minimize )
minimize( true ); // No animation minimize( true ); // No animation
// SELI TODO: This seems to be mainly for kstart and ksystraycmd // SELI TODO: This seems to be mainly for kstart and ksystraycmd
// probably should be replaced by something better // probably should be replaced by something better
bool doNotShow = false; bool doNotShow = false;
@ -370,6 +371,7 @@ bool Client::manage( Window w, bool isMapped )
setSkipTaskbar( session->skipTaskbar, true ); setSkipTaskbar( session->skipTaskbar, true );
setSkipPager( session->skipPager ); setSkipPager( session->skipPager );
setShade( session->shaded ? ShadeNormal : ShadeNone ); setShade( session->shaded ? ShadeNormal : ShadeNone );
setOpacity( session->opacity );
if( session->maximized != MaximizeRestore ) if( session->maximized != MaximizeRestore )
{ {
maximize( MaximizeMode( session->maximized )); maximize( MaximizeMode( session->maximized ));

2
sm.cpp
View file

@ -113,6 +113,7 @@ void Workspace::storeSession( KConfig* config, SMSavePhase phase )
// the config entry is called "iconified" for back. comp. reasons // the config entry is called "iconified" for back. comp. reasons
// (kconf_update script for updating session files would be too complicated) // (kconf_update script for updating session files would be too complicated)
cg.writeEntry( QString("iconified")+n, c->isMinimized() ); cg.writeEntry( QString("iconified")+n, c->isMinimized() );
cg.writeEntry( QString("opacity")+n, c->opacity() );
// the config entry is called "sticky" for back. comp. reasons // the config entry is called "sticky" for back. comp. reasons
cg.writeEntry( QString("sticky")+n, c->isOnAllDesktops() ); cg.writeEntry( QString("sticky")+n, c->isOnAllDesktops() );
cg.writeEntry( QString("shaded")+n, c->isShade() ); cg.writeEntry( QString("shaded")+n, c->isShade() );
@ -180,6 +181,7 @@ void Workspace::loadSessionInfo()
info->fullscreen = cg.readEntry( QString("fullscreen")+n, 0 ); info->fullscreen = cg.readEntry( QString("fullscreen")+n, 0 );
info->desktop = cg.readEntry( QString("desktop")+n, 0 ); info->desktop = cg.readEntry( QString("desktop")+n, 0 );
info->minimized = cg.readEntry( QString("iconified")+n, false ); info->minimized = cg.readEntry( QString("iconified")+n, false );
info->opacity = cg.readEntry( QString("opacity")+n, 1.0 );
info->onAllDesktops = cg.readEntry( QString("sticky")+n, false ); info->onAllDesktops = cg.readEntry( QString("sticky")+n, false );
info->shaded = cg.readEntry( QString("shaded")+n, false ); info->shaded = cg.readEntry( QString("shaded")+n, false );
info->keepAbove = cg.readEntry( QString("staysOnTop")+n, false ); info->keepAbove = cg.readEntry( QString("staysOnTop")+n, false );

1
sm.h
View file

@ -61,6 +61,7 @@ struct SessionInfo
QString shortcut; QString shortcut;
bool active; // means 'was active in the saved session' bool active; // means 'was active in the saved session'
int stackingOrder; int stackingOrder;
float opacity;
}; };