smarter window cycling, behave with omnipresent windows

This commit is contained in:
Dana Jansens 2002-07-24 09:39:18 +00:00
parent d18f6a4b55
commit 746c37b24b

View file

@ -444,7 +444,8 @@ void screen::updateActiveWindow() {
} }
} }
_active = it; _active = it;
_last_active = it; if (it != end)
_last_active = it;
/* cout << "Active window is now: "; /* cout << "Active window is now: ";
if (_active == _clients.end()) cout << "None\n"; if (_active == _clients.end()) cout << "None\n";
@ -514,7 +515,9 @@ void screen::cycleWindow(const bool forward, const bool allscreens,
return; return;
} while ((*target)->iconic() || } while ((*target)->iconic() ||
(! allscreens && (*target)->getScreen() != this) || (! allscreens && (*target)->getScreen() != this) ||
(! alldesktops && (*target)->desktop() != _active_desktop) || (! alldesktops &&
(*target)->desktop() != _active_desktop &&
(*target)->desktop() != 0xffffffff) ||
(sameclass && ! classname.empty() && (sameclass && ! classname.empty() &&
(*target)->appClass() != classname)); (*target)->appClass() != classname));