diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2012-12-22 12:31:37 +0100 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2012-12-22 12:39:49 +0100 |
commit | 75ec507bc339e593fc8b0f400f6a8e07743ce600 (patch) | |
tree | 4269c4eb1a8cdda700c046b7d2c0d85f9f9fe618 /kwin | |
parent | fb6ca785d1ddc8e5e62d3ab02118a97e9b1b7fe7 (diff) | |
download | tdebase-75ec507bc339e593fc8b0f400f6a8e07743ce600.tar.gz tdebase-75ec507bc339e593fc8b0f400f6a8e07743ce600.zip |
Unset/set NETWM shading state around minimizing
Based on KDE GIT commit 8a02a383
(cherry picked from commit 55c907ad0e031f2ceddb2693761b747395137ac0)
Diffstat (limited to 'kwin')
-rw-r--r-- | kwin/client.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/kwin/client.cpp b/kwin/client.cpp index fc989e425..a50309951 100644 --- a/kwin/client.cpp +++ b/kwin/client.cpp @@ -661,6 +661,9 @@ void Client::minimize( bool avoid_animation ) if ( !isMinimizable() || isMinimized()) return; + if (isShade()) // NETWM restriction - KWindowInfo::isMinimized() == Hidden && !Shaded + info->setState(0, NET::Shaded); + Notify::raise( Notify::Minimize ); // SELI mainClients().isEmpty() ??? - and in unminimize() too @@ -681,6 +684,9 @@ void Client::unminimize( bool avoid_animation ) if( !isMinimized()) return; + if (isShade()) // NETWM restriction - KWindowInfo::isMinimized() == Hidden && !Shaded + info->setState(NET::Shaded, NET::Shaded); + Notify::raise( Notify::UnMinimize ); minimized = false; if( isOnCurrentDesktop() && isShown( true )) @@ -941,7 +947,7 @@ void Client::setShade( ShadeMode mode ) workspace()->requestFocus( this ); } checkMaximizeGeometry(); - info->setState( isShade() ? NET::Shaded : 0, NET::Shaded ); + info->setState( (isShade() && !isMinimized()) ? NET::Shaded : 0, NET::Shaded ); info->setState( isShown( false ) ? 0 : NET::Hidden, NET::Hidden ); updateVisibility(); updateAllowedActions(); |