+ XFlush(fl_display);
+}
+
+
+void MiniBuffer::set_complete_input(string const & str)
+{
+ if (!str.empty()) {
+ // add a space so the user can type
+ // an argument immediately
+ set_input(str + " ");
+ }
+}
+
+
+void MiniBuffer::append_char(char c)
+{
+ if (!c || !isprint(c))
+ return;
+
+ char const * tmp = fl_get_input(the_buffer);
+ string str = tmp ? tmp : "";
+
+ str += c;
+
+ fl_set_input(the_buffer, str.c_str());
+}
+
+
+void MiniBuffer::set_input(string const & str)
+{
+ fl_set_input(the_buffer, str.c_str());
+ XFlush(fl_display);