]> Dogcows Code - chaz/openbox/commitdiff
let you specify the class for cycling windows per class
authorDana Jansens <danakj@orodu.net>
Sat, 20 Jul 2002 17:00:36 +0000 (17:00 +0000)
committerDana Jansens <danakj@orodu.net>
Sat, 20 Jul 2002 17:00:36 +0000 (17:00 +0000)
util/epist/screen.cc
util/epist/screen.hh

index 64dccf797f54605e22eb7b9bc5b8fd3bda14b5a8..3f78c51ff576085799a6bf9b73d66ff3926412bd 100644 (file)
@@ -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())
index 1f0a387591ab9f44cb4ff849d23ac11ebc3c4a48..4c3a47c2f89a5c8b7387f6fbb28808e3bab9a18c 100644 (file)
@@ -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;
This page took 0.028284 seconds and 4 git commands to generate.