diff --git a/client.cpp b/client.cpp index b21c722d30..2c341e9253 100644 --- a/client.cpp +++ b/client.cpp @@ -1536,7 +1536,7 @@ void Client::move( int x, int y ) */ void Client::show() { - if ( isIconified() && !isTransient() ) + if ( isIconified() && ( !isTransient() || mainClient() == this ) ) animateIconifyOrDeiconify( FALSE ); QWidget::show(); setMappingState( NormalState ); @@ -1676,7 +1676,7 @@ void Client::iconify() Events::raise( Events::Iconify ); setMappingState( IconicState ); - if ( !isTransient() && isVisible() ) + if ( (!isTransient() || mainClient() == this ) && isVisible() ) animateIconifyOrDeiconify( TRUE ); hide(); @@ -2633,6 +2633,8 @@ void Client::animateIconifyOrDeiconify( bool iconify) { if ( blockAnimation ) return; + if ( !options->animateMinimize ) + return; // the function is a bit tricky since it will ensure that an // animation action needs always the same time regardless of the // performance of the machine or the X-Server.