diff options
author | Sébastien Helleu <flashcode@flashtux.org> | 2023-04-27 22:58:02 +0200 |
---|---|---|
committer | Sébastien Helleu <flashcode@flashtux.org> | 2023-04-27 22:59:24 +0200 |
commit | f90d8667a4d6a008d3523e29617759231399ceff (patch) | |
tree | cd4fe89eadb14c0043792706be12d8c520f4c33e /src/plugins/irc/irc-server.c | |
parent | core: add missing French translation (diff) | |
download | weechat-f90d8667a4d6a008d3523e29617759231399ceff.tar.xz weechat-f90d8667a4d6a008d3523e29617759231399ceff.zip |
irc: add `${username}` in server options "nicks" and "username", change their default values to use it
Diffstat (limited to 'src/plugins/irc/irc-server.c')
-rw-r--r-- | src/plugins/irc/irc-server.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/plugins/irc/irc-server.c b/src/plugins/irc/irc-server.c index 35c39fd25..d61e8f938 100644 --- a/src/plugins/irc/irc-server.c +++ b/src/plugins/irc/irc-server.c @@ -43,6 +43,7 @@ #include <netinet/in.h> #include <arpa/nameser.h> #include <resolv.h> +#include <pwd.h> #include <gnutls/gnutls.h> #include <gnutls/x509.h> @@ -98,9 +99,11 @@ char *irc_server_options[IRC_SERVER_NUM_OPTIONS][2] = { "autoconnect", "off" }, { "autoreconnect", "on" }, { "autoreconnect_delay", "10" }, - { "nicks", "" }, + { "nicks", + "${username},${username}2,${username}3," + "${username}4,${username}5" }, { "nicks_alternate", "on" }, - { "username", "" }, + { "username", "${username}" }, { "realname", "" }, { "local_hostname", "" }, { "usermode", "" }, @@ -361,6 +364,7 @@ irc_server_eval_expression (struct t_irc_server *server, const char *string) { struct t_hashtable *pointers, *extra_vars; char *value; + struct passwd *my_passwd; pointers = weechat_hashtable_new ( 32, @@ -381,6 +385,11 @@ irc_server_eval_expression (struct t_irc_server *server, const char *string) weechat_hashtable_set (extra_vars, "server", server->name); } + if ((my_passwd = getpwuid (geteuid ())) != NULL) + weechat_hashtable_set (extra_vars, "username", my_passwd->pw_name); + else + weechat_hashtable_set (extra_vars, "username", "weechat"); + value = weechat_string_eval_expression (string, pointers, extra_vars, NULL); @@ -1954,7 +1963,7 @@ irc_server_alloc_with_url (const char *irc_url) if (server_nicks) { snprintf (server_nicks, length, - "%s,%s1,%s2,%s3,%s4", + "%s,%s2,%s3,%s4,%s5", pos_nick, pos_nick, pos_nick, pos_nick, pos_nick); weechat_config_option_set ( ptr_server->options[IRC_SERVER_OPTION_NICKS], |