summaryrefslogtreecommitdiff
path: root/src/Window.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/Window.cc')
-rw-r--r--src/Window.cc15
1 files changed, 3 insertions, 12 deletions
diff --git a/src/Window.cc b/src/Window.cc
index 305f7f3..da1809d 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -1273,13 +1273,8 @@ bool FluxboxWindow::focus() {
1273 1273
1274 if (screen().currentWorkspaceID() != workspaceNumber() && !isStuck()) { 1274 if (screen().currentWorkspaceID() != workspaceNumber() && !isStuck()) {
1275 1275
1276 BScreen::FollowModel model = screen().getUserFollowModel(); 1276 // fetch the window to the current workspace if minimized
1277 if (model == BScreen::IGNORE_OTHER_WORKSPACES) 1277 if (isIconic())
1278 return false;
1279
1280 // fetch the window to the current workspace
1281 if (model == BScreen::FETCH_ACTIVE_WINDOW ||
1282 (isIconic() && model == BScreen::SEMIFOLLOW_ACTIVE_WINDOW))
1283 screen().sendToWorkspace(screen().currentWorkspaceID(), this, false); 1278 screen().sendToWorkspace(screen().currentWorkspaceID(), this, false);
1284 // warp to the workspace of the window 1279 // warp to the workspace of the window
1285 else 1280 else
@@ -2041,14 +2036,10 @@ bool FluxboxWindow::focusRequestFromClient(WinClient &from) {
2041 return false; 2036 return false;
2042 2037
2043 bool ret = true; 2038 bool ret = true;
2044 // check what to do if window is on another workspace
2045 if (screen().currentWorkspaceID() != workspaceNumber() && !isStuck() &&
2046 screen().getFollowModel() == BScreen::IGNORE_OTHER_WORKSPACES)
2047 ret = false;
2048 2039
2049 FluxboxWindow *cur = FocusControl::focusedFbWindow(); 2040 FluxboxWindow *cur = FocusControl::focusedFbWindow();
2050 WinClient *client = FocusControl::focusedWindow(); 2041 WinClient *client = FocusControl::focusedWindow();
2051 if (ret && cur && getRootTransientFor(&from) != getRootTransientFor(client)) 2042 if (cur && getRootTransientFor(&from) != getRootTransientFor(client))
2052 ret = !(cur->isFullscreen() && getOnHead() == cur->getOnHead()) && 2043 ret = !(cur->isFullscreen() && getOnHead() == cur->getOnHead()) &&
2053 !cur->isTyping(); 2044 !cur->isTyping();
2054 2045