LIB_OBJS += $(OUTPUT)ui/tui/util.o
   LIB_OBJS += $(OUTPUT)ui/tui/helpline.o
   LIB_OBJS += $(OUTPUT)ui/tui/progress.o
+  LIB_H += ui/tui/tui.h
   LIB_H += ui/browser.h
   LIB_H += ui/browsers/map.h
   LIB_H += ui/keysyms.h
 
 int perf_gtk__deactivate_context(struct perf_gtk_context **ctx);
 
 void perf_gtk__init_helpline(void);
-void perf_gtk__init_progress(void);
+void gtk_ui_progress__init(void);
 void perf_gtk__init_hpp(void);
 
 void perf_gtk__signal(int sig);
 
 static GtkWidget *dialog;
 static GtkWidget *progress;
 
-static void gtk_progress_update(u64 curr, u64 total, const char *title)
+static void gtk_ui_progress__update(u64 curr, u64 total, const char *title)
 {
        double fraction = total ? 1.0 * curr / total : 0.0;
        char buf[1024];
                gtk_main_iteration();
 }
 
-static void gtk_progress_finish(void)
+static void gtk_ui_progress__finish(void)
 {
        /* this will also destroy all of its children */
        gtk_widget_destroy(dialog);
        dialog = NULL;
 }
 
-static struct ui_progress gtk_progress_fns = {
-       .update         = gtk_progress_update,
-       .finish         = gtk_progress_finish,
+static struct ui_progress_ops gtk_ui_progress__ops = {
+       .update         = gtk_ui_progress__update,
+       .finish         = gtk_ui_progress__finish,
 };
 
-void perf_gtk__init_progress(void)
+void gtk_ui_progress__init(void)
 {
-       progress_fns = >k_progress_fns;
+       ui_progress__ops = >k_ui_progress__ops;
 }
 
 {
        perf_error__register(&perf_gtk_eops);
        perf_gtk__init_helpline();
-       perf_gtk__init_progress();
+       gtk_ui_progress__init();
        perf_gtk__init_hpp();
 
        return gtk_init_check(NULL, NULL) ? 0 : -1;
 
 #include "../cache.h"
 #include "progress.h"
 
-static void nop_progress_update(u64 curr __maybe_unused,
-                               u64 total __maybe_unused,
-                               const char *title __maybe_unused)
+static void null_progress__update(u64 curr __maybe_unused,
+                                 u64 total __maybe_unused,
+                                 const char *title __maybe_unused)
 {
 }
 
-static struct ui_progress default_progress_fns =
+static struct ui_progress_ops null_progress__ops =
 {
-       .update         = nop_progress_update,
+       .update = null_progress__update,
 };
 
-struct ui_progress *progress_fns = &default_progress_fns;
+struct ui_progress_ops *ui_progress__ops = &null_progress__ops;
 
 void ui_progress__update(u64 curr, u64 total, const char *title)
 {
-       return progress_fns->update(curr, total, title);
+       return ui_progress__ops->update(curr, total, title);
 }
 
 void ui_progress__finish(void)
 {
-       if (progress_fns->finish)
-               progress_fns->finish();
+       if (ui_progress__ops->finish)
+               ui_progress__ops->finish();
 }
 
 
 #include <../types.h>
 
-struct ui_progress {
+struct ui_progress_ops {
        void (*update)(u64, u64, const char *);
        void (*finish)(void);
 };
 
-extern struct ui_progress *progress_fns;
-
-void ui_progress__init(void);
+extern struct ui_progress_ops *ui_progress__ops;
 
 void ui_progress__update(u64 curr, u64 total, const char *title);
 void ui_progress__finish(void);
 
 #include "../progress.h"
 #include "../libslang.h"
 #include "../ui.h"
+#include "tui.h"
 #include "../browser.h"
 
 static void tui_progress__update(u64 curr, u64 total, const char *title)
        pthread_mutex_unlock(&ui__lock);
 }
 
-static struct ui_progress tui_progress_fns =
+static struct ui_progress_ops tui_progress__ops =
 {
        .update         = tui_progress__update,
 };
 
-void ui_progress__init(void)
+void tui_progress__init(void)
 {
-       progress_fns = &tui_progress_fns;
+       ui_progress__ops = &tui_progress__ops;
 }
 
 #include "../util.h"
 #include "../libslang.h"
 #include "../keysyms.h"
+#include "tui.h"
 
 static volatile int ui__need_resize;
 
 
        ui_helpline__init();
        ui_browser__init();
-       ui_progress__init();
+       tui_progress__init();
 
        signal(SIGSEGV, ui__signal);
        signal(SIGFPE, ui__signal);
 
--- /dev/null
+#ifndef _PERF_TUI_H_
+#define _PERF_TUI_H_ 1
+
+void tui_progress__init(void);
+
+#endif /* _PERF_TUI_H_ */