diff options
| author | Dana Jansens <danakj@orodu.net> | 2002-07-20 17:00:36 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2002-07-20 17:00:36 +0000 |
| commit | 6d403febc6fe6c29728d013280756f7951f195db (patch) | |
| tree | 140790c26ee6c1e717409637cdfeaccf5034ffb1 /util | |
| parent | 7d67f8557b3254aeb370a995f417c86606e8a67d (diff) | |
let you specify the class for cycling windows per class
Diffstat (limited to 'util')
| -rw-r--r-- | util/epist/screen.cc | 14 | ||||
| -rw-r--r-- | util/epist/screen.hh | 3 |
2 files changed, 9 insertions, 8 deletions
diff --git a/util/epist/screen.cc b/util/epist/screen.cc index 64dccf79..3f78c51f 100644 --- a/util/epist/screen.cc +++ b/util/epist/screen.cc @@ -186,19 +186,19 @@ void screen::handleKeypress(const XEvent &e) { return; case Action::nextWindowOfClass: - cycleWindow(true, false, true); + cycleWindow(true, false, true, it->string()); return; case Action::prevWindowOfClass: - cycleWindow(false, false, true); + cycleWindow(false, false, true, it->string()); return; case Action::nextWindowOfClassOnAllWorkspaces: - cycleWindow(true, true, true); + cycleWindow(true, true, true, it->string()); return; case Action::prevWindowOfClassOnAllWorkspaces: - cycleWindow(false, true, true); + cycleWindow(false, true, true, it->string()); return; case Action::changeWorkspace: @@ -393,15 +393,15 @@ void screen::execCommand(const std::string &cmd) const { void screen::cycleWindow(const bool forward, const bool alldesktops, - const bool sameclass) const { + const bool sameclass, const string &cn) const { assert(_managed); if (_clients.empty()) return; WindowList::const_iterator target = _active; - string classname; - if (sameclass && target != _clients.end()) + string classname = cn; + if (sameclass && classname.empty() && target != _clients.end()) classname = (*target)->appClass(); if (target == _clients.end()) diff --git a/util/epist/screen.hh b/util/epist/screen.hh index 1f0a3875..4c3a47c2 100644 --- a/util/epist/screen.hh +++ b/util/epist/screen.hh @@ -74,7 +74,8 @@ public: void handleKeypress(const XEvent &e); void cycleWindow(const bool forward, const bool alldesktops = false, - const bool sameclass = false) const; + const bool sameclass = false, + const std::string &classname = "") const; void cycleWorkspace(const bool forward, const bool loop = true) const; void changeWorkspace(const int num) const; void toggleShaded(const Window win) const; |
