mirror of
https://github.com/profanity-im/profanity.git
synced 2025-01-03 14:57:42 -05:00
Connect to an account on start-up
This commit enables connecting to an account on startup which enables the use case of having different pre-configured scripts which start different profanity processes for different accounts. This only makes sense in the light of not supporting many accounts connected per process.
This commit is contained in:
parent
3cc080b06a
commit
ac7ec7f2d1
@ -32,6 +32,7 @@
|
|||||||
static gboolean disable_tls = FALSE;
|
static gboolean disable_tls = FALSE;
|
||||||
static gboolean version = FALSE;
|
static gboolean version = FALSE;
|
||||||
static char *log = "INFO";
|
static char *log = "INFO";
|
||||||
|
static char *account_name = "";
|
||||||
|
|
||||||
int
|
int
|
||||||
main(int argc, char **argv)
|
main(int argc, char **argv)
|
||||||
@ -40,6 +41,7 @@ main(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
{ "version", 'v', 0, G_OPTION_ARG_NONE, &version, "Show version information", NULL },
|
{ "version", 'v', 0, G_OPTION_ARG_NONE, &version, "Show version information", NULL },
|
||||||
{ "disable-tls", 'd', 0, G_OPTION_ARG_NONE, &disable_tls, "Disable TLS", NULL },
|
{ "disable-tls", 'd', 0, G_OPTION_ARG_NONE, &disable_tls, "Disable TLS", NULL },
|
||||||
|
{ "account", 'a', 0, G_OPTION_ARG_STRING, &account_name, "Auto connect to an account on start-up" },
|
||||||
{ "log",'l', 0, G_OPTION_ARG_STRING, &log, "Set logging levels, DEBUG, INFO (default), WARN, ERROR", "LEVEL" },
|
{ "log",'l', 0, G_OPTION_ARG_STRING, &log, "Set logging levels, DEBUG, INFO (default), WARN, ERROR", "LEVEL" },
|
||||||
{ NULL }
|
{ NULL }
|
||||||
};
|
};
|
||||||
@ -77,7 +79,7 @@ main(int argc, char **argv)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
prof_run(disable_tls, log);
|
prof_run(disable_tls, log, account_name);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -58,7 +58,7 @@ static void _create_directories(void);
|
|||||||
static gboolean idle = FALSE;
|
static gboolean idle = FALSE;
|
||||||
|
|
||||||
void
|
void
|
||||||
prof_run(const int disable_tls, char *log_level)
|
prof_run(const int disable_tls, char *log_level, char *account_name)
|
||||||
{
|
{
|
||||||
_init(disable_tls, log_level);
|
_init(disable_tls, log_level);
|
||||||
log_info("Starting main event loop");
|
log_info("Starting main event loop");
|
||||||
@ -70,6 +70,12 @@ prof_run(const int disable_tls, char *log_level)
|
|||||||
char inp[INP_WIN_MAX];
|
char inp[INP_WIN_MAX];
|
||||||
int size = 0;
|
int size = 0;
|
||||||
|
|
||||||
|
if (strlen(account_name) != 0) {
|
||||||
|
char *cmd = "/connect";
|
||||||
|
snprintf(inp, sizeof(inp), "%s %s", cmd, account_name);
|
||||||
|
cmd_execute(cmd, inp);
|
||||||
|
}
|
||||||
|
|
||||||
while(cmd_result == TRUE) {
|
while(cmd_result == TRUE) {
|
||||||
wint_t ch = ERR;
|
wint_t ch = ERR;
|
||||||
size = 0;
|
size = 0;
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
#include "xmpp/xmpp.h"
|
#include "xmpp/xmpp.h"
|
||||||
|
|
||||||
void prof_run(const int disable_tls, char *log_level);
|
void prof_run(const int disable_tls, char *log_level, char *account_name);
|
||||||
|
|
||||||
void prof_handle_login_success(const char *jid, const char *altdomain);
|
void prof_handle_login_success(const char *jid, const char *altdomain);
|
||||||
void prof_handle_login_account_success(char *account_name);
|
void prof_handle_login_account_success(char *account_name);
|
||||||
|
Loading…
Reference in New Issue
Block a user