case PropertyNotify: {
last_time = e->xproperty.time;
- BlackboxWindow *win = searchWindow(e->xproperty.window);
- if (win)
+ BlackboxWindow *win = (BlackboxWindow *) 0;
+ BScreen *screen = (BScreen *) 0;
+
+ if ((win = searchWindow(e->xproperty.window)))
win->propertyNotifyEvent(&e->xproperty);
+ else if ((screen = searchScreen(e->xproperty.window)))
+ screen->propertyNotifyEvent(&e->xproperty);
break;
}
if (screen && workspace < screen->getWorkspaceCount())
screen->changeWorkspaceID(workspace);
} else if (e->xclient.message_type ==
- xatom->getAtom(XAtom::blackbox_change_window_focus) ||
- e->xclient.message_type ==
+ xatom->getAtom(XAtom::blackbox_change_window_focus)) {
+ // TEMP HACK TO KEEP BBKEYS WORKING
+ BlackboxWindow *win = searchWindow(e->xclient.window);
+
+ if (win && win->isVisible() && win->setInputFocus())
+ win->installColormap(True);
+ } else if (e->xclient.message_type ==
xatom->getAtom(XAtom::net_active_window)) {
// NET_ACTIVE_WINDOW
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);
+ win->getScreen()->getWorkspace(win->getWorkspaceNumber())->
+ raiseWindow(win);
win->installColormap(True);
}
}