dont reposition non-normal/dialog windows when they get focus, such as kde's kicker, if they are off screen. they are special and may be doing this on purpose
This commit is contained in:
parent
fb613db29f
commit
1d4391b09c
1 changed files with 12 additions and 6 deletions
|
@ -1579,12 +1579,18 @@ bool BlackboxWindow::setInputFocus(void) {
|
||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (! frame.rect.intersects(screen->getRect())) {
|
/*
|
||||||
// client is outside the screen, move it to the center
|
We only do this check for normal windows and dialogs because other windows
|
||||||
configure((screen->getWidth() - frame.rect.width()) / 2,
|
do this on purpose, such as kde's kicker, and we don't want to go moving
|
||||||
(screen->getHeight() - frame.rect.height()) / 2,
|
it.
|
||||||
frame.rect.width(), frame.rect.height());
|
*/
|
||||||
}
|
if (window_type == Type_Normal || window_type == Type_Dialog)
|
||||||
|
if (! frame.rect.intersects(screen->getRect())) {
|
||||||
|
// client is outside the screen, move it to the center
|
||||||
|
configure((screen->getWidth() - frame.rect.width()) / 2,
|
||||||
|
(screen->getHeight() - frame.rect.height()) / 2,
|
||||||
|
frame.rect.width(), frame.rect.height());
|
||||||
|
}
|
||||||
|
|
||||||
if (client.transientList.size() > 0) {
|
if (client.transientList.size() > 0) {
|
||||||
// transfer focus to any modal transients
|
// transfer focus to any modal transients
|
||||||
|
|
Loading…
Reference in a new issue