]> Dogcows Code - chaz/openbox/blobdiff - util/epist/screen.cc
remove a debug cout
[chaz/openbox] / util / epist / screen.cc
index 2a4d5a7078fc06a19da7cdb50d1c8c1a2fb9c240..281a093e3aa10745bee6978eb301b5a6b6302670 100644 (file)
@@ -60,9 +60,6 @@ screen::screen(epist *epist, int number)
   _info = _epist->getScreenInfo(_number);
   _root = _info->getRootWindow();
   
-  cout << "root window on screen " << _number << ": 0x" << hex << _root << 
-    dec << endl;
-  
   // find a window manager supporting NETWM, waiting for it to load if we must
   int count = 20;  // try for 20 seconds
   _managed = false;
@@ -421,7 +418,8 @@ const XWindow *screen::lastActiveWindow() const {
   // find a window if one exists
   WindowList::const_iterator it, end = _clients.end();
   for (it = _clients.begin(); it != end; ++it)
-    if ((*it)->getScreen() == this)
+    if ((*it)->getScreen() == this && ! (*it)->iconic() &&
+        ((*it)->desktop() == 0xffffffff || (*it)->desktop() == _active_desktop))
       return *it;
 
   // no windows on this screen
@@ -444,7 +442,8 @@ void screen::updateActiveWindow() {
     }
   }
   _active = it;
-  _last_active = it;
+  if (it != end)
+    _last_active = it;
 
 /*  cout << "Active window is now: ";
   if (_active == _clients.end()) cout << "None\n";
@@ -514,7 +513,9 @@ void screen::cycleWindow(const bool forward, const bool allscreens,
       return;
   } while ((*target)->iconic() ||
            (! allscreens && (*target)->getScreen() != this) ||
-           (! alldesktops && (*target)->desktop() != _active_desktop) ||
+           (! alldesktops &&
+            (*target)->desktop() != _active_desktop &&
+            (*target)->desktop() != 0xffffffff) ||
            (sameclass && ! classname.empty() &&
             (*target)->appClass() != classname));
   
This page took 0.021064 seconds and 4 git commands to generate.