dont let you do mouse events on any animating window. also fix root window mouse events..
Dana Jansens danakj@orodu.net
1 files changed,
14 insertions(+),
3 deletions(-)
jump to
M
openbox/event.c
→
openbox/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 :