diff options
| author | Dana Jansens <danakj@orodu.net> | 2002-07-16 03:50:55 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2002-07-16 03:50:55 +0000 |
| commit | 1d4391b09c12a0615bb6be65f9af514db4eed709 (patch) | |
| tree | 6fc4c3d2bd9b189f885d4bc6c571107434e8c962 /src | |
| parent | fb613db29ffcf1539c91f0ac0ca5d25cb4e593b5 (diff) | |
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
Diffstat (limited to 'src')
| -rw-r--r-- | src/Window.cc | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/Window.cc b/src/Window.cc index 017093e6..23bc9800 100644 --- a/src/Window.cc +++ b/src/Window.cc @@ -1579,12 +1579,18 @@ bool BlackboxWindow::setInputFocus(void) { return True; } #endif - 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()); - } + /* + We only do this check for normal windows and dialogs because other windows + do this on purpose, such as kde's kicker, and we don't want to go moving + it. + */ + 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) { // transfer focus to any modal transients |
