do not confine transients to desktop layer Originally patch #170 by gregor_b Desktop stype windows will typically have their config dialogs as transients. If those are confined to the desktop layer, they're stashed behind everything else, so we don't force them there. If the transient already is in the desktop layer otherwise it's a(nother) desktop, not a dialog, and belongs to that layer, there's no need to artificially raise it. It's entirely sufficient to leave these windows untouched.
Thomas Lübking thomas.luebking@gmail.com
1 files changed,
4 insertions(+),
2 deletions(-)
jump to
M
src/Window.cc
→
src/Window.cc
@@ -548,8 +548,10 @@
// if we're a transient then we should be on the same layer and workspace FluxboxWindow* twin = m_client->transientFor() ? m_client->transientFor()->fbwindow() : 0; if (twin && twin != this) { - layerItem().setLayer(twin->layerItem().getLayer()); - m_state.layernum = twin->layerNum(); + if (twin->layerNum() < ResourceLayer::DESKTOP) { // don't confine layer for desktops + layerItem().setLayer(twin->layerItem().getLayer()); + m_state.layernum = twin->layerNum(); + } m_workspace_number = twin->workspaceNumber(); const int x = twin->frame().x() + int(twin->frame().width() - frame().width())/2; const int y = twin->frame().y() + int(twin->frame().height() - frame().height())/2;