diff --git a/util/epist/screen.cc b/util/epist/screen.cc index 1dc32f02..0ec679bb 100644 --- a/util/epist/screen.cc +++ b/util/epist/screen.cc @@ -490,8 +490,6 @@ void screen::cycleWindow(const bool forward, const bool allscreens, target = begin; } else { ++target; - if (target == end) - target = begin; } } else { if (target == begin) @@ -503,6 +501,10 @@ void screen::cycleWindow(const bool forward, const bool allscreens, if (target == _active) return; + // start back at the beginning of the loop + if (target == end) + continue; + // determine if this window is invalid for cycling to const XWindow *t = *target; if (t->iconic()) continue;