all repos — openbox @ f6a3cd61f814c9a5190acb4af3b339dd4cd08647

openbox fork - make it a bit more like ryudo

cycle windows was looping forever!
Dana Jansens danakj@orodu.net
commit

f6a3cd61f814c9a5190acb4af3b339dd4cd08647

parent

809f819e6f93a599e6312d5c4f226b339b9456f1

1 files changed, 6 insertions(+), 2 deletions(-)

jump to
M util/epist/screen.ccutil/epist/screen.cc

@@ -433,8 +433,6 @@ void screen::cycleWindow(const bool forward, const bool alldesktops,

const bool sameclass, const string &cn) const { assert(_managed); - if (_clients.empty()) return; - WindowList::const_iterator target = _active; string classname = cn;

@@ -443,6 +441,8 @@ classname = (*target)->appClass();

if (target == _clients.end()) target = _clients.begin(); + + WindowList::const_iterator begin = target; do { if (forward) {

@@ -454,6 +454,10 @@ if (target == _clients.begin())

target = _clients.end(); --target; } + + // no window to focus + if (target == begin) + return; } while (target == _clients.end() || (*target)->iconic() || (! alldesktops && (*target)->desktop() != _active_desktop) ||