diff --git a/client.cpp b/client.cpp index e4970b31c5..facc27ea02 100644 --- a/client.cpp +++ b/client.cpp @@ -437,7 +437,7 @@ Client::Client( Workspace *ws, WId w, QWidget *parent, const char *name, WFlags setSticky( TRUE ); // window wants to stay on top? - stays_on_top = ( info->state() & NET::StaysOnTop) != 0; + stays_on_top = ( info->state() & NET::StaysOnTop) != 0 || transient_for == workspace()->rootWin(); // should we open this window on a certain desktop? @@ -1177,7 +1177,7 @@ void Client::mouseMoveEvent( QMouseEvent * e) return; } - if ( mode != Center && shaded ) + if ( mode != Center && shaded ) giveUpShade(); QPoint globalPos = e->globalPos(); // pos() + geometry().topLeft(); diff --git a/workspace.cpp b/workspace.cpp index 80c660b45a..29d67e37ec 100644 --- a/workspace.cpp +++ b/workspace.cpp @@ -940,7 +940,7 @@ void Workspace::setActiveClient( Client* c ) if ( menubar ) { menubar->show(); - menubar->raise(); + raiseClient( menubar ); } // ... then hide the other ones. Avoids flickers.