+
+void epist::cycleScreen(int current, bool forward) const {
+ int dest = current + (forward ? 1 : -1);
+
+ if (dest < 0) dest = (signed)_screens.size() - 1;
+ else if (dest >= (signed)_screens.size()) dest = 0;
+
+ const XWindow *target = _screens[dest]->lastActiveWindow();
+ if (target) target->focus();
+}
+
+