all repos — openbox @ 6cc8d62e2674bd8bcb0d83935337523ca486098f

openbox fork - make it a bit more like ryudo

find modal children and focus them
Dana Jansens danakj@orodu.net
commit

6cc8d62e2674bd8bcb0d83935337523ca486098f

parent

d64505cfe29a433d09fba8ee74372181c04cfad7

1 files changed, 9 insertions(+), 1 deletions(-)

jump to
M src/client.ccsrc/client.cc

@@ -1550,7 +1550,15 @@

bool Client::focusModalChild() { - // XXX: find a modal child recursively and try focus it + // find a modal child recursively and try focus it + List::iterator it, end = _transients.end(); + for (it = _transients.begin(); it != end; ++it) + if ((*it)->focusModalChild()) + return true; // got one + // none of our grand-children are modal, try our direct children + for (it = _transients.begin(); it != end; ++it) + if ((*it)->modal() && (*it)->focus()) + return true; // got one return false; }