diff --git a/manage.cpp b/manage.cpp index e2d1265b35..7a8f6613f5 100644 --- a/manage.cpp +++ b/manage.cpp @@ -354,6 +354,7 @@ bool Client::manage( Window w, bool isMapped ) if( init_minimize ) minimize( true ); // No animation + // SELI TODO: This seems to be mainly for kstart and ksystraycmd // probably should be replaced by something better bool doNotShow = false; @@ -370,6 +371,7 @@ bool Client::manage( Window w, bool isMapped ) setSkipTaskbar( session->skipTaskbar, true ); setSkipPager( session->skipPager ); setShade( session->shaded ? ShadeNormal : ShadeNone ); + setOpacity( session->opacity ); if( session->maximized != MaximizeRestore ) { maximize( MaximizeMode( session->maximized )); diff --git a/sm.cpp b/sm.cpp index bf411c471a..14b52351fd 100644 --- a/sm.cpp +++ b/sm.cpp @@ -113,6 +113,7 @@ void Workspace::storeSession( KConfig* config, SMSavePhase phase ) // the config entry is called "iconified" for back. comp. reasons // (kconf_update script for updating session files would be too complicated) cg.writeEntry( QString("iconified")+n, c->isMinimized() ); + cg.writeEntry( QString("opacity")+n, c->opacity() ); // the config entry is called "sticky" for back. comp. reasons cg.writeEntry( QString("sticky")+n, c->isOnAllDesktops() ); cg.writeEntry( QString("shaded")+n, c->isShade() ); @@ -180,6 +181,7 @@ void Workspace::loadSessionInfo() info->fullscreen = cg.readEntry( QString("fullscreen")+n, 0 ); info->desktop = cg.readEntry( QString("desktop")+n, 0 ); 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->shaded = cg.readEntry( QString("shaded")+n, false ); info->keepAbove = cg.readEntry( QString("staysOnTop")+n, false ); diff --git a/sm.h b/sm.h index 4acc9fd484..761711af29 100644 --- a/sm.h +++ b/sm.h @@ -61,6 +61,7 @@ struct SessionInfo QString shortcut; bool active; // means 'was active in the saved session' int stackingOrder; + float opacity; };