]> Dogcows Code - chaz/openbox/blobdiff - src/blackbox.cc
switch workspaces if neccessary for a NET_WM_ACTIVE_WINDOW ClientMessage
[chaz/openbox] / src / blackbox.cc
index 4a1aebc8b4d282190fdf5365b707e67a8be614db..ba0b07478d2b79a12fa5b369aec9fef442711d00 100644 (file)
@@ -717,10 +717,14 @@ void Blackbox::process_event(XEvent *e) {
         BlackboxWindow *win = searchWindow(e->xclient.window);
 
         if (win) {
+          BScreen *screen = win->getScreen();
+
           if (win->isIconic())
             win->deiconify(False, True);
           if (win->isShaded())
             win->shade();
+          if (win->getWorkspaceNumber() != screen->getCurrentWorkspaceID())
+            screen->changeWorkspaceID(win->getWorkspaceNumber());
           if (win->isVisible() && win->setInputFocus()) {
             win->getScreen()->getWorkspace(win->getWorkspaceNumber())->
               raiseWindow(win);
This page took 0.020508 seconds and 4 git commands to generate.