X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fblackbox.cc;h=0e03e17817ebc9289f31b5d89bb8a95a92ad10da;hb=39bd954b8bf197fa08f73ffade953fe531463796;hp=cdc7137a0b07291674e1c6aa37af67e723fb0ddb;hpb=d18f6a4b55424db875e8afb744e9b3251433a9cb;p=chaz%2Fopenbox diff --git a/src/blackbox.cc b/src/blackbox.cc index cdc7137a..0e03e178 100644 --- a/src/blackbox.cc +++ b/src/blackbox.cc @@ -282,16 +282,6 @@ void Blackbox::process_event(XEvent *e) { } case ConfigureRequest: { - // compress configure requests... - XEvent realevent; - unsigned int i = 0; - while(XCheckTypedWindowEvent(getXDisplay(), e->xconfigurerequest.window, - ConfigureRequest, &realevent)) { - i++; - } - if ( i > 0 ) - e = &realevent; - BlackboxWindow *win = (BlackboxWindow *) 0; Slit *slit = (Slit *) 0; @@ -338,7 +328,8 @@ void Blackbox::process_event(XEvent *e) { focus = True; } - if (focus && (win->isTransient() || win->getScreen()->doFocusNew())) + if (focus && (win->isTransient() || win->getScreen()->doFocusNew()) && + win->isVisible()) win->setInputFocus(); } else { BScreen *screen = searchScreen(e->xmaprequest.parent); @@ -496,7 +487,7 @@ void Blackbox::process_event(XEvent *e) { if (win->getScreen()->isSloppyFocus() && (! win->isFocused()) && (! no_focus) && win->isNormal()) { // don't focus non-normal windows with mouseover - if (((! sa.leave) || sa.inferior) && win->isVisible()) { + if ((! sa.leave || sa.inferior) && win->isVisible()) { if (win->setInputFocus()) win->installColormap(True); // XXX: shouldnt we honour no install? } @@ -722,7 +713,8 @@ void Blackbox::process_event(XEvent *e) { if (win->isIconic()) win->deiconify(False, True); - if (win->getWorkspaceNumber() != screen->getCurrentWorkspaceID()) + if (! win->isStuck() && + (win->getWorkspaceNumber() != screen->getCurrentWorkspaceID())) screen->changeWorkspaceID(win->getWorkspaceNumber()); if (win->isVisible() && win->setInputFocus()) { win->getScreen()->getWorkspace(win->getWorkspaceNumber())->