don't focus non-visible windows
This commit is contained in:
parent
961d7eb5b3
commit
a7515b6d85
2 changed files with 4 additions and 3 deletions
|
@ -1541,8 +1541,8 @@ void BlackboxWindow::configureShape(void) {
|
||||||
bool BlackboxWindow::setInputFocus(void) {
|
bool BlackboxWindow::setInputFocus(void) {
|
||||||
if (flags.focused) return True;
|
if (flags.focused) return True;
|
||||||
|
|
||||||
assert((flags.stuck || // window must be on the current workspace or sticky
|
assert(flags.stuck || // window must be on the current workspace or sticky
|
||||||
blackbox_attrib.workspace == screen->getCurrentWorkspaceID()));
|
blackbox_attrib.workspace == screen->getCurrentWorkspaceID());
|
||||||
|
|
||||||
/*
|
/*
|
||||||
We only do this check for normal windows and dialogs because other windows
|
We only do this check for normal windows and dialogs because other windows
|
||||||
|
|
|
@ -328,7 +328,8 @@ void Blackbox::process_event(XEvent *e) {
|
||||||
focus = True;
|
focus = True;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (focus && (win->isTransient() || win->getScreen()->doFocusNew()))
|
if (focus && (win->isTransient() || win->getScreen()->doFocusNew()) &&
|
||||||
|
win->isVisible())
|
||||||
win->setInputFocus();
|
win->setInputFocus();
|
||||||
} else {
|
} else {
|
||||||
BScreen *screen = searchScreen(e->xmaprequest.parent);
|
BScreen *screen = searchScreen(e->xmaprequest.parent);
|
||||||
|
|
Loading…
Reference in a new issue