all repos — openbox @ 1d4391b09c12a0615bb6be65f9af514db4eed709

openbox fork - make it a bit more like ryudo

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
Dana Jansens danakj@orodu.net
commit

1d4391b09c12a0615bb6be65f9af514db4eed709

parent

fb613db29ffcf1539c91f0ac0ca5d25cb4e593b5

1 files changed, 12 insertions(+), 6 deletions(-)

jump to
M src/Window.ccsrc/Window.cc

@@ -1579,12 +1579,18 @@ wkspc->setLastFocusedWindow(this);

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