+void tui_call_callback(struct tui_widget *w, int type)
+{
+ if(w->cbfunc[type]) {
+ w->cbfunc[type](w, w->cbcls[type]);
+ }
+}
+
+void tui_focus(struct tui_widget *w, int focus)
+{
+ focus = focus ? 1 : 0;
+ if(w->focus == focus) {
+ return;
+ }
+ w->focus = focus;
+ w->dirty = 1;
+ tui_call_callback(w, TUI_ONFOCUS);
+}
+
+int tui_set_title(struct tui_widget *w, const char *s)
+{
+ free(w->title);
+ w->title = strdup_nf(s);
+ return 0;
+}
+
+const char *tui_get_title(struct tui_widget *w)
+{
+ return w->title;
+}
+