summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-07-16 04:18:13 +0000
committerDana Jansens <danakj@orodu.net>2002-07-16 04:18:13 +0000
commit315f1d107aded0ad2399292f2900c7fd46791ab2 (patch)
treeb6fdef18a4aa688131697be1c4e520eb5982dbff /src
parent7427fe1b9c7eabccdece941c70403a0fef1349b0 (diff)
switch workspaces if neccessary for a NET_WM_ACTIVE_WINDOW ClientMessage
Diffstat (limited to 'src')
-rw-r--r--src/blackbox.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/blackbox.cc b/src/blackbox.cc
index 4a1aebc8..ba0b0747 100644
--- a/src/blackbox.cc
+++ b/src/blackbox.cc
@@ -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);