X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=openbox%2Faction.c;h=51de17daa3abb0d967d4dface847370ece400b1b;hb=b317f0140398308fce5fbd262ad99a290b54a449;hp=6d1e0a645c9f068b2f3c4635d46807fe084892ee;hpb=e5f27bd25ecc3fbabbba8766168211d71d0d0397;p=chaz%2Fopenbox diff --git a/openbox/action.c b/openbox/action.c index 6d1e0a64..51de17da 100644 --- a/openbox/action.c +++ b/openbox/action.c @@ -698,6 +698,9 @@ ObAction *action_from_string(char *name, ObUserAction uact) a = action_new(actionstrings[i].func, uact); if (actionstrings[i].setup) actionstrings[i].setup(&a, uact); + /* only key bindings can be interactive. thus saith the xor. */ + if (uact != OB_USER_ACTION_KEYBOARD_KEY) + a->data.any.interactive = FALSE; break; } if (!exist) @@ -764,7 +767,6 @@ ObAction *action_parse(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, } void action_run_full(ObAction *a, struct _ObClient *c, - ObFrameContext context, guint state, guint button, gint x, gint y, gboolean cancel, gboolean done) { @@ -781,7 +783,7 @@ void action_run_full(ObAction *a, struct _ObClient *c, a->data.inter.cancel = cancel; a->data.inter.final = done; if (!(cancel || done)) - keyboard_interactive_grab(state, c, context, a); + keyboard_interactive_grab(state, c, a); } a->func(&a->data); @@ -1229,11 +1231,12 @@ void action_growtoedge(union ActionData *data) { int x, y, width, height, dest; ObClient *c = data->diraction.any.c; - Rect *a = screen_area(c->desktop); + Rect *a; if (!c) return; + a = screen_area(c->desktop); x = c->frame->area.x; y = c->frame->area.y; width = c->frame->area.width;