watch for case where not all screens get managed!
Dana Jansens danakj@orodu.net
1 files changed,
10 insertions(+),
2 deletions(-)
jump to
M
util/epist/epist.cc
→
util/epist/epist.cc
@@ -83,8 +83,8 @@ cout << "No compatible window manager found on any screens. Aborting.\n";
::exit(1); } - addAction(Action::nextWorkspace, ControlMask, "Tab"); - addAction(Action::prevWorkspace, ControlMask | ShiftMask, "Tab"); + addAction(Action::nextScreen, ControlMask, "Tab"); + addAction(Action::prevScreen, ControlMask | ShiftMask, "Tab"); addAction(Action::nextWindow, Mod1Mask, "Tab"); addAction(Action::prevWindow, Mod1Mask | ShiftMask, "Tab"); addAction(Action::toggleshade, Mod1Mask, "F5");@@ -204,6 +204,14 @@ }
void epist::cycleScreen(int current, bool forward) const { + unsigned int i; + for (i = 0; i < _screens.size(); ++i) + if (_screens[i]->number() == current) { + current = i; + break; + } + assert(i < _screens.size()); // current is for an unmanaged screen + int dest = current + (forward ? 1 : -1); if (dest < 0) dest = (signed)_screens.size() - 1;