X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FWorkspace.cc;h=4f84cfa7e306587dbae4deb72a9dd9ec39226c7c;hb=ea02ab8caeb7ddde971f4553ff3589e17d19421f;hp=70d1923c83788fe89bd6ec9f1a86ea65ad2fa1f5;hpb=86af1224bd80ed987f9c2389efa9bf9744ebada8;p=chaz%2Fopenbox diff --git a/src/Workspace.cc b/src/Workspace.cc index 70d1923c..4f84cfa7 100644 --- a/src/Workspace.cc +++ b/src/Workspace.cc @@ -85,14 +85,6 @@ void Workspace::addWindow(BlackboxWindow *w, bool place, bool sticky) { stackingList.push_front(w); - // if the window is sticky, then it needs to be added on all other - // workspaces too! - if (! sticky && w->isStuck()) { - for (unsigned int i = 0; i < screen->getWorkspaceCount(); ++i) - if (i != id) - screen->getWorkspace(i)->addWindow(w, place, True); - } - if (w->isNormal()) { if (! sticky) { w->setWorkspace(id); @@ -140,14 +132,6 @@ void Workspace::removeWindow(BlackboxWindow *w, bool sticky) { focusFallback(w); } - // if the window is sticky, then it needs to be removed on all other - // workspaces too! - if (! sticky && w->isStuck()) { - for (unsigned int i = 0; i < screen->getWorkspaceCount(); ++i) - if (i != id) - screen->getWorkspace(i)->removeWindow(w, True); - } - if (! w->isNormal()) return; BlackboxWindowList::iterator it, end = windowList.end(); @@ -243,7 +227,10 @@ void Workspace::showAll(void) { const BlackboxWindowList::iterator end = stackingList.end(); for (; it != end; ++it) { BlackboxWindow *bw = *it; - bw->show(); + // not normal windows cant focus from mouse enters anyways, so we dont + // need to unmap/remap them on workspace changes + if (! bw->isStuck() || bw->isNormal()) + bw->show(); } } @@ -256,7 +243,10 @@ void Workspace::hideAll(void) { BlackboxWindow *bw = *it; ++it; // withdraw removes the current item from the list so we need the next // iterator before that happens - bw->withdraw(); + // not normal windows cant focus from mouse enters anyways, so we dont + // need to unmap/remap them on workspace changes + if (! bw->isStuck() || bw->isNormal()) + bw->withdraw(); } }