all repos — openbox @ 5e3ca8e66586a6dab4793cef04a3de98dc2ecfbe

openbox fork - make it a bit more like ryudo

don't click-to-place windows when they specify a position
Dana Jansens danakj@orodu.net
commit

5e3ca8e66586a6dab4793cef04a3de98dc2ecfbe

parent

4852193a578ea3c33f8685fd87322503c28e5544

2 files changed, 5 insertions(+), 4 deletions(-)

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

@@ -216,7 +216,7 @@ functions.resize = functions.maximize = False;

} upsize(); - Bool place_window = True; + place_window = true; if (openbox.isStartup() || flags.transient || client.normal_hint_flags & (PPosition|USPosition)) { setGravityOffsets();

@@ -226,7 +226,7 @@ (frame.x >= 0 &&

(signed) (frame.y + frame.y_border) >= 0 && frame.x <= (signed) screen->size().w() && frame.y <= (signed) screen->size().h())) - place_window = False; + place_window = false; } frame.window = createToplevelWindow(frame.x, frame.y, frame.width,

@@ -1467,8 +1467,8 @@ XMapWindow(display, frame.window);

// if we're using the click to place placement type, then immediately // after the window is mapped, we need to start interactively moving it - if (!(flags.iconic || reassoc) && - screen->placementPolicy() == BScreen::ClickMousePlacement) { + if (screen->placementPolicy() == BScreen::ClickMousePlacement && + place_window && !(flags.iconic || reassoc)) { // if the last window wasn't placed yet, or we're just moving a window // already, finish off that move cleanly OpenboxWindow *w = openbox.getFocusedWindow();
M src/Window.hsrc/Window.h

@@ -78,6 +78,7 @@ Windowmenu *windowmenu;

int window_number, workspace_number; unsigned long current_state; + bool place_window; // place the window ourselves when mapped enum FocusMode { F_NoInput = 0, F_Passive, F_LocallyActive, F_GloballyActive };