X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2FWorkspace.cc;h=5c38cf05b9ecf47b8ebb6e15c5dc20abbb9f9692;hb=fb613db29ffcf1539c91f0ac0ca5d25cb4e593b5;hp=88280a1d32eaeb9260069d4e816d742c879c4129;hpb=90dbcb271c5e6d7ca73c19a519b93885b833db0a;p=chaz%2Fopenbox diff --git a/src/Workspace.cc b/src/Workspace.cc index 88280a1d..5c38cf05 100644 --- a/src/Workspace.cc +++ b/src/Workspace.cc @@ -154,6 +154,9 @@ void Workspace::focusFallback(const BlackboxWindow *old_window) { end = stackingList.end(); for (; it != end; ++it) { BlackboxWindow *tmp = *it; + if (! (tmp->windowType() == BlackboxWindow::Type_Dialog || + tmp->windowType() == BlackboxWindow::Type_Normal)) + continue; // don't fallback to special windows if (tmp && tmp->setInputFocus()) { // we found our new focus target newfocus = tmp; @@ -572,7 +575,8 @@ bool Workspace::smartPlacement(Rect& win, const Rect& availableArea) { for (; wit != end; ++wit) { const BlackboxWindow* const curr = *wit; - if (curr->isShaded()) continue; + if (curr->isShaded() && screen->getPlaceIgnoreShaded()) continue; + if (curr->isMaximizedFull() && screen->getPlaceIgnoreMaximized()) continue; tmp.setRect(curr->frameRect().x(), curr->frameRect().y(), curr->frameRect().width() + screen->getBorderWidth(),