+ for (it = acts; it; it = g_slist_next(it)) {
+ a = it->data;
+
+ a->data.any.c = c;
+ a->data.any.context = context;
+ a->data.any.x = x;
+ a->data.any.y = y;
+
+ a->data.any.button = button;
+
+ if (a->data.any.interactive) {
+ a->data.inter.cancel = cancel;
+ a->data.inter.final = done;
+ if (!(cancel || done))
+ keyboard_interactive_grab(state, c, a);
+ }
+
+ a->func(&a->data);
+ }