a little fix for focusing lowered tabs on other workspaces
markt markt
3 files changed,
5 insertions(+),
5 deletions(-)
M
src/Screen.cc
→
src/Screen.cc
@@ -1185,7 +1185,7 @@ return m_workspaces_list.size();
} -void BScreen::changeWorkspaceID(unsigned int id) { +void BScreen::changeWorkspaceID(unsigned int id, bool revert) { if (! m_current_workspace || id >= m_workspaces_list.size() || id == m_current_workspace->workspaceID())@@ -1228,7 +1228,7 @@
if (focused && focused->isMoving()) { focused->focus(); focused->resumeMoving(); - } else + } else if (revert) FocusControl::revertFocus(*this); old->hideAll(false);@@ -1257,7 +1257,7 @@ reassociateWindow(win, id, true);
// change workspace ? if (changeWS) - changeWorkspaceID(id); + changeWorkspaceID(id, false); // if the window is on current workspace, show it; else hide it. if (id == currentWorkspace()->workspaceID() && !win->isIconic())
M
src/Screen.hh
→
src/Screen.hh
@@ -360,7 +360,7 @@ * @return name of the workspace
*/ std::string getNameOfWorkspace(unsigned int workspace) const; /// changes workspace to specified id - void changeWorkspaceID(unsigned int); + void changeWorkspaceID(unsigned int, bool revert = true); /** * Sends a window to a workspace * @param workspace the workspace id
M
src/Window.cc
→
src/Window.cc
@@ -1316,7 +1316,7 @@ (isIconic() && model == BScreen::SEMIFOLLOW_ACTIVE_WINDOW))
screen().sendToWorkspace(screen().currentWorkspaceID(), this, false); // warp to the workspace of the window else - screen().changeWorkspaceID(workspaceNumber()); + screen().changeWorkspaceID(workspaceNumber(), false); } if (isIconic()) {