mirror of
https://github.com/profanity-im/profanity.git
synced 2024-12-04 14:46:46 -05:00
add now
option to /reconnect
command
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
This commit is contained in:
parent
a45f05a45e
commit
a0aa26b6fa
@ -1936,11 +1936,13 @@ static const struct cmd_t command_defs[] = {
|
|||||||
CMD_TAGS(
|
CMD_TAGS(
|
||||||
CMD_TAG_CONNECTION)
|
CMD_TAG_CONNECTION)
|
||||||
CMD_SYN(
|
CMD_SYN(
|
||||||
"/reconnect <seconds>")
|
"/reconnect <seconds>",
|
||||||
|
"/reconnect now")
|
||||||
CMD_DESC(
|
CMD_DESC(
|
||||||
"Set the reconnect attempt interval for when the connection is lost.")
|
"Set the reconnect attempt interval for when the connection is lost or immediately trigger a reconnect.")
|
||||||
CMD_ARGS(
|
CMD_ARGS(
|
||||||
{ "<seconds>", "Number of seconds before attempting to reconnect, a value of 0 disables reconnect." })
|
{ "<seconds>", "Number of seconds before attempting to reconnect, a value of 0 disables reconnect." },
|
||||||
|
{ "now", "Immediately trigger a reconnect." })
|
||||||
},
|
},
|
||||||
|
|
||||||
{ CMD_PREAMBLE("/autoping",
|
{ CMD_PREAMBLE("/autoping",
|
||||||
|
@ -82,16 +82,17 @@
|
|||||||
#include "plugins/plugins.h"
|
#include "plugins/plugins.h"
|
||||||
#include "ui/ui.h"
|
#include "ui/ui.h"
|
||||||
#include "ui/window_list.h"
|
#include "ui/window_list.h"
|
||||||
#include "xmpp/xmpp.h"
|
#include "xmpp/avatar.h"
|
||||||
|
#include "xmpp/chat_session.h"
|
||||||
#include "xmpp/connection.h"
|
#include "xmpp/connection.h"
|
||||||
#include "xmpp/contact.h"
|
#include "xmpp/contact.h"
|
||||||
#include "xmpp/roster_list.h"
|
|
||||||
#include "xmpp/jid.h"
|
#include "xmpp/jid.h"
|
||||||
#include "xmpp/muc.h"
|
#include "xmpp/muc.h"
|
||||||
#include "xmpp/chat_session.h"
|
#include "xmpp/roster_list.h"
|
||||||
#include "xmpp/avatar.h"
|
#include "xmpp/session.h"
|
||||||
#include "xmpp/stanza.h"
|
#include "xmpp/stanza.h"
|
||||||
#include "xmpp/vcard_funcs.h"
|
#include "xmpp/vcard_funcs.h"
|
||||||
|
#include "xmpp/xmpp.h"
|
||||||
|
|
||||||
#ifdef HAVE_LIBOTR
|
#ifdef HAVE_LIBOTR
|
||||||
#include "otr/otr.h"
|
#include "otr/otr.h"
|
||||||
@ -6539,8 +6540,9 @@ cmd_reconnect(ProfWin* window, const char* const command, gchar** args)
|
|||||||
|
|
||||||
int intval = 0;
|
int intval = 0;
|
||||||
char* err_msg = NULL;
|
char* err_msg = NULL;
|
||||||
gboolean res = strtoi_range(value, &intval, 0, INT_MAX, &err_msg);
|
if (g_strcmp0(value, "now") == 0) {
|
||||||
if (res) {
|
session_reconnect_now();
|
||||||
|
} else if (strtoi_range(value, &intval, 0, INT_MAX, &err_msg)) {
|
||||||
prefs_set_reconnect(intval);
|
prefs_set_reconnect(intval);
|
||||||
if (intval == 0) {
|
if (intval == 0) {
|
||||||
cons_show("Reconnect disabled.", intval);
|
cons_show("Reconnect disabled.", intval);
|
||||||
|
@ -96,8 +96,6 @@ static activity_state_t activity_state;
|
|||||||
static resource_presence_t saved_presence;
|
static resource_presence_t saved_presence;
|
||||||
static char* saved_status;
|
static char* saved_status;
|
||||||
|
|
||||||
static void _session_reconnect(void);
|
|
||||||
|
|
||||||
static void _session_free_internals(void);
|
static void _session_free_internals(void);
|
||||||
static void _session_free_saved_details(void);
|
static void _session_free_saved_details(void);
|
||||||
|
|
||||||
@ -268,12 +266,12 @@ session_process_events(void)
|
|||||||
if ((reconnect_sec != 0) && reconnect_timer) {
|
if ((reconnect_sec != 0) && reconnect_timer) {
|
||||||
int elapsed_sec = g_timer_elapsed(reconnect_timer, NULL);
|
int elapsed_sec = g_timer_elapsed(reconnect_timer, NULL);
|
||||||
if (elapsed_sec > reconnect_sec) {
|
if (elapsed_sec > reconnect_sec) {
|
||||||
_session_reconnect();
|
session_reconnect_now();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case JABBER_RECONNECT:
|
case JABBER_RECONNECT:
|
||||||
_session_reconnect();
|
session_reconnect_now();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@ -557,8 +555,8 @@ session_reconnect(gchar* altdomain, unsigned short altport)
|
|||||||
reconnect.altport = altport;
|
reconnect.altport = altport;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
void
|
||||||
_session_reconnect(void)
|
session_reconnect_now(void)
|
||||||
{
|
{
|
||||||
// reconnect with account.
|
// reconnect with account.
|
||||||
ProfAccount* account = accounts_get_account(saved_account.name);
|
ProfAccount* account = accounts_get_account(saved_account.name);
|
||||||
|
@ -47,5 +47,6 @@ void session_init_activity(void);
|
|||||||
void session_check_autoaway(void);
|
void session_check_autoaway(void);
|
||||||
|
|
||||||
void session_reconnect(gchar* altdomain, unsigned short altport);
|
void session_reconnect(gchar* altdomain, unsigned short altport);
|
||||||
|
void session_reconnect_now(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -38,6 +38,10 @@ session_connect_with_account(const ProfAccount* const account)
|
|||||||
return mock_type(jabber_conn_status_t);
|
return mock_type(jabber_conn_status_t);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
session_reconnect_now(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
void
|
void
|
||||||
session_disconnect(void)
|
session_disconnect(void)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user