all repos — openbox @ c04cb76409820b3fa7543a49d21521907d1c9377

openbox fork - make it a bit more like ryudo

- raise the window during maximization if the user clicked the maximize button, but otherwise don't

- two fixes here.  1) only raise window in maximize if the window is focused, 2) remap window on reparent event
Dana Jansens danakj@orodu.net
commit

c04cb76409820b3fa7543a49d21521907d1c9377

parent

2f65b6533c41e392a72ccfd70ba486214cd9ee36

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

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

@@ -1442,9 +1442,11 @@

blackbox_attrib.flags &= ! (AttribMaxHoriz | AttribMaxVert); blackbox_attrib.attrib &= ! (AttribMaxHoriz | AttribMaxVert); - // when a resize is begun, maximize(0) is called to clear any maximization - // flags currently set. Otherwise it still thinks it is maximized. - // so we do not need to call configure() because resizing will handle it + /* + when a resize is begun, maximize(0) is called to clear any maximization + flags currently set. Otherwise it still thinks it is maximized. + so we do not need to call configure() because resizing will handle it + */ if (!flags.resizing) configure(blackbox_attrib.premax_x, blackbox_attrib.premax_y, blackbox_attrib.premax_w, blackbox_attrib.premax_h);

@@ -1499,7 +1501,8 @@ flags.maximized = button;

configure(frame.changing.x(), frame.changing.y(), frame.changing.width(), frame.changing.height()); - screen->getWorkspace(blackbox_attrib.workspace)->raiseWindow(this); + if (flags.focused) + screen->getWorkspace(blackbox_attrib.workspace)->raiseWindow(this); redrawAllButtons(); setState(current_state); }

@@ -2640,8 +2643,10 @@

XSetWindowBorderWidth(blackbox->getXDisplay(), client.window, client.old_bw); XEvent ev; - if (! XCheckTypedWindowEvent(blackbox->getXDisplay(), client.window, - ReparentNotify, &ev)) { + if (XCheckTypedWindowEvent(blackbox->getXDisplay(), client.window, + ReparentNotify, &ev)) { + remap = True; + } else { // according to the ICCCM - if the client doesn't reparent to // root, then we have to do it for them XReparentWindow(blackbox->getXDisplay(), client.window,