Allow transients to go over dock windows under certain conditions

For Wayland transients are popups relative to a parent surface. This
means for a dock window we obviously want them above the dock, otherwise
the context menu would be below the dock.

To not break the existing functionality (which makes sense) we bind
it to whether the transient has a positioning hint - that's only set
for ShellClients.
This commit is contained in:
Martin Gräßlin 2015-09-17 14:33:54 +02:00
parent a6118016ec
commit 000954c508

View file

@ -678,7 +678,8 @@ bool Workspace::keepTransientAbove(const AbstractClient* mainwindow, const Abstr
}
// #63223 - don't keep transients above docks, because the dock is kept high,
// and e.g. dialogs for them would be too high too
if (mainwindow->isDock())
// ignore this if the transient has a placement hint which indicates it should go above it's parent
if (mainwindow->isDock() && !transient->hasTransientPlacementHint())
return false;
return true;
}