From 750d4f1d034621fa37741d60893899691057daff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= Date: Tue, 30 May 2006 11:47:16 +0000 Subject: [PATCH] #67406 - config option kwinrc:Windows:ShowDesktopIsMinimizeAll. But I hope this actually won't be needed with KDE4. svn path=/trunk/KDE/kdebase/workspace/; revision=546548 --- kwin.kcfg | 1 + manage.cpp | 2 +- options.cpp | 1 + options.h | 2 ++ workspace.cpp | 5 ++++- 5 files changed, 9 insertions(+), 2 deletions(-) diff --git a/kwin.kcfg b/kwin.kcfg index 2ae2b4e2d3..175dc0e4aa 100644 --- a/kwin.kcfg +++ b/kwin.kcfg @@ -59,6 +59,7 @@ + diff --git a/manage.cpp b/manage.cpp index c3e125193d..7e25b70249 100644 --- a/manage.cpp +++ b/manage.cpp @@ -470,7 +470,7 @@ bool Client::manage( Window w, bool isMapped ) break; } if( !belongs_to_desktop && workspace()->showingDesktop()) - workspace()->resetShowingDesktop( false ); + workspace()->resetShowingDesktop( options->showDesktopIsMinimizeAll ); if( isOnCurrentDesktop() && !isMapped && !allow && (!session || session->stackingOrder < 0 )) workspace()->restackClientUnderActive( this ); diff --git a/options.cpp b/options.cpp index 21394a1e61..b1e8a97d59 100644 --- a/options.cpp +++ b/options.cpp @@ -153,6 +153,7 @@ unsigned long Options::updateSettings() killPingTimeout = config->readEntry( "KillPingTimeout", 5000 ); hideUtilityWindowsForInactive = config->readEntry( "HideUtilityWindowsForInactive", QVariant( true)).toBool(); + showDesktopIsMinimizeAll = config->readEntry( "ShowDesktopIsMinimizeAll", false ); // Mouse bindings config->setGroup( "MouseBindings"); diff --git a/options.h b/options.h index d7997a9408..2188a59152 100644 --- a/options.h +++ b/options.h @@ -182,6 +182,8 @@ class Options : public KDecorationOptions * Animation speed (0 .. 10 ) */ int animateMinimizeSpeed; + + bool showDesktopIsMinimizeAll; /** * whether or not we roll over to the other edge when switching desktops past the edge diff --git a/workspace.cpp b/workspace.cpp index fd4fe9815e..7d4dbd6189 100644 --- a/workspace.cpp +++ b/workspace.cpp @@ -2616,7 +2616,10 @@ void Workspace::setShowingDesktop( bool showing ) // Unminimizing a window resets the state but keeps the windows hidden (except // the one that was unminimized). // A new window resets the state and shows the windows again, with the new window -// being active. +// being active. Due to popular demand (#67406) by people who apparently +// don't see a difference between "show desktop" and "minimize all", this is not +// true if "showDesktopIsMinimizeAll" is set in kwinrc. In such case showing +// a new window resets the state but doesn't show windows. void Workspace::resetShowingDesktop( bool keep_hidden ) { if( block_showing_desktop > 0 )