1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-12-04 14:46:46 -05:00

Merge branch 'master' into osx-functional

This commit is contained in:
James Booth 2015-11-01 19:06:48 +00:00
commit 241fb72fa2
9 changed files with 60 additions and 152 deletions

View File

@ -4044,7 +4044,7 @@ cmd_inpblock(ProfWin *window, const char *const command, gchar **args)
if (res) { if (res) {
cons_show("Input blocking set to %d milliseconds.", intval); cons_show("Input blocking set to %d milliseconds.", intval);
prefs_set_inpblock(intval); prefs_set_inpblock(intval);
ui_input_nonblocking(FALSE); inp_nonblocking(FALSE);
} else { } else {
cons_show(err_msg); cons_show(err_msg);
free(err_msg); free(err_msg);

View File

@ -108,7 +108,7 @@ prof_run(char *log_level, char *account_name)
log_stderr_handler(); log_stderr_handler();
_check_autoaway(); _check_autoaway();
line = ui_readline(); line = inp_readline();
if (line) { if (line) {
ProfWin *window = wins_get_current(); ProfWin *window = wins_get_current();
cont = cmd_process_input(window, line); cont = cmd_process_input(window, line);
@ -340,7 +340,7 @@ _init(char *log_level)
p_gpg_init(); p_gpg_init();
#endif #endif
atexit(_shutdown); atexit(_shutdown);
ui_input_nonblocking(TRUE); inp_nonblocking(TRUE);
} }
static void static void

View File

@ -185,52 +185,6 @@ ui_close(void)
endwin(); endwin();
} }
char*
ui_readline(void)
{
return inp_readline();
}
void
ui_page_up(void)
{
ProfWin *current = wins_get_current();
win_page_up(current);
}
void
ui_page_down(void)
{
ProfWin *current = wins_get_current();
win_page_down(current);
}
void
ui_subwin_page_up(void)
{
ProfWin *current = wins_get_current();
win_sub_page_up(current);
}
void
ui_subwin_page_down(void)
{
ProfWin *current = wins_get_current();
win_sub_page_down(current);
}
void
ui_input_clear(void)
{
inp_win_clear();
}
void
ui_input_nonblocking(gboolean reset)
{
inp_nonblocking(reset);
}
void void
ui_resize(void) ui_resize(void)
{ {

View File

@ -264,15 +264,6 @@ inp_put_back(void)
_inp_win_update_virtual(); _inp_win_update_virtual();
} }
void
inp_win_clear(void)
{
werase(inp_win);
wmove(inp_win, 0, 0);
pad_start = 0;
_inp_win_update_virtual();
}
static void static void
_inp_win_update_virtual(void) _inp_win_update_virtual(void)
{ {
@ -562,27 +553,31 @@ _inp_rl_altright_handler(int count, int key)
static int static int
_inp_rl_pageup_handler(int count, int key) _inp_rl_pageup_handler(int count, int key)
{ {
ui_page_up(); ProfWin *current = wins_get_current();
win_page_up(current);
return 0; return 0;
} }
static int static int
_inp_rl_pagedown_handler(int count, int key) _inp_rl_pagedown_handler(int count, int key)
{ {
ui_page_down(); ProfWin *current = wins_get_current();
win_page_down(current);
return 0; return 0;
} }
static int static int
_inp_rl_altpageup_handler(int count, int key) _inp_rl_altpageup_handler(int count, int key)
{ {
ui_subwin_page_up(); ProfWin *current = wins_get_current();
win_sub_page_up(current);
return 0; return 0;
} }
static int static int
_inp_rl_altpagedown_handler(int count, int key) _inp_rl_altpagedown_handler(int count, int key)
{ {
ui_subwin_page_down(); ProfWin *current = wins_get_current();
win_sub_page_down(current);
return 0; return 0;
} }

View File

@ -40,10 +40,7 @@
#define INP_WIN_MAX 1000 #define INP_WIN_MAX 1000
void create_input_window(void); void create_input_window(void);
char* inp_readline(void);
void inp_nonblocking(gboolean reset);
void inp_close(void); void inp_close(void);
void inp_win_clear(void);
void inp_win_resize(void); void inp_win_resize(void);
void inp_put_back(void); void inp_put_back(void);
char* inp_get_password(void); char* inp_get_password(void);

View File

@ -56,7 +56,7 @@ typedef enum {
PROF_MSG_PGP PROF_MSG_PGP
} prof_enc_t; } prof_enc_t;
// ui startup and control // core UI
void ui_init(void); void ui_init(void);
void ui_load_colours(void); void ui_load_colours(void);
void ui_update(void); void ui_update(void);
@ -66,27 +66,7 @@ void ui_resize(void);
GSList* ui_get_chat_recipients(void); GSList* ui_get_chat_recipients(void);
void ui_switch_win(ProfWin *window); void ui_switch_win(ProfWin *window);
void ui_sigwinch_handler(int sig); void ui_sigwinch_handler(int sig);
ProfChatWin* chatwin_new(const char *const barejid);
void chatwin_incoming_msg(ProfChatWin *chatwin, const char *const resource, const char *const message, GDateTime *timestamp, gboolean win_created, prof_enc_t enc_mode);
#ifdef HAVE_LIBOTR
void chatwin_otr_secured(ProfChatWin *chatwin, gboolean trusted);
void chatwin_otr_unsecured(ProfChatWin *chatwin);
void chatwin_otr_trust(ProfChatWin *chatwin);
void chatwin_otr_untrust(ProfChatWin *chatwin);
void chatwin_otr_smp_event(ProfChatWin *chatwin, prof_otr_smp_event_t event, void *data);
#endif
void chatwin_receipt_received(ProfChatWin *chatwin, const char *const id);
void chatwin_recipient_gone(ProfChatWin *chatwin);
void chatwin_outgoing_msg(ProfChatWin *chatwin, const char *const message, char *id, prof_enc_t enc_mode);
void chatwin_outgoing_carbon(ProfChatWin *chatwin, const char *const message);
void chatwin_contact_online(ProfChatWin *chatwin, Resource *resource, GDateTime *last_activity);
void chatwin_contact_offline(ProfChatWin *chatwin, char *resource, char *status);
void ui_handle_otr_error(const char *const barejid, const char *const message); void ui_handle_otr_error(const char *const barejid, const char *const message);
unsigned long ui_get_idle_time(void); unsigned long ui_get_idle_time(void);
void ui_reset_idle_time(void); void ui_reset_idle_time(void);
ProfPrivateWin* ui_new_private_win(const char *const fulljid); ProfPrivateWin* ui_new_private_win(const char *const fulljid);
@ -95,34 +75,24 @@ gint ui_unread(void);
void ui_close_connected_win(int index); void ui_close_connected_win(int index);
int ui_close_all_wins(void); int ui_close_all_wins(void);
int ui_close_read_wins(void); int ui_close_read_wins(void);
// current window actions
void ui_current_print_line(const char *const msg, ...); void ui_current_print_line(const char *const msg, ...);
void ui_current_print_formatted_line(const char show_char, int attrs, const char *const msg, ...); void ui_current_print_formatted_line(const char show_char, int attrs, const char *const msg, ...);
void ui_current_error_line(const char *const msg); void ui_current_error_line(const char *const msg);
void ui_win_error_line(ProfWin *window, const char *const msg); void ui_win_error_line(ProfWin *window, const char *const msg);
win_type_t ui_win_type(int index); win_type_t ui_win_type(int index);
void ui_close_win(int index); void ui_close_win(int index);
int ui_win_unread(int index); int ui_win_unread(int index);
char* ui_ask_password(void); char* ui_ask_password(void);
char* ui_get_line(void); char* ui_get_line(void);
char* ui_ask_pgp_passphrase(const char *hint, int prev_fail); char* ui_ask_pgp_passphrase(const char *hint, int prev_fail);
void ui_handle_stanza(const char *const msg); void ui_handle_stanza(const char *const msg);
// ui events
void ui_contact_online(char *barejid, Resource *resource, GDateTime *last_activity); void ui_contact_online(char *barejid, Resource *resource, GDateTime *last_activity);
void ui_contact_typing(const char *const barejid, const char *const resource); void ui_contact_typing(const char *const barejid, const char *const resource);
void ui_incoming_private_msg(const char *const fulljid, const char *const message, GDateTime *timestamp); void ui_incoming_private_msg(const char *const fulljid, const char *const message, GDateTime *timestamp);
void ui_disconnected(void); void ui_disconnected(void);
void ui_outgoing_private_msg(ProfPrivateWin *privwin, const char *const message); void ui_outgoing_private_msg(ProfPrivateWin *privwin, const char *const message);
void ui_room_join(const char *const roomjid, gboolean focus); void ui_room_join(const char *const roomjid, gboolean focus);
void ui_switch_to_room(const char *const roomjid); void ui_switch_to_room(const char *const roomjid);
void ui_room_role_change(const char *const roomjid, const char *const role, const char *const actor, void ui_room_role_change(const char *const roomjid, const char *const role, const char *const actor,
const char *const reason); const char *const reason);
void ui_room_affiliation_change(const char *const roomjid, const char *const affiliation, const char *const actor, void ui_room_affiliation_change(const char *const roomjid, const char *const affiliation, const char *const actor,
@ -131,15 +101,14 @@ void ui_room_role_and_affiliation_change(const char *const roomjid, const char *
const char *const affiliation, const char *const actor, const char *const reason); const char *const affiliation, const char *const actor, const char *const reason);
void ui_room_occupant_role_change(const char *const roomjid, const char *const nick, const char *const role, void ui_room_occupant_role_change(const char *const roomjid, const char *const nick, const char *const role,
const char *const actor, const char *const reason); const char *const actor, const char *const reason);
void ui_room_occupant_affiliation_change(const char *const roomjid, const char *const nick, const char *const affiliation, void ui_room_occupant_affiliation_change(const char *const roomjid, const char *const nick,
const char *const actor, const char *const reason);
void ui_room_occupant_role_and_affiliation_change(const char *const roomjid, const char *const nick, const char *const role,
const char *const affiliation, const char *const actor, const char *const reason); const char *const affiliation, const char *const actor, const char *const reason);
void ui_room_occupant_role_and_affiliation_change(const char *const roomjid, const char *const nick,
const char *const role, const char *const affiliation, const char *const actor, const char *const reason);
void ui_room_roster(const char *const roomjid, GList *occupants, const char *const presence); void ui_room_roster(const char *const roomjid, GList *occupants, const char *const presence);
void ui_room_history(const char *const roomjid, const char *const nick, void ui_room_history(const char *const roomjid, const char *const nick, GDateTime *timestamp,
GDateTime *timestamp, const char *const message);
void ui_room_message(const char *const roomjid, const char *const nick,
const char *const message); const char *const message);
void ui_room_message(const char *const roomjid, const char *const nick, const char *const message);
void ui_room_subject(const char *const roomjid, const char *const nick, const char *const subject); void ui_room_subject(const char *const roomjid, const char *const nick, const char *const subject);
void ui_room_requires_config(const char *const roomjid); void ui_room_requires_config(const char *const roomjid);
void ui_room_destroy(const char *const roomjid); void ui_room_destroy(const char *const roomjid);
@ -157,16 +126,14 @@ void ui_room_banned(const char *const roomjid, const char *const actor, const ch
void ui_room_member_banned(const char *const roomjid, const char *const nick, const char *const actor, void ui_room_member_banned(const char *const roomjid, const char *const nick, const char *const actor,
const char *const reason); const char *const reason);
void ui_leave_room(const char *const roomjid); void ui_leave_room(const char *const roomjid);
void ui_room_broadcast(const char *const roomjid, void ui_room_broadcast(const char *const roomjid, const char *const message);
const char *const message);
void ui_room_member_offline(const char *const roomjid, const char *const nick); void ui_room_member_offline(const char *const roomjid, const char *const nick);
void ui_room_member_online(const char *const roomjid, const char *const nick, const char *const roles, void ui_room_member_online(const char *const roomjid, const char *const nick, const char *const roles,
const char *const affiliation, const char *const show, const char *const status); const char *const affiliation, const char *const show, const char *const status);
void ui_room_member_nick_change(const char *const roomjid, void ui_room_member_nick_change(const char *const roomjid, const char *const old_nick, const char *const nick);
const char *const old_nick, const char *const nick);
void ui_room_nick_change(const char *const roomjid, const char *const nick); void ui_room_nick_change(const char *const roomjid, const char *const nick);
void ui_room_member_presence(const char *const roomjid, void ui_room_member_presence(const char *const roomjid, const char *const nick, const char *const show,
const char *const nick, const char *const show, const char *const status); const char *const status);
void ui_room_update_occupants(const char *const roomjid); void ui_room_update_occupants(const char *const roomjid);
void ui_room_show_occupants(const char *const roomjid); void ui_room_show_occupants(const char *const roomjid);
void ui_room_hide_occupants(const char *const roomjid); void ui_room_hide_occupants(const char *const roomjid);
@ -208,42 +175,48 @@ void ui_redraw_all_room_rosters(void);
void ui_show_all_room_rosters(void); void ui_show_all_room_rosters(void);
void ui_hide_all_room_rosters(void); void ui_hide_all_room_rosters(void);
void ui_handle_software_version_error(const char *const roomjid, const char *const message); void ui_handle_software_version_error(const char *const roomjid, const char *const message);
void ui_show_software_version(const char *const jid, const char *const presence, void ui_show_software_version(const char *const jid, const char *const presence, const char *const name,
const char *const name, const char *const version, const char *const os); const char *const version, const char *const os);
gboolean ui_tidy_wins(void); gboolean ui_tidy_wins(void);
void ui_prune_wins(void); void ui_prune_wins(void);
gboolean ui_swap_wins(int source_win, int target_win); gboolean ui_swap_wins(int source_win, int target_win);
void ui_page_up(void);
void ui_page_down(void);
void ui_subwin_page_up(void);
void ui_subwin_page_down(void);
void ui_clear_win(ProfWin *window); void ui_clear_win(ProfWin *window);
void ui_auto_away(char *message, gint time, resource_presence_t res_presence); void ui_auto_away(char *message, gint time, resource_presence_t res_presence);
void ui_titlebar_presence(contact_presence_t presence); void ui_titlebar_presence(contact_presence_t presence);
void ui_handle_login_account_success(ProfAccount *account, int secured); void ui_handle_login_account_success(ProfAccount *account, int secured);
void ui_update_presence(const resource_presence_t resource_presence, void ui_update_presence(const resource_presence_t resource_presence, const char *const message, const char *const show);
const char *const message, const char *const show);
void ui_statusbar_new(const int win); void ui_statusbar_new(const int win);
char* ui_readline(void);
void ui_input_clear(void);
void ui_input_nonblocking(gboolean);
void ui_write(char *line, int offset); void ui_write(char *line, int offset);
void ui_invalid_command_usage(const char *const cmd, void (*setting_func)(void)); void ui_invalid_command_usage(const char *const cmd, void (*setting_func)(void));
void ui_create_xmlconsole_win(void); void ui_create_xmlconsole_win(void);
gboolean ui_xmlconsole_exists(void); gboolean ui_xmlconsole_exists(void);
void ui_open_xmlconsole_win(void); void ui_open_xmlconsole_win(void);
gboolean ui_win_has_unsaved_form(int num); gboolean ui_win_has_unsaved_form(int num);
void ui_inp_history_append(char *inp); void ui_inp_history_append(char *inp);
// console window actions // Chat window
ProfChatWin* chatwin_new(const char *const barejid);
void chatwin_incoming_msg(ProfChatWin *chatwin, const char *const resource, const char *const message,
GDateTime *timestamp, gboolean win_created, prof_enc_t enc_mode);
void chatwin_receipt_received(ProfChatWin *chatwin, const char *const id);
void chatwin_recipient_gone(ProfChatWin *chatwin);
void chatwin_outgoing_msg(ProfChatWin *chatwin, const char *const message, char *id, prof_enc_t enc_mode);
void chatwin_outgoing_carbon(ProfChatWin *chatwin, const char *const message);
void chatwin_contact_online(ProfChatWin *chatwin, Resource *resource, GDateTime *last_activity);
void chatwin_contact_offline(ProfChatWin *chatwin, char *resource, char *status);
#ifdef HAVE_LIBOTR
void chatwin_otr_secured(ProfChatWin *chatwin, gboolean trusted);
void chatwin_otr_unsecured(ProfChatWin *chatwin);
void chatwin_otr_trust(ProfChatWin *chatwin);
void chatwin_otr_untrust(ProfChatWin *chatwin);
void chatwin_otr_smp_event(ProfChatWin *chatwin, prof_otr_smp_event_t event, void *data);
#endif
// Input window
char* inp_readline(void);
void inp_nonblocking(gboolean reset);
// Console window
void cons_show(const char *const msg, ...); void cons_show(const char *const msg, ...);
void cons_show_padded(int pad, const char *const msg, ...); void cons_show_padded(int pad, const char *const msg, ...);
void cons_about(void); void cons_about(void);
@ -277,16 +250,14 @@ void cons_show_scripts(GSList *scripts);
void cons_show_script(const char *const script, GSList *commands); void cons_show_script(const char *const script, GSList *commands);
void cons_show_aliases(GList *aliases); void cons_show_aliases(GList *aliases);
void cons_show_login_success(ProfAccount *account, int secured); void cons_show_login_success(ProfAccount *account, int secured);
void cons_show_software_version(const char *const jid, void cons_show_software_version(const char *const jid, const char *const presence, const char *const name,
const char *const presence, const char *const name,
const char *const version, const char *const os); const char *const version, const char *const os);
void cons_show_account_list(gchar **accounts); void cons_show_account_list(gchar **accounts);
void cons_show_room_list(GSList *room, const char *const conference_node); void cons_show_room_list(GSList *room, const char *const conference_node);
void cons_show_bookmarks(const GList *list); void cons_show_bookmarks(const GList *list);
void cons_show_disco_items(GSList *items, const char *const jid); void cons_show_disco_items(GSList *items, const char *const jid);
void cons_show_disco_info(const char *from, GSList *identities, GSList *features); void cons_show_disco_info(const char *from, GSList *identities, GSList *features);
void cons_show_room_invite(const char *const invitor, const char *const room, void cons_show_room_invite(const char *const invitor, const char *const room, const char *const reason);
const char *const reason);
void cons_check_version(gboolean not_available_msg); void cons_check_version(gboolean not_available_msg);
void cons_show_typing(const char *const barejid); void cons_show_typing(const char *const barejid);
void cons_show_incoming_message(const char *const short_from, const int win_index); void cons_show_incoming_message(const char *const short_from, const int win_index);
@ -352,7 +323,6 @@ ProfWin* win_create_chat(const char *const barejid);
ProfWin* win_create_muc(const char *const roomjid); ProfWin* win_create_muc(const char *const roomjid);
ProfWin* win_create_muc_config(const char *const title, DataForm *form); ProfWin* win_create_muc_config(const char *const title, DataForm *form);
ProfWin* win_create_private(const char *const fulljid); ProfWin* win_create_private(const char *const fulljid);
void win_update_virtual(ProfWin *window); void win_update_virtual(ProfWin *window);
void win_free(ProfWin *window); void win_free(ProfWin *window);
int win_unread(ProfWin *window); int win_unread(ProfWin *window);
@ -371,17 +341,14 @@ void win_show_info(ProfWin *window, PContact contact);
void win_println(ProfWin *window, int pad, const char *const message); void win_println(ProfWin *window, int pad, const char *const message);
void win_vprintln_ch(ProfWin *window, char ch, const char *const message, ...); void win_vprintln_ch(ProfWin *window, char ch, const char *const message, ...);
// desktop notifier actions // desktop notifications
void notifier_initialise(void); void notifier_initialise(void);
void notifier_uninit(void); void notifier_uninit(void);
void notify_typing(const char *const handle); void notify_typing(const char *const handle);
void notify_message(ProfWin *window, const char *const name, const char *const text); void notify_message(ProfWin *window, const char *const name, const char *const text);
void notify_room_message(const char *const handle, const char *const room, void notify_room_message(const char *const handle, const char *const room, int win, const char *const text);
int win, const char *const text);
void notify_remind(void); void notify_remind(void);
void notify_invite(const char *const from, const char *const room, void notify_invite(const char *const from, const char *const room, const char *const reason);
const char *const reason);
void notify_subscription(const char *const from); void notify_subscription(const char *const from);
#endif #endif

View File

@ -921,7 +921,7 @@ win_print(ProfWin *window, const char show_char, int pad_indent, GDateTime *time
buffer_push(window->layout->buffer, show_char, pad_indent, timestamp, flags, theme_item, from, message, NULL); buffer_push(window->layout->buffer, show_char, pad_indent, timestamp, flags, theme_item, from, message, NULL);
_win_print(window, show_char, pad_indent, timestamp, flags, theme_item, from, message, NULL); _win_print(window, show_char, pad_indent, timestamp, flags, theme_item, from, message, NULL);
// TODO: cross-reference.. this should be replaced by a real event-based system // TODO: cross-reference.. this should be replaced by a real event-based system
ui_input_nonblocking(TRUE); inp_nonblocking(TRUE);
g_date_time_unref(timestamp); g_date_time_unref(timestamp);
} }
@ -944,7 +944,7 @@ win_print_with_receipt(ProfWin *window, const char show_char, int pad_indent, GT
buffer_push(window->layout->buffer, show_char, pad_indent, time, flags, theme_item, from, message, receipt); buffer_push(window->layout->buffer, show_char, pad_indent, time, flags, theme_item, from, message, receipt);
_win_print(window, show_char, pad_indent, time, flags, theme_item, from, message, receipt); _win_print(window, show_char, pad_indent, time, flags, theme_item, from, message, receipt);
// TODO: cross-reference.. this should be replaced by a real event-based system // TODO: cross-reference.. this should be replaced by a real event-based system
ui_input_nonblocking(TRUE); inp_nonblocking(TRUE);
g_date_time_unref(time); g_date_time_unref(time);
} }

View File

@ -486,7 +486,7 @@ static int
_unavailable_handler(xmpp_conn_t *const conn, _unavailable_handler(xmpp_conn_t *const conn,
xmpp_stanza_t *const stanza, void *const userdata) xmpp_stanza_t *const stanza, void *const userdata)
{ {
ui_input_nonblocking(TRUE); inp_nonblocking(TRUE);
const char *jid = xmpp_conn_get_jid(conn); const char *jid = xmpp_conn_get_jid(conn);
char *from = xmpp_stanza_get_attribute(stanza, STANZA_ATTR_FROM); char *from = xmpp_stanza_get_attribute(stanza, STANZA_ATTR_FROM);
@ -563,7 +563,7 @@ static int
_available_handler(xmpp_conn_t *const conn, _available_handler(xmpp_conn_t *const conn,
xmpp_stanza_t *const stanza, void *const userdata) xmpp_stanza_t *const stanza, void *const userdata)
{ {
ui_input_nonblocking(TRUE); inp_nonblocking(TRUE);
// handler still fires if error // handler still fires if error
if (g_strcmp0(xmpp_stanza_get_type(stanza), STANZA_TYPE_ERROR) == 0) { if (g_strcmp0(xmpp_stanza_get_type(stanza), STANZA_TYPE_ERROR) == 0) {
@ -662,7 +662,7 @@ _send_caps_request(char *node, char *caps_key, char *id, char *from)
static int static int
_muc_user_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *const userdata) _muc_user_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *const userdata)
{ {
ui_input_nonblocking(TRUE); inp_nonblocking(TRUE);
char *type = xmpp_stanza_get_attribute(stanza, STANZA_ATTR_TYPE); char *type = xmpp_stanza_get_attribute(stanza, STANZA_ATTR_TYPE);
char *from = xmpp_stanza_get_attribute(stanza, STANZA_ATTR_FROM); char *from = xmpp_stanza_get_attribute(stanza, STANZA_ATTR_FROM);

View File

@ -153,10 +153,6 @@ int ui_win_unread(int index)
return 0; return 0;
} }
void ui_page_up(void) {}
void ui_page_down(void) {}
void ui_subwin_page_up(void) {}
void ui_subwin_page_down(void) {}
void ui_clear_win(ProfWin *window) {} void ui_clear_win(ProfWin *window) {}
char * ui_ask_password(void) char * ui_ask_password(void)
@ -313,15 +309,14 @@ void ui_update_presence(const resource_presence_t resource_presence,
const char * const message, const char * const show) {} const char * const message, const char * const show) {}
void ui_statusbar_new(const int win) {} void ui_statusbar_new(const int win) {}
char* ui_readline(void) char* inp_readline(void)
{ {
return NULL; return NULL;
} }
void ui_inp_history_append(char *inp) {} void inp_nonblocking(gboolean reset) {}
void ui_input_clear(void) {} void ui_inp_history_append(char *inp) {}
void ui_input_nonblocking(gboolean reset) {}
void ui_invalid_command_usage(const char * const usage, void (*setting_func)(void)) {} void ui_invalid_command_usage(const char * const usage, void (*setting_func)(void)) {}