all repos — fluxbox @ 50ab0a1e552faa1a33e4e4acdc3f3f851690a685

custom fork of the fluxbox windowmanager

do not handle configure request while iconified, fixes problem Wine with Paradise Poker client
fluxgen fluxgen
commit

50ab0a1e552faa1a33e4e4acdc3f3f851690a685

parent

cbcb2576d0ab22c3ac621694558a522fe567a47e

1 files changed, 8 insertions(+), 7 deletions(-)

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

@@ -566,7 +566,6 @@ if (!place_window)

moveResize(frame().x(), frame().y(), frame().width(), frame().height()); - screen().getWorkspace(m_workspace_number)->addWindow(*this, place_window); if (shaded) { // start shaded

@@ -1221,6 +1220,7 @@ if (!moving) {

m_last_resize_x = new_x; m_last_resize_y = new_y; } + } // returns whether the focus was "set" to this window

@@ -2058,6 +2058,7 @@ case ConfigureRequest:

#ifdef DEBUG cerr<<"ConfigureRequest("<<title()<<")"<<endl; #endif // DEBUG + configureRequestEvent(event.xconfigurerequest); break; case MapNotify:

@@ -2112,6 +2113,7 @@ }

} void FluxboxWindow::mapRequestEvent(XMapRequestEvent &re) { + // we're only concerned about client window event WinClient *client = findClient(re.window); if (client == 0) {

@@ -2124,10 +2126,9 @@

Fluxbox *fluxbox = Fluxbox::instance(); bool get_state_ret = getState(); - if (! (get_state_ret && fluxbox->isStartup())) { - if ((m_client->wm_hint_flags & StateHint) && m_current_state == 0) {// && + if (!(get_state_ret && fluxbox->isStartup())) { + if (m_client->wm_hint_flags & StateHint) m_current_state = m_client->initial_state; - } } else if (iconic) m_current_state = NormalState;

@@ -2325,7 +2326,6 @@ }

moveResize(frame().x(), frame().y(), frame().width(), frame().height()); - break; }

@@ -2361,7 +2361,7 @@

void FluxboxWindow::configureRequestEvent(XConfigureRequestEvent &cr) { WinClient *client = findClient(cr.window); - if (client == 0) + if (client == 0 || isIconic()) return; int cx = frame().x(), cy = frame().y(), ignore = 0;

@@ -2416,6 +2416,7 @@ }

} sendConfigureNotify(); + }

@@ -3154,7 +3155,7 @@ if (!interrupted) {

fixsize(); moveResize(m_last_resize_x, m_last_resize_y, - m_last_resize_w, m_last_resize_h); + m_last_resize_w, m_last_resize_h); } ungrabPointer(CurrentTime);