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.
This commit is contained in:
parent
14e25f4a65
commit
e99d940f40
1 changed files with 4 additions and 2 deletions
|
@ -548,8 +548,10 @@ void FluxboxWindow::init() {
|
|||
// 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;
|
||||
|
|
Loading…
Reference in a new issue