X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fblackbox.cc;h=ba0b07478d2b79a12fa5b369aec9fef442711d00;hb=315f1d107aded0ad2399292f2900c7fd46791ab2;hp=3ec32d5208d5d1da86f47774c9ac2b54b1916d83;hpb=90dbcb271c5e6d7ca73c19a519b93885b833db0a;p=chaz%2Fopenbox diff --git a/src/blackbox.cc b/src/blackbox.cc index 3ec32d52..ba0b0747 100644 --- a/src/blackbox.cc +++ b/src/blackbox.cc @@ -705,17 +705,26 @@ void Blackbox::process_event(XEvent *e) { 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);