X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fevent.c;h=2a12d990781bd6fef6e8b35c12e663b438452cb5;hb=1b7e813c62a6e54690d15550d51ac4269e63f346;hp=8089792cc8748b630890f4f5a82a62fc92d99277;hpb=0813e4451d662e2ec162ef70216f641a6ebd93d0;p=chaz%2Fopenbox diff --git a/openbox/event.c b/openbox/event.c index 8089792c..2a12d990 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -22,6 +22,7 @@ #include "window.h" #include "openbox.h" #include "dock.h" +#include "actions.h" #include "client.h" #include "xerror.h" #include "prop.h" @@ -36,7 +37,6 @@ #include "propwin.h" #include "mouse.h" #include "mainloop.h" -#include "framerender.h" #include "focus.h" #include "focus_cycle.h" #include "moveresize.h" @@ -809,8 +809,7 @@ static void event_handle_client(ObClient *client, XEvent *e) want to deal with them */ if (!(e->xbutton.button == 4 || e->xbutton.button == 5) && - !keyboard_interactively_grabbed() && - !menu_frame_visible) + !grab_on_keyboard()) { /* use where the press occured */ con = frame_context(client, e->xbutton.window, px, py); @@ -823,23 +822,23 @@ static void event_handle_client(ObClient *client, XEvent *e) switch (con) { case OB_FRAME_CONTEXT_MAXIMIZE: client->frame->max_press = (e->type == ButtonPress); - framerender_frame(client->frame); + frame_adjust_state(client->frame); break; case OB_FRAME_CONTEXT_CLOSE: client->frame->close_press = (e->type == ButtonPress); - framerender_frame(client->frame); + frame_adjust_state(client->frame); break; case OB_FRAME_CONTEXT_ICONIFY: client->frame->iconify_press = (e->type == ButtonPress); - framerender_frame(client->frame); + frame_adjust_state(client->frame); break; case OB_FRAME_CONTEXT_ALLDESKTOPS: client->frame->desk_press = (e->type == ButtonPress); - framerender_frame(client->frame); + frame_adjust_state(client->frame); break; case OB_FRAME_CONTEXT_SHADE: client->frame->shade_press = (e->type == ButtonPress); - framerender_frame(client->frame); + frame_adjust_state(client->frame); break; default: /* nothing changes with clicks for any other contexts */ @@ -957,7 +956,7 @@ static void event_handle_client(ObClient *client, XEvent *e) (e->type == EnterNotify ? "Enter" : "Leave"), e->xcrossing.mode, e->xcrossing.detail, (client?client->window:0)); - if (keyboard_interactively_grabbed()) + if (grab_on_keyboard()) break; if (config_focus_follow && config_focus_delay && /* leave inferior events can happen when the mouse goes onto @@ -1000,7 +999,7 @@ static void event_handle_client(ObClient *client, XEvent *e) frame_adjust_state(client->frame); break; case OB_FRAME_CONTEXT_FRAME: - if (keyboard_interactively_grabbed()) + if (grab_on_keyboard()) break; if (e->xcrossing.mode == NotifyGrab || e->xcrossing.mode == NotifyUngrab || @@ -1078,12 +1077,10 @@ static void event_handle_client(ObClient *client, XEvent *e) sibling = WINDOW_AS_CLIENT(win); } - /* activate it rather than just focus it */ if (!config_focus_under_mouse) ignore_start = event_start_ignore_all_enters(); stacking_restack_request(client, sibling, - e->xconfigurerequest.detail, - TRUE); + e->xconfigurerequest.detail); if (!config_focus_under_mouse) event_end_ignore_all_enters(ignore_start); @@ -1421,7 +1418,7 @@ static void event_handle_client(ObClient *client, XEvent *e) ignore_start = event_start_ignore_all_enters(); /* just raise, don't activate */ stacking_restack_request(client, sibling, - e->xclient.data.l[2], FALSE); + e->xclient.data.l[2]); if (!config_focus_under_mouse) event_end_ignore_all_enters(ignore_start); @@ -1532,7 +1529,7 @@ static void event_handle_client(ObClient *client, XEvent *e) #ifdef SHAPE if (extensions_shape && e->type == extensions_shape_event_basep) { client->shaped = ((XShapeEvent*)e)->shaped; - frame_adjust_shape(client->frame); + frame_adjust_area(client->frame, FALSE, TRUE, FALSE); } #endif } @@ -1795,9 +1792,7 @@ static void event_handle_user_input(ObClient *client, XEvent *e) /* if the keyboard interactive action uses the event then dont use it for bindings. likewise is moveresize uses the event. */ - if (!keyboard_process_interactive_grab(e, &client) && - !(moveresize_in_progress && moveresize_event(e))) - { + if (!actions_interactive_input_event(e) && !moveresize_event(e)) { if (moveresize_in_progress) /* make further actions work on the client being moved/resized */ @@ -1902,9 +1897,9 @@ static gboolean is_enter_focus_event_ignored(XEvent *e) void event_cancel_all_key_grabs() { - if (keyboard_interactively_grabbed()) { - keyboard_interactive_cancel(); - ob_debug("KILLED interactive event\n"); + if (actions_interactive_act_running()) { + actions_interactive_cancel_act(); + ob_debug("KILLED interactive action\n"); } else if (menu_frame_visible) { menu_frame_hide_all();