all repos — openbox @ b114ec71813a666f20b38b6086e0a50d12dc6c29

openbox fork - make it a bit more like ryudo

dont let you do mouse events on any animating window. also fix root window mouse events..
Dana Jansens danakj@orodu.net
commit

b114ec71813a666f20b38b6086e0a50d12dc6c29

parent

378adaa94f0fac07dc65f0531e950c7ec8944cdf

1 files changed, 14 insertions(+), 3 deletions(-)

jump to
M openbox/event.copenbox/event.c

@@ -810,8 +810,19 @@ if (ce.xconfigurerequest.value_mask & CWStackMode)

e->xconfigurerequest.detail = ce.xconfigurerequest.detail; } - /* if we are iconic (or shaded (fvwm does this)) ignore the event */ - if (client->iconic || client->shaded) return; + ob_debug("ConfigureRequest desktop %d wmstate %d vis %d\n", + screen_desktop, client->wmstate, client->frame->visible); + + /* If the client is in IconicState then ignore the event. + This used to only ignore iconic or shaded windows, but windows on + other desktops are also in IconicState, so now those can't + send ConfigureRequests either.. + This fixes the bug of KDE apps moving when they try to active them- + selves on another desktop. + It used to say "fvwm does this" but I'm not sure if fvwm does + this for windows on other desktops too. Probably, it makes sense. + */ + if (client->wmstate == IconicState) return; /* resize, then move, as specified in the EWMH section 7.7 */ if (e->xconfigurerequest.value_mask & (CWWidth | CWHeight |

@@ -1386,7 +1397,7 @@ e->type == MotionNotify)

{ /* the frame may not be "visible" but they can still click on it in the case where it is animating before disappearing */ - if (client && client->frame->visible) + if (!client || !frame_iconify_animating(client->frame)) mouse_event(client, e); } else if (e->type == KeyPress) { keyboard_event((focus_cycle_target ? focus_cycle_target :