X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FWorkspace.cc;h=4f84cfa7e306587dbae4deb72a9dd9ec39226c7c;hb=ea02ab8caeb7ddde971f4553ff3589e17d19421f;hp=f4a09680ac4e3c5e587c003ef009077217026cfd;hpb=9e7f5d2208649a441a11c9912d10604769f72189;p=chaz%2Fopenbox diff --git a/src/Workspace.cc b/src/Workspace.cc index f4a09680..4f84cfa7 100644 --- a/src/Workspace.cc +++ b/src/Workspace.cc @@ -118,14 +118,6 @@ void Workspace::addWindow(BlackboxWindow *w, bool place, bool sticky) { raiseWindow(w); else lowerWindow(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); - } } @@ -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(); } }