X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=util%2Fepist%2Fepist.cc;h=9db7c1bb4e3f58f32cca5e069dc6418e186ee339;hb=8e38989ee8533c364a7f407bdafef351d9f1823e;hp=f3084e8c9aecbbabb3146718eac9e2fb8b6bfe33;hpb=28594da6de001f1d8b6b975286032302db3a6491;p=chaz%2Fopenbox diff --git a/util/epist/epist.cc b/util/epist/epist.cc index f3084e8c..9db7c1bb 100644 --- a/util/epist/epist.cc +++ b/util/epist/epist.cc @@ -83,8 +83,8 @@ epist::epist(char **argv, char *dpy_name, char *rc_file) ::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 @@ XWindow *epist::findWindow(Window window) const { 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; @@ -223,7 +231,7 @@ void epist::addAction(Action::ActionType act, unsigned int modifiers, void epist::addAction(Action::ActionType act, unsigned int modifiers, - string key, std::string str) { + string key, string str) { _actions.push_back(Action(act, XKeysymToKeycode(getXDisplay(), XStringToKeysym(key.c_str())), modifiers, str));