all repos — fluxbox @ f176c108819be611371cf740663dec4f6352c8e8

custom fork of the fluxbox windowmanager

Grab Server when showing or switching desktop

Should reduce exposure events, notably since the
windows are not in stack order.
Thomas Lübking thomas.luebking@gmail.com
commit

f176c108819be611371cf740663dec4f6352c8e8

parent

9613d2cd83ce8a38f532246e432e01eec062bc13

2 files changed, 4 insertions(+), 0 deletions(-)

jump to
M src/Screen.ccsrc/Screen.cc

@@ -953,6 +953,7 @@ /* Ignore all EnterNotify events until the pointer actually moves */

this->focusControl().ignoreAtPointer(); FbTk::App::instance()->sync(false); + XGrabServer(Fluxbox::instance()->display()); FluxboxWindow *focused = FocusControl::focusedFbWindow();

@@ -990,6 +991,7 @@ FocusControl::revertFocus(*this);

old->hideAll(false); + XUngrabServer(Fluxbox::instance()->display()); FbTk::App::instance()->sync(false); m_currentworkspace_sig.emit(*this);
M src/WorkspaceCmd.ccsrc/WorkspaceCmd.cc

@@ -602,6 +602,7 @@ std::list<Focusable *>::const_iterator it = wins.begin(),

it_end = wins.end(); unsigned int space = screen->currentWorkspaceID(); unsigned int count = 0; + XGrabServer(Fluxbox::instance()->display()); for (; it != it_end; ++it) { if (!(*it)->fbwindow()->isIconic() && ((*it)->fbwindow()->isStuck() || (*it)->fbwindow()->workspaceNumber() == space) &&

@@ -621,6 +622,7 @@ (*iconit)->deiconify(false);

} } else FocusControl::revertFocus(*screen); + XUngrabServer(Fluxbox::instance()->display()); }