don't focus non-visible windows

This commit is contained in:
Dana Jansens 2002-07-30 07:17:07 +00:00
parent 961d7eb5b3
commit a7515b6d85
2 changed files with 4 additions and 3 deletions

View file

@ -1541,8 +1541,8 @@ void BlackboxWindow::configureShape(void) {
bool BlackboxWindow::setInputFocus(void) {
if (flags.focused) return True;
assert((flags.stuck || // window must be on the current workspace or sticky
blackbox_attrib.workspace == screen->getCurrentWorkspaceID()));
assert(flags.stuck || // window must be on the current workspace or sticky
blackbox_attrib.workspace == screen->getCurrentWorkspaceID());
/*
We only do this check for normal windows and dialogs because other windows

View file

@ -328,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);