mirror of
https://github.com/weechat/weechat.git
synced 2026-07-05 09:13:14 +02:00
Added /reconnect command (task #5448)
This commit is contained in:
@@ -5,6 +5,7 @@ ChangeLog - 2007-04-24
|
||||
|
||||
|
||||
Version 0.2.5 (under dev!):
|
||||
* added /reconnect command (task #5448)
|
||||
* added "-all" option for /connect and /disconnect commands (task #6232)
|
||||
* improved nick completion: completion with last speakers first and self
|
||||
nick at the end; added option look_nick_completion_smart, enabled by
|
||||
|
||||
@@ -49,18 +49,20 @@ Fenster leeren
|
||||
Nummer: lösche den Puffer mit der angegebenen Nummer
|
||||
|
||||
</programlisting>
|
||||
<command>connect [Servername]</command>
|
||||
<command>connect [-all | servername [servername ...]]</command>
|
||||
<programlisting>
|
||||
mit einem Server verbinden
|
||||
connect to server(s)
|
||||
|
||||
Servername: Zielserver
|
||||
-all: connect to all servers
|
||||
servername: server name to connect
|
||||
|
||||
</programlisting>
|
||||
<command>disconnect [Servername]</command>
|
||||
<command>disconnect [-all | servername [servername...]]</command>
|
||||
<programlisting>
|
||||
Serververbindung trennen
|
||||
disconnect from server(s)
|
||||
|
||||
Servername: Name des zu trennenden Servers
|
||||
-all: disconnect from all servers
|
||||
servername: server name to disconnect
|
||||
|
||||
</programlisting>
|
||||
<command>dcc Aktion [Nickname [Datei]]</command>
|
||||
@@ -134,6 +136,14 @@ autoload: lade automatisch alle Plugins im System- oder Benutzerverzeichnis
|
||||
|
||||
Ohne Argument, listet /plugin alle geladenen Plugins auf.
|
||||
|
||||
</programlisting>
|
||||
<command>reconnect [-all | servername [servername ...]]</command>
|
||||
<programlisting>
|
||||
reconnect to server(s)
|
||||
|
||||
-all: reconnect to all servers
|
||||
servername: server name to reconnect
|
||||
|
||||
</programlisting>
|
||||
<command>server [Servername] | [Servername Hostname Port [-auto | -noauto] [-ipv6] [-ssl] [-pwd Passwort] [-nicks Nick1 Nick2 Nick3] [-username Benutzername] [-realname Name] [-command Befehl] [-autojoin Channel[,Channel]] ] | [del Servername]</command>
|
||||
<programlisting>
|
||||
|
||||
@@ -49,17 +49,19 @@ clear window(s)
|
||||
number: clear buffer by number
|
||||
|
||||
</programlisting>
|
||||
<command>connect [servername]</command>
|
||||
<command>connect [-all | servername [servername ...]]</command>
|
||||
<programlisting>
|
||||
connect to a server
|
||||
connect to server(s)
|
||||
|
||||
-all: connect to all servers
|
||||
servername: server name to connect
|
||||
|
||||
</programlisting>
|
||||
<command>disconnect [servername]</command>
|
||||
<command>disconnect [-all | servername [servername...]]</command>
|
||||
<programlisting>
|
||||
disconnect from a server
|
||||
disconnect from server(s)
|
||||
|
||||
-all: disconnect from all servers
|
||||
servername: server name to disconnect
|
||||
|
||||
</programlisting>
|
||||
@@ -133,6 +135,14 @@ autoload: autoload plugins in system or user directory
|
||||
|
||||
Without argument, /plugin command lists loaded plugins.
|
||||
|
||||
</programlisting>
|
||||
<command>reconnect [-all | servername [servername ...]]</command>
|
||||
<programlisting>
|
||||
reconnect to server(s)
|
||||
|
||||
-all: reconnect to all servers
|
||||
servername: server name to reconnect
|
||||
|
||||
</programlisting>
|
||||
<command>server [servername] | [servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-pwd password] [-nicks nick1 nick2 nick3] [-username username] [-realname realname] [-command command] [-autojoin channel[,channel]] ] | [del servername]</command>
|
||||
<programlisting>
|
||||
|
||||
@@ -49,17 +49,19 @@ effacer la/les fen
|
||||
nombre: effacer un tampon par son numéro
|
||||
|
||||
</programlisting>
|
||||
<command>connect [nom_serveur]</command>
|
||||
<command>connect [-all | nom_serveur [nom_serveur...]]</command>
|
||||
<programlisting>
|
||||
se connecter à un serveur
|
||||
se connecter à un/plusieurs serveur(s)
|
||||
|
||||
-all: se connecter à tous les serveurs
|
||||
nom_serveur: nom du serveur pour se connecter
|
||||
|
||||
</programlisting>
|
||||
<command>disconnect [nom_serveur]</command>
|
||||
<command>disconnect [-all | nom_serveur [nom_serveur...]]</command>
|
||||
<programlisting>
|
||||
se déconnecter d'un serveur
|
||||
se déconnecter d'un/plusieurs serveur(s)
|
||||
|
||||
-all: se déconnecter de tous les serveurs
|
||||
nom_serveur: nom du serveur pour se déconnecter
|
||||
|
||||
</programlisting>
|
||||
@@ -133,6 +135,14 @@ autoload: charger automatiquement les extensions dans un r
|
||||
|
||||
Sans paramètre, la commande /plugin liste les extensions chargées.
|
||||
|
||||
</programlisting>
|
||||
<command>reconnect [-all | nom_serveur [nom_serveur...]]</command>
|
||||
<programlisting>
|
||||
se reconnecter à un/plusieurs serveur(s)
|
||||
|
||||
-all: se reconnecter à tous les serveurs
|
||||
nom_serveur: nom du serveur pour se reconnecter
|
||||
|
||||
</programlisting>
|
||||
<command>server [nom_serveur] | [nom_serveur nom/IP port [-auto | -noauto] [-ipv6] [-ssl] [-pwd mot_de_passe] [-nicks pseudo1 pseudo2 pseudo3] [-username nom_utilisateur] [-realname nom_réel] [-command commande] [-autojoin canal[,canal]] ] | [del nom_serveur]</command>
|
||||
<programlisting>
|
||||
|
||||
+201
-191
File diff suppressed because it is too large
Load Diff
+94
-1
@@ -151,6 +151,11 @@ t_weechat_command weechat_commands[] =
|
||||
" unload: unload one or all plugins\n\n"
|
||||
"Without argument, /plugin command lists loaded plugins."),
|
||||
"list|listfull|load|autoload|reload|unload %P", 0, 2, 0, weechat_cmd_plugin, NULL },
|
||||
{ "reconnect", N_("reconnect to server(s)"),
|
||||
N_("[-all | servername [servername ...]]"),
|
||||
N_(" -all: reconnect to all servers\n"
|
||||
"servername: server name to reconnect"),
|
||||
"%S|-all", 0, MAX_ARGS, 0, weechat_cmd_reconnect, NULL },
|
||||
{ "server", N_("list, add or remove servers"),
|
||||
N_("[servername] | "
|
||||
"[servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-pwd password] [-nicks nick1 "
|
||||
@@ -1825,7 +1830,7 @@ weechat_cmd_disconnect_one_server (t_irc_server *server)
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_cmd_disconnect: disconnect from a server
|
||||
* weechat_cmd_disconnect: disconnect from server(s)
|
||||
*/
|
||||
|
||||
int
|
||||
@@ -2734,6 +2739,94 @@ weechat_cmd_plugin (t_irc_server *server, t_irc_channel *channel,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_cmd_reconnect_one_server: reconnect to a server
|
||||
* return 0 if error, 1 if ok
|
||||
*/
|
||||
|
||||
int
|
||||
weechat_cmd_reconnect_one_server (t_irc_server *server)
|
||||
{
|
||||
if ((!server->is_connected) && (server->child_pid == 0))
|
||||
{
|
||||
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
|
||||
gui_printf (server->buffer,
|
||||
_("%s not connected to server \"%s\"!\n"),
|
||||
WEECHAT_ERROR, server->name);
|
||||
return 0;
|
||||
}
|
||||
irc_send_quit_server (server, NULL);
|
||||
server_disconnect (server, 0);
|
||||
if (server_connect (server))
|
||||
{
|
||||
server->reconnect_start = 0;
|
||||
server->reconnect_join = (server->channels) ? 1 : 0;
|
||||
}
|
||||
gui_status_draw (server->buffer, 1);
|
||||
|
||||
/* reconnect ok */
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_cmd_reconnect: reconnect to server(s)
|
||||
*/
|
||||
|
||||
int
|
||||
weechat_cmd_reconnect (t_irc_server *server, t_irc_channel *channel,
|
||||
int argc, char **argv)
|
||||
{
|
||||
t_gui_buffer *buffer;
|
||||
t_irc_server *ptr_server;
|
||||
int i, reconnect_ok;
|
||||
|
||||
irc_find_context (server, channel, NULL, &buffer);
|
||||
|
||||
if (argc == 0)
|
||||
reconnect_ok = weechat_cmd_reconnect_one_server (server);
|
||||
else
|
||||
{
|
||||
reconnect_ok = 1;
|
||||
|
||||
if (ascii_strcasecmp (argv[0], "-all") == 0)
|
||||
{
|
||||
for (ptr_server = irc_servers; ptr_server;
|
||||
ptr_server = ptr_server->next_server)
|
||||
{
|
||||
if ((ptr_server->is_connected) || (ptr_server->child_pid != 0))
|
||||
{
|
||||
if (!weechat_cmd_reconnect_one_server (ptr_server))
|
||||
reconnect_ok = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = 0; i < argc; i++)
|
||||
{
|
||||
ptr_server = server_search (argv[i]);
|
||||
if (ptr_server)
|
||||
{
|
||||
if (!weechat_cmd_reconnect_one_server (ptr_server))
|
||||
reconnect_ok = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
|
||||
gui_printf (NULL, _("%s server \"%s\" not found\n"),
|
||||
WEECHAT_ERROR, argv[i]);
|
||||
reconnect_ok = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!reconnect_ok)
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_cmd_save: save WeeChat and plugins options to disk
|
||||
*/
|
||||
|
||||
@@ -73,6 +73,7 @@ extern int weechat_cmd_ignore (t_irc_server *, t_irc_channel *, int, char **);
|
||||
extern int weechat_cmd_key (t_irc_server *, t_irc_channel *, char *);
|
||||
extern int weechat_cmd_panel (t_irc_server *, t_irc_channel *, int, char **);
|
||||
extern int weechat_cmd_plugin (t_irc_server *, t_irc_channel *, int, char **);
|
||||
extern int weechat_cmd_reconnect (t_irc_server *, t_irc_channel *, int, char **);
|
||||
extern int weechat_cmd_save (t_irc_server *, t_irc_channel *, int, char **);
|
||||
extern int weechat_cmd_server (t_irc_server *, t_irc_channel *, int, char **);
|
||||
extern int weechat_cmd_set (t_irc_server *, t_irc_channel *, char *);
|
||||
|
||||
@@ -5,6 +5,7 @@ ChangeLog - 2007-04-24
|
||||
|
||||
|
||||
Version 0.2.5 (under dev!):
|
||||
* added /reconnect command (task #5448)
|
||||
* added "-all" option for /connect and /disconnect commands (task #6232)
|
||||
* improved nick completion: completion with last speakers first and self
|
||||
nick at the end; added option look_nick_completion_smart, enabled by
|
||||
|
||||
@@ -49,18 +49,20 @@ Fenster leeren
|
||||
Nummer: lösche den Puffer mit der angegebenen Nummer
|
||||
|
||||
</programlisting>
|
||||
<command>connect [Servername]</command>
|
||||
<command>connect [-all | servername [servername ...]]</command>
|
||||
<programlisting>
|
||||
mit einem Server verbinden
|
||||
connect to server(s)
|
||||
|
||||
Servername: Zielserver
|
||||
-all: connect to all servers
|
||||
servername: server name to connect
|
||||
|
||||
</programlisting>
|
||||
<command>disconnect [Servername]</command>
|
||||
<command>disconnect [-all | servername [servername...]]</command>
|
||||
<programlisting>
|
||||
Serververbindung trennen
|
||||
disconnect from server(s)
|
||||
|
||||
Servername: Name des zu trennenden Servers
|
||||
-all: disconnect from all servers
|
||||
servername: server name to disconnect
|
||||
|
||||
</programlisting>
|
||||
<command>dcc Aktion [Nickname [Datei]]</command>
|
||||
@@ -134,6 +136,14 @@ autoload: lade automatisch alle Plugins im System- oder Benutzerverzeichnis
|
||||
|
||||
Ohne Argument, listet /plugin alle geladenen Plugins auf.
|
||||
|
||||
</programlisting>
|
||||
<command>reconnect [-all | servername [servername ...]]</command>
|
||||
<programlisting>
|
||||
reconnect to server(s)
|
||||
|
||||
-all: reconnect to all servers
|
||||
servername: server name to reconnect
|
||||
|
||||
</programlisting>
|
||||
<command>server [Servername] | [Servername Hostname Port [-auto | -noauto] [-ipv6] [-ssl] [-pwd Passwort] [-nicks Nick1 Nick2 Nick3] [-username Benutzername] [-realname Name] [-command Befehl] [-autojoin Channel[,Channel]] ] | [del Servername]</command>
|
||||
<programlisting>
|
||||
|
||||
@@ -49,17 +49,19 @@ clear window(s)
|
||||
number: clear buffer by number
|
||||
|
||||
</programlisting>
|
||||
<command>connect [servername]</command>
|
||||
<command>connect [-all | servername [servername ...]]</command>
|
||||
<programlisting>
|
||||
connect to a server
|
||||
connect to server(s)
|
||||
|
||||
-all: connect to all servers
|
||||
servername: server name to connect
|
||||
|
||||
</programlisting>
|
||||
<command>disconnect [servername]</command>
|
||||
<command>disconnect [-all | servername [servername...]]</command>
|
||||
<programlisting>
|
||||
disconnect from a server
|
||||
disconnect from server(s)
|
||||
|
||||
-all: disconnect from all servers
|
||||
servername: server name to disconnect
|
||||
|
||||
</programlisting>
|
||||
@@ -133,6 +135,14 @@ autoload: autoload plugins in system or user directory
|
||||
|
||||
Without argument, /plugin command lists loaded plugins.
|
||||
|
||||
</programlisting>
|
||||
<command>reconnect [-all | servername [servername ...]]</command>
|
||||
<programlisting>
|
||||
reconnect to server(s)
|
||||
|
||||
-all: reconnect to all servers
|
||||
servername: server name to reconnect
|
||||
|
||||
</programlisting>
|
||||
<command>server [servername] | [servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-pwd password] [-nicks nick1 nick2 nick3] [-username username] [-realname realname] [-command command] [-autojoin channel[,channel]] ] | [del servername]</command>
|
||||
<programlisting>
|
||||
|
||||
@@ -49,17 +49,19 @@ effacer la/les fen
|
||||
nombre: effacer un tampon par son numéro
|
||||
|
||||
</programlisting>
|
||||
<command>connect [nom_serveur]</command>
|
||||
<command>connect [-all | nom_serveur [nom_serveur...]]</command>
|
||||
<programlisting>
|
||||
se connecter à un serveur
|
||||
se connecter à un/plusieurs serveur(s)
|
||||
|
||||
-all: se connecter à tous les serveurs
|
||||
nom_serveur: nom du serveur pour se connecter
|
||||
|
||||
</programlisting>
|
||||
<command>disconnect [nom_serveur]</command>
|
||||
<command>disconnect [-all | nom_serveur [nom_serveur...]]</command>
|
||||
<programlisting>
|
||||
se déconnecter d'un serveur
|
||||
se déconnecter d'un/plusieurs serveur(s)
|
||||
|
||||
-all: se déconnecter de tous les serveurs
|
||||
nom_serveur: nom du serveur pour se déconnecter
|
||||
|
||||
</programlisting>
|
||||
@@ -133,6 +135,14 @@ autoload: charger automatiquement les extensions dans un r
|
||||
|
||||
Sans paramètre, la commande /plugin liste les extensions chargées.
|
||||
|
||||
</programlisting>
|
||||
<command>reconnect [-all | nom_serveur [nom_serveur...]]</command>
|
||||
<programlisting>
|
||||
se reconnecter à un/plusieurs serveur(s)
|
||||
|
||||
-all: se reconnecter à tous les serveurs
|
||||
nom_serveur: nom du serveur pour se reconnecter
|
||||
|
||||
</programlisting>
|
||||
<command>server [nom_serveur] | [nom_serveur nom/IP port [-auto | -noauto] [-ipv6] [-ssl] [-pwd mot_de_passe] [-nicks pseudo1 pseudo2 pseudo3] [-username nom_utilisateur] [-realname nom_réel] [-command commande] [-autojoin canal[,canal]] ] | [del nom_serveur]</command>
|
||||
<programlisting>
|
||||
|
||||
+200
-188
File diff suppressed because it is too large
Load Diff
+200
-188
File diff suppressed because it is too large
Load Diff
+200
-188
File diff suppressed because it is too large
Load Diff
+201
-189
File diff suppressed because it is too large
Load Diff
+200
-188
File diff suppressed because it is too large
Load Diff
+200
-188
File diff suppressed because it is too large
Load Diff
+201
-191
File diff suppressed because it is too large
Load Diff
@@ -151,6 +151,11 @@ t_weechat_command weechat_commands[] =
|
||||
" unload: unload one or all plugins\n\n"
|
||||
"Without argument, /plugin command lists loaded plugins."),
|
||||
"list|listfull|load|autoload|reload|unload %P", 0, 2, 0, weechat_cmd_plugin, NULL },
|
||||
{ "reconnect", N_("reconnect to server(s)"),
|
||||
N_("[-all | servername [servername ...]]"),
|
||||
N_(" -all: reconnect to all servers\n"
|
||||
"servername: server name to reconnect"),
|
||||
"%S|-all", 0, MAX_ARGS, 0, weechat_cmd_reconnect, NULL },
|
||||
{ "server", N_("list, add or remove servers"),
|
||||
N_("[servername] | "
|
||||
"[servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-pwd password] [-nicks nick1 "
|
||||
@@ -1825,7 +1830,7 @@ weechat_cmd_disconnect_one_server (t_irc_server *server)
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_cmd_disconnect: disconnect from a server
|
||||
* weechat_cmd_disconnect: disconnect from server(s)
|
||||
*/
|
||||
|
||||
int
|
||||
@@ -2734,6 +2739,94 @@ weechat_cmd_plugin (t_irc_server *server, t_irc_channel *channel,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_cmd_reconnect_one_server: reconnect to a server
|
||||
* return 0 if error, 1 if ok
|
||||
*/
|
||||
|
||||
int
|
||||
weechat_cmd_reconnect_one_server (t_irc_server *server)
|
||||
{
|
||||
if ((!server->is_connected) && (server->child_pid == 0))
|
||||
{
|
||||
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
|
||||
gui_printf (server->buffer,
|
||||
_("%s not connected to server \"%s\"!\n"),
|
||||
WEECHAT_ERROR, server->name);
|
||||
return 0;
|
||||
}
|
||||
irc_send_quit_server (server, NULL);
|
||||
server_disconnect (server, 0);
|
||||
if (server_connect (server))
|
||||
{
|
||||
server->reconnect_start = 0;
|
||||
server->reconnect_join = (server->channels) ? 1 : 0;
|
||||
}
|
||||
gui_status_draw (server->buffer, 1);
|
||||
|
||||
/* reconnect ok */
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_cmd_reconnect: reconnect to server(s)
|
||||
*/
|
||||
|
||||
int
|
||||
weechat_cmd_reconnect (t_irc_server *server, t_irc_channel *channel,
|
||||
int argc, char **argv)
|
||||
{
|
||||
t_gui_buffer *buffer;
|
||||
t_irc_server *ptr_server;
|
||||
int i, reconnect_ok;
|
||||
|
||||
irc_find_context (server, channel, NULL, &buffer);
|
||||
|
||||
if (argc == 0)
|
||||
reconnect_ok = weechat_cmd_reconnect_one_server (server);
|
||||
else
|
||||
{
|
||||
reconnect_ok = 1;
|
||||
|
||||
if (ascii_strcasecmp (argv[0], "-all") == 0)
|
||||
{
|
||||
for (ptr_server = irc_servers; ptr_server;
|
||||
ptr_server = ptr_server->next_server)
|
||||
{
|
||||
if ((ptr_server->is_connected) || (ptr_server->child_pid != 0))
|
||||
{
|
||||
if (!weechat_cmd_reconnect_one_server (ptr_server))
|
||||
reconnect_ok = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = 0; i < argc; i++)
|
||||
{
|
||||
ptr_server = server_search (argv[i]);
|
||||
if (ptr_server)
|
||||
{
|
||||
if (!weechat_cmd_reconnect_one_server (ptr_server))
|
||||
reconnect_ok = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
|
||||
gui_printf (NULL, _("%s server \"%s\" not found\n"),
|
||||
WEECHAT_ERROR, argv[i]);
|
||||
reconnect_ok = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!reconnect_ok)
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_cmd_save: save WeeChat and plugins options to disk
|
||||
*/
|
||||
|
||||
@@ -73,6 +73,7 @@ extern int weechat_cmd_ignore (t_irc_server *, t_irc_channel *, int, char **);
|
||||
extern int weechat_cmd_key (t_irc_server *, t_irc_channel *, char *);
|
||||
extern int weechat_cmd_panel (t_irc_server *, t_irc_channel *, int, char **);
|
||||
extern int weechat_cmd_plugin (t_irc_server *, t_irc_channel *, int, char **);
|
||||
extern int weechat_cmd_reconnect (t_irc_server *, t_irc_channel *, int, char **);
|
||||
extern int weechat_cmd_save (t_irc_server *, t_irc_channel *, int, char **);
|
||||
extern int weechat_cmd_server (t_irc_server *, t_irc_channel *, int, char **);
|
||||
extern int weechat_cmd_set (t_irc_server *, t_irc_channel *, char *);
|
||||
|
||||
Reference in New Issue
Block a user