1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-05 09:13:14 +02:00

relay/api: add a way to toggle between remote and local command execution on remote buffers (issue #2148)

New default key:

- Alt+Ctrl+l (L): toggle execution of commands: remote/local

New options:

- relay.api.remote_input_cmd_local: text displayed for command executed locally
- relay.api.remote_input_cmd_remote: text displayed for command executed on the
  remote WeeChat
This commit is contained in:
Sébastien Helleu
2025-02-09 18:28:05 +01:00
parent 547e2b934e
commit ca6e483cdc
28 changed files with 998 additions and 528 deletions
+21 -3
View File
@@ -475,7 +475,7 @@ relay_command_remote (const void *pointer, void *data,
char **argv, char **argv_eol)
{
struct t_relay_remote *ptr_remote, *ptr_remote2;
int i, detailed_list, one_remote_found, update;
int i, detailed_list, one_remote_found, update, input_get_any_user_data;
const char *ptr_autoconnect, *ptr_autoreconnect_delay, *ptr_proxy;
const char *ptr_tls_verify, *ptr_password;
const char *ptr_totp_secret;
@@ -846,6 +846,20 @@ relay_command_remote (const void *pointer, void *data,
return WEECHAT_RC_OK;
}
if (weechat_strcmp (argv[1], "togglecmd") == 0)
{
if (relay_remote_search (
weechat_buffer_get_string (buffer, "localvar_relay_remote")))
{
input_get_any_user_data = weechat_buffer_get_integer (
buffer, "input_get_any_user_data");
weechat_buffer_set (buffer, "input_get_any_user_data",
(input_get_any_user_data) ? "0" : "1");
weechat_bar_item_update ("input_text");
}
return WEECHAT_RC_OK;
}
WEECHAT_COMMAND_ERROR;
}
@@ -941,7 +955,8 @@ relay_command_init ()
" || add|addreplace <name> <url> [-<option>[=<value>]]"
" || connect|reconnect|disconnect|del <name>"
" || send <name> <json>"
" || rename <name> <new_name>"),
" || rename <name> <new_name>"
" || togglecmd"),
WEECHAT_CMD_ARGS_DESC(
N_("raw[list]: list remote relay servers "
"(without argument, this list is displayed)"),
@@ -960,6 +975,8 @@ relay_command_init ()
N_("raw[del]: delete a remote relay server"),
N_("raw[send]: send JSON data to a remote relay server"),
N_("raw[rename]: rename a remote relay server"),
N_("raw[togglecmd]: toggle execution of commands on a remote buffer: "
"on the remote WeeChat or locally (default key: alt+ctrl+l)"),
"",
N_("Examples:"),
AI(" /remote add example https://localhost:9000 "
@@ -974,6 +991,7 @@ relay_command_init ()
"-totp_secret=${xxx}|%*"
" || connect|reconnect|disconnect|del %(relay_remotes)"
" || send %(relay_remotes) {\"request\":\"\"}"
" || rename %(relay_remotes) %(relay_remotes)",
" || rename %(relay_remotes) %(relay_remotes)"
" || togglecmd",
&relay_command_remote, NULL, NULL);
}