let you specify the class for cycling windows per class
This commit is contained in:
parent
7d67f8557b
commit
6d403febc6
2 changed files with 9 additions and 8 deletions
|
@ -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())
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue