+ screen->getBlackbox()->setFocusedWindow(newfocus);
+ } else {
+ // The window is not on the visible workspace.
+
+ if (old_window && lastfocus == old_window) {
+ // The window was the last-focus target, so we need to replace it.
+ BlackboxWindow *win = (BlackboxWindow*) 0;
+ if (! stackingList.empty())
+ win = stackingList.front();
+ setLastFocusedWindow(win);
+ }
+ }
+}
+
+
+void Workspace::setFocused(const BlackboxWindow *w, bool focused) {
+ BlackboxWindowList::iterator it, end = windowList.end();
+ int i;
+ for (i = 0, it = windowList.begin(); it != end; ++it, ++i)
+ if (*it == w)
+ break;
+ // if its == end, then a window thats not in the windowList
+ // got focused, such as a !isNormal() window.
+ if (it != end)
+ clientmenu->setItemSelected(i, focused);