diff -r 6ec3c71ba298 -r 296b8b6eaae6 ui/common/action.c --- a/ui/common/action.c Sat Jun 13 17:08:09 2026 +0200 +++ b/ui/common/action.c Sat Jun 13 17:19:59 2026 +0200 @@ -227,6 +227,22 @@ broadcast_action(action_name, eventdata, UI_EVENT_DATA_POINTER, intval); } +void ui_call_action_on(UiContext *ctx, const char *action) { + UiEvent event; + memset(&event, 0, sizeof(UiEvent)); + event.obj = ctx->obj; + event.window = event.obj ? event.obj->window : NULL; + event.document = ctx->self_doc ? ctx->self_doc : ctx->document; + + UiAction *a = NULL; + if(ctx->actions) { + a = cxMapGet(ctx->actions, action); + } + if(a && a->callback) { + a->callback(&event, a->userdata); + } +} + typedef struct UiActionBroadcast { char *action; void *eventdata;