From 5c9e611cb1ba34f0c1692cccb530ad0e93496bc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Sat, 15 Aug 2009 17:33:47 +0000 Subject: [PATCH] BUG: 203903 preserve window opacity across sessions svn path=/trunk/KDE/kdebase/workspace/; revision=1011730 --- manage.cpp | 2 ++ sm.cpp | 2 ++ sm.h | 1 + 3 files changed, 5 insertions(+) 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; };