1
1
mirror of https://github.com/profanity-im/profanity.git synced 2025-02-02 15:08:15 -05:00

Allow to use cmd without being in a window

This commit is contained in:
Paul Fariello 2018-07-02 08:10:01 +03:20
parent e555e41eaf
commit ec5fc3612f
3 changed files with 18 additions and 9 deletions

View File

@ -2308,8 +2308,8 @@ static struct cmd_t command_defs[] =
CMD_NOMAINFUNC
CMD_NOTAGS
CMD_SYN(
"/cmd list",
"/cmd exec <command>")
"/cmd list [<jid>]",
"/cmd exec <command> [<jid>]")
CMD_DESC(
"Execute ad hoc commands.")
CMD_ARGS(

View File

@ -7484,9 +7484,12 @@ cmd_command_list(ProfWin *window, const char *const command, gchar **args)
return TRUE;
}
ProfMucWin *mucwin = (ProfMucWin*)window;
iq_command_list(mucwin->roomjid);
char *jid = args[1];
if (jid == NULL) {
ProfMucWin *mucwin = (ProfMucWin*)window;
jid = mucwin->roomjid;
}
iq_command_list(jid);
cons_show("List available ad hoc commands");
return TRUE;
@ -7507,9 +7510,13 @@ cmd_command_exec(ProfWin *window, const char *const command, gchar **args)
return TRUE;
}
ProfMucWin *mucwin = (ProfMucWin*)window;
char *jid = args[2];
if (jid == NULL) {
ProfMucWin *mucwin = (ProfMucWin*)window;
jid = mucwin->roomjid;
}
iq_command_exec(mucwin->roomjid, args[1]);
iq_command_exec(jid, args[1]);
cons_show("Execute %s...", args[1]);
return TRUE;

View File

@ -1118,9 +1118,11 @@ _command_list_result_handler(xmpp_stanza_t *const stanza, void *const userdata)
}
ProfWin *win = wins_get_by_string(from);
if (win) {
win_handle_command_list(win, cmds);
if (win == NULL) {
win = wins_get_console();
}
win_handle_command_list(win, cmds);
g_slist_free(cmds);
free(from);