X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fevent.c;h=0d67fce027b2970462dd2f830681feb576fa7557;hb=f458d66c7e2f7ea16a3c57b7fa00c9992ec4592c;hp=9701ad62bd2bb81a6ff2a9d074077a630197993e;hpb=fd77a0a7b3f892925f203287b8b46c6ec9be94ea;p=chaz%2Fopenbox diff --git a/openbox/event.c b/openbox/event.c index 9701ad62..0d67fce0 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -709,7 +709,7 @@ static void event_process(const XEvent *ec, gpointer data) /* ...or it if it was physically on an openbox internal window... */ ((w = window_find(e->xbutton.subwindow)) && - WINDOW_IS_INTERNAL(w))) + (WINDOW_IS_INTERNAL(w) || WINDOW_IS_DOCK(w)))) /* ...then process the event, otherwise ignore it */ { used = event_handle_user_input(client, e); @@ -1712,12 +1712,6 @@ static void event_handle_client(ObClient *client, XEvent *e) static void event_handle_dock(ObDock *s, XEvent *e) { switch (e->type) { - case ButtonPress: - if (e->xbutton.button == 1) - stacking_raise(DOCK_AS_WINDOW(s)); - else if (e->xbutton.button == 2) - stacking_lower(DOCK_AS_WINDOW(s)); - break; case EnterNotify: dock_hide(FALSE); break; @@ -1798,8 +1792,9 @@ static gboolean event_handle_menu_input(XEvent *ev) if (ev->type == ButtonRelease || ev->type == ButtonPress) { ObMenuEntryFrame *e; - if (menu_hide_delay_reached() && - (ev->xbutton.button < 4 || ev->xbutton.button > 5)) + if ((ev->xbutton.button < 4 || ev->xbutton.button > 5) && + ((ev->type == ButtonRelease && menu_hide_delay_reached()) || + ev->type == ButtonPress)) { if ((e = menu_entry_frame_under(ev->xbutton.x_root, ev->xbutton.y_root))) @@ -1810,23 +1805,11 @@ static gboolean event_handle_menu_input(XEvent *ev) if (ev->type == ButtonRelease) menu_entry_frame_execute(e, ev->xbutton.state); } - else if (ev->type == ButtonRelease) + else menu_frame_hide_all(); } ret = TRUE; } - else if (ev->type == MotionNotify) { - ObMenuFrame *f; - ObMenuEntryFrame *e; - - if ((e = menu_entry_frame_under(ev->xmotion.x_root, - ev->xmotion.y_root))) - if (!(f = find_active_menu()) || - f == e->frame || - f->parent == e->frame || - f->child == e->frame) - menu_frame_select(e->frame, e, FALSE); - } else if (ev->type == KeyPress || ev->type == KeyRelease) { guint mods; ObMenuFrame *frame; @@ -2219,7 +2202,7 @@ gboolean event_time_after(guint32 t1, guint32 t2) gboolean find_timestamp(XEvent *e, gpointer data) { const Time t = event_get_timestamp(e); - if (t > event_curtime) { + if (t >= event_curtime) { event_curtime = t; return TRUE; }