diff -r 244030831fcd -r beba01f68a9f ui/gtk/button.c --- a/ui/gtk/button.c Fri Jun 19 17:41:46 2026 +0200 +++ b/ui/gtk/button.c Fri Jun 19 17:49:31 2026 +0200 @@ -692,6 +692,14 @@ gtk_widget_set_tooltip_text(widget, tooltip); button->widget = widget; + if(args->action) { + uic_bind_action(obj->ctx, args->action, widget, (ui_enablefunc)ui_set_enabled); + UiAction *ui_action = uic_resolve_action(obj->ctx, args->action); + if(!ui_action) { + ui_set_enabled(widget, FALSE); + } + } + if(args->toggled_by_state != 0) { CxList *ls = cxArrayListCreate(NULL, sizeof(int), 1); cxListAdd(ls, &args->toggled_by_state);