all repos — fluxbox @ bed4ba4d65dba0d12a8352a46436f25ce3d0e7d1

custom fork of the fluxbox windowmanager

a little fix for focusing lowered tabs on other workspaces
markt markt
commit

bed4ba4d65dba0d12a8352a46436f25ce3d0e7d1

parent

5d7043320da1378e7dd3b10f7e425f3b47455b28

3 files changed, 5 insertions(+), 5 deletions(-)

jump to
M src/Screen.ccsrc/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.hhsrc/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.ccsrc/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()) {