diff --git a/layers.cpp b/layers.cpp index de82bb42a1..e583c9f414 100644 --- a/layers.cpp +++ b/layers.cpp @@ -607,6 +607,12 @@ bool Workspace::keepTransientAbove( const Client* mainwindow, const Client* tran // group transients way too high. if( mainwindow->isTopMenu() && transient->groupTransient()) return false; + // This is rather a hack for #76026. Don't keep non-modal dialogs above + // the mainwindow, but only if they're group transient (since only such dialogs + // have taskbar entry in Kicker). A proper way of doing this (both kwin and kicker) + // needs to be found. + if( transient->isDialog() && !transient->isModal() && transient->groupTransient()) + return false; return true; // #63223 - don't keep transients above docks, because the dock is kept high, // and e.g. dialogs for them would be too high too