about summary refs log tree commit diff stats
path: root/src/ui/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/core.c')
-rw-r--r--src/ui/core.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/ui/core.c b/src/ui/core.c
index c17b5394..eaa0af48 100644
--- a/src/ui/core.c
+++ b/src/ui/core.c
@@ -52,6 +52,7 @@
 #include "ui/ui.h"
 #include "ui/titlebar.h"
 #include "ui/statusbar.h"
+#include "ui/inputwin.h"
 #include "ui/window.h"
 #include "ui/windows.h"
 #include "xmpp/xmpp.h"
@@ -155,6 +156,34 @@ _ui_close(void)
     endwin();
 }
 
+static wint_t
+_ui_get_char(char *input, int *size)
+{
+    wint_t ch = inp_get_char(input, size);
+    if (ch != ERR) {
+        ui_reset_idle_time();
+    }
+    return ch;
+}
+
+static void
+_ui_input_clear(void)
+{
+    inp_win_reset();
+}
+
+static void
+_ui_replace_input(char *input, const char * const new_input, int *size)
+{
+    inp_replace_input(input, new_input, size);
+}
+
+static void
+_ui_input_nonblocking(void)
+{
+    inp_non_block();
+}
+
 static void
 _ui_resize(const int ch, const char * const input, const int size)
 {
@@ -1863,4 +1892,8 @@ ui_init_module(void)
     ui_update_presence =_ui_update_presence;
     ui_about = _ui_about;
     ui_statusbar_new = _ui_statusbar_new;
+    ui_get_char = _ui_get_char;
+    ui_input_clear = _ui_input_clear;
+    ui_input_nonblocking = _ui_input_nonblocking;
+    ui_replace_input = _ui_replace_input;
 }