diff --git a/src/Ewmh.cc b/src/Ewmh.cc index 96ba209c..97c66b83 100644 --- a/src/Ewmh.cc +++ b/src/Ewmh.cc @@ -773,7 +773,8 @@ bool Ewmh::checkClientMessage(const XClientMessageEvent &ce, // if the raised window is on a different workspace // we do what the user wish: // either ignore|go to that workspace|get the window - if (fbwin->screen().currentWorkspaceID() != fbwin->workspaceNumber()) { + if (fbwin->screen().currentWorkspaceID() != fbwin->workspaceNumber() + && !fbwin->isStuck()) { BScreen::FollowModel model = (ce.data.l[0] == 2) ? fbwin->screen().getUserFollowModel() : fbwin->screen().getFollowModel(); diff --git a/src/Workspace.cc b/src/Workspace.cc index 2ee27682..83db8efe 100644 --- a/src/Workspace.cc +++ b/src/Workspace.cc @@ -104,7 +104,8 @@ public: return; FluxboxWindow &win = *m_client.fbwindow(); - if (win.screen().currentWorkspaceID() != win.workspaceNumber()) { + if (win.screen().currentWorkspaceID() != win.workspaceNumber() && + !win.isStuck()) { win.menu().hide(); BScreen::FollowModel model = win.screen().getUserFollowModel(); if (model == BScreen::IGNORE_OTHER_WORKSPACES)