summaryrefslogtreecommitdiff
path: root/util/epist
diff options
context:
space:
mode:
Diffstat (limited to 'util/epist')
-rw-r--r--util/epist/screen.cc20
1 files changed, 11 insertions, 9 deletions
diff --git a/util/epist/screen.cc b/util/epist/screen.cc
index 982c2173..416bb9bd 100644
--- a/util/epist/screen.cc
+++ b/util/epist/screen.cc
@@ -541,16 +541,18 @@ void screen::updateActiveWindow() {
_active = it;
- /* if we're not cycling and a window gets focus, add it to the top of the
- * cycle stack.
- */
- if (_stacked_cycling && !_cycling) {
- _clients.remove(*_active);
- _clients.push_front(*_active);
- }
+ if (_active != end) {
+ /* if we're not cycling and a window gets focus, add it to the top of the
+ * cycle stack.
+ */
+ if (_stacked_cycling && !_cycling) {
+ _clients.remove(*_active);
+ _clients.push_front(*_active);
+ _active = _clients.begin();
+ }
- if (it != end)
- _last_active = it;
+ _last_active = _active;
+ }
/* cout << "Active window is now: ";
if (_active == _clients.end()) cout << "None\n";