summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog1
-rw-r--r--doc/de/autogen/user/irc_options.txt5
-rw-r--r--doc/en/autogen/user/irc_options.txt5
-rw-r--r--doc/fr/autogen/user/irc_options.txt5
-rw-r--r--doc/it/autogen/user/irc_options.txt5
-rw-r--r--po/cs.po6
-rw-r--r--po/de.po6
-rw-r--r--po/es.po6
-rw-r--r--po/fr.po7
-rw-r--r--po/hu.po6
-rw-r--r--po/it.po6
-rw-r--r--po/pl.po6
-rw-r--r--po/pt_BR.po5
-rw-r--r--po/ru.po6
-rw-r--r--po/weechat.pot5
-rw-r--r--src/plugins/irc/irc-config.c44
-rw-r--r--src/plugins/irc/irc-config.h1
-rw-r--r--src/plugins/irc/irc-nick.c78
-rw-r--r--src/plugins/irc/irc-nick.h5
19 files changed, 169 insertions, 39 deletions
diff --git a/ChangeLog b/ChangeLog
index 8577e7481..d298a5f0b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -25,6 +25,7 @@ Version 0.3.5 (under dev!)
* core: dynamically allocate color pairs (extended colors can be used without
being added with command "/color")
* core: allow background for nick colors (using ":")
+* irc: add new option irc.look.color_nicks_in_nicklist
* irc: fix crash when completing /part command on a non-irc buffer (bug #32402)
* irc: add many missing commands for target buffer (options irc.msgbuffer.xxx)
(bug #32216)
diff --git a/doc/de/autogen/user/irc_options.txt b/doc/de/autogen/user/irc_options.txt
index 197c39774..8850b1de8 100644
--- a/doc/de/autogen/user/irc_options.txt
+++ b/doc/de/autogen/user/irc_options.txt
@@ -73,6 +73,11 @@
** Typ: Farbe
** Werte: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "%" for reverse, "_" for underline (Standardwert: `default`)
+* *irc.look.color_nicks_in_nicklist*
+** Beschreibung: `use nick color in nicklist`
+** Typ: boolesch
+** Werte: on, off (Standardwert: `off`)
+
* *irc.look.color_nicks_in_server_messages*
** Beschreibung: `Nutze Nick-Farbe bei Nachrichten vom Server`
** Typ: boolesch
diff --git a/doc/en/autogen/user/irc_options.txt b/doc/en/autogen/user/irc_options.txt
index 1f53c1ee9..d64d9cea8 100644
--- a/doc/en/autogen/user/irc_options.txt
+++ b/doc/en/autogen/user/irc_options.txt
@@ -73,6 +73,11 @@
** type: color
** values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "%" for reverse, "_" for underline (default value: `default`)
+* *irc.look.color_nicks_in_nicklist*
+** description: `use nick color in nicklist`
+** type: boolean
+** values: on, off (default value: `off`)
+
* *irc.look.color_nicks_in_server_messages*
** description: `use nick color in messages from server`
** type: boolean
diff --git a/doc/fr/autogen/user/irc_options.txt b/doc/fr/autogen/user/irc_options.txt
index b5d8c66d3..7b935c130 100644
--- a/doc/fr/autogen/user/irc_options.txt
+++ b/doc/fr/autogen/user/irc_options.txt
@@ -73,6 +73,11 @@
** type: couleur
** valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour du gras, "%" pour la vidéo inverse, "_" pour du souligné (valeur par défaut: `default`)
+* *irc.look.color_nicks_in_nicklist*
+** description: `utiliser la couleur du pseudo dans la liste des pseudos`
+** type: booléen
+** valeurs: on, off (valeur par défaut: `off`)
+
* *irc.look.color_nicks_in_server_messages*
** description: `utiliser la couleur du pseudo dans les messages du serveur`
** type: booléen
diff --git a/doc/it/autogen/user/irc_options.txt b/doc/it/autogen/user/irc_options.txt
index 67ae16091..776773635 100644
--- a/doc/it/autogen/user/irc_options.txt
+++ b/doc/it/autogen/user/irc_options.txt
@@ -73,6 +73,11 @@
** tipo: colore
** valori: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "%" for reverse, "_" for underline (valore predefinito: `default`)
+* *irc.look.color_nicks_in_nicklist*
+** descrizione: `use nick color in nicklist`
+** tipo: bool
+** valori: on, off (valore predefinito: `off`)
+
* *irc.look.color_nicks_in_server_messages*
** descrizione: `utilizza i colori dei nick nei messaggi dal server`
** tipo: bool
diff --git a/po/cs.po b/po/cs.po
index 59a0f498b..69d3f9352 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.5-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2011-02-22 19:27+0100\n"
+"POT-Creation-Date: 2011-02-23 16:43+0100\n"
"PO-Revision-Date: 2011-02-07 17:29+0100\n"
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4912,6 +4912,10 @@ msgstr "%s%s: chyba při vytváření serveru \"%s\""
msgid "%s%s: error creating server option \"%s\""
msgstr "%s%s: chyba při vytváření volby serveru \"%s\""
+#, fuzzy
+msgid "use nick color in nicklist"
+msgstr "barva textu pro skupiny v seznamu přezdívek"
+
msgid "use nick color in messages from server"
msgstr "použít barvu přezdívky ve zprávách ze serveru"
diff --git a/po/de.po b/po/de.po
index f55a50ee9..bb7e0586a 100644
--- a/po/de.po
+++ b/po/de.po
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.5-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2011-02-22 19:27+0100\n"
+"POT-Creation-Date: 2011-02-23 16:43+0100\n"
"PO-Revision-Date: 2011-02-22 19:26+0100\n"
"Last-Translator: Nils G.\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5106,6 +5106,10 @@ msgstr "%s%s: Fehler bei der Erstellung des Servers \"%s\""
msgid "%s%s: error creating server option \"%s\""
msgstr "%s%s: Fehler bei der Erstellung der Server-Option \"%s\""
+#, fuzzy
+msgid "use nick color in nicklist"
+msgstr "Textfarbe für Gruppen in Nickliste"
+
msgid "use nick color in messages from server"
msgstr "Nutze Nick-Farbe bei Nachrichten vom Server"
diff --git a/po/es.po b/po/es.po
index cae23be73..821fb8ce0 100644
--- a/po/es.po
+++ b/po/es.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.5-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2011-02-22 19:27+0100\n"
+"POT-Creation-Date: 2011-02-23 16:43+0100\n"
"PO-Revision-Date: 2011-02-07 17:29+0100\n"
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5023,6 +5023,10 @@ msgstr "%s%s: error al crear el servidor \"%s\""
msgid "%s%s: error creating server option \"%s\""
msgstr "%s%s: error al crear la opción \"%s\" del servidor"
+#, fuzzy
+msgid "use nick color in nicklist"
+msgstr "color para grupos en la lista de apodos"
+
msgid "use nick color in messages from server"
msgstr "usar color del apodo en mensajes del servidor"
diff --git a/po/fr.po b/po/fr.po
index d812f0316..707ca90c8 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -21,8 +21,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.5-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2011-02-22 19:27+0100\n"
-"PO-Revision-Date: 2011-02-22 19:26+0100\n"
+"POT-Creation-Date: 2011-02-23 16:43+0100\n"
+"PO-Revision-Date: 2011-02-23 14:24+0100\n"
"Last-Translator: Sebastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: French\n"
@@ -5017,6 +5017,9 @@ msgstr "%s%s: erreur de création du serveur \"%s\""
msgid "%s%s: error creating server option \"%s\""
msgstr "%s%s: erreur de création de l'option serveur \"%s\""
+msgid "use nick color in nicklist"
+msgstr "utiliser la couleur du pseudo dans la liste des pseudos"
+
msgid "use nick color in messages from server"
msgstr "utiliser la couleur du pseudo dans les messages du serveur"
diff --git a/po/hu.po b/po/hu.po
index 14a05d6f6..9884f9119 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.5-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2011-02-22 19:27+0100\n"
+"POT-Creation-Date: 2011-02-23 16:43+0100\n"
"PO-Revision-Date: 2011-02-07 17:29+0100\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4593,6 +4593,10 @@ msgid "%s%s: error creating server option \"%s\""
msgstr "%s nincs elég memória az információs pult üzenethez\n"
#, fuzzy
+msgid "use nick color in nicklist"
+msgstr "név színe"
+
+#, fuzzy
msgid "use nick color in messages from server"
msgstr "helyi idő lekérdezése a szerverről"
diff --git a/po/it.po b/po/it.po
index 4619260e9..210ba9e1a 100644
--- a/po/it.po
+++ b/po/it.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.5-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2011-02-22 19:27+0100\n"
+"POT-Creation-Date: 2011-02-23 16:43+0100\n"
"PO-Revision-Date: 2011-02-22 19:26+0100\n"
"Last-Translator: Marco Paolone <marcopaolone@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4937,6 +4937,10 @@ msgstr "%s%s: errore durante la creazione del server \"%s\""
msgid "%s%s: error creating server option \"%s\""
msgstr "%s%s: errore durante la creazione dell'opzione del server \"%s\""
+#, fuzzy
+msgid "use nick color in nicklist"
+msgstr "colore del testo per i gruppi nella lista nick"
+
msgid "use nick color in messages from server"
msgstr "utilizza i colori dei nick nei messaggi dal server"
diff --git a/po/pl.po b/po/pl.po
index f1fbc7e01..a1a37252e 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.5-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2011-02-22 19:27+0100\n"
+"POT-Creation-Date: 2011-02-23 16:43+0100\n"
"PO-Revision-Date: 2011-02-07 17:29+0100\n"
"Last-Translator: Krzysztof Koroscik <soltys@szluug.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5003,6 +5003,10 @@ msgstr "%s%s: błąd podczas tworzenia serwera \"%s\""
msgid "%s%s: error creating server option \"%s\""
msgstr "%s%s: błąd podczas tworzenia opcji dla serwera \"%s\""
+#, fuzzy
+msgid "use nick color in nicklist"
+msgstr "kolor grup na liście nicków"
+
msgid "use nick color in messages from server"
msgstr "użyj koloru nicka w wiadomościach od serwera"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index e079823b5..6a77420cb 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.5-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2011-02-22 19:27+0100\n"
+"POT-Creation-Date: 2011-02-23 16:43+0100\n"
"PO-Revision-Date: 2011-02-07 17:30+0100\n"
"Last-Translator: Ivan Sichmann Freitas <ivansichfreitas@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4434,6 +4434,9 @@ msgstr ""
msgid "%s%s: error creating server option \"%s\""
msgstr ""
+msgid "use nick color in nicklist"
+msgstr ""
+
msgid "use nick color in messages from server"
msgstr ""
diff --git a/po/ru.po b/po/ru.po
index 41ed7f8bc..8e5ae8173 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.5-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2011-02-22 19:27+0100\n"
+"POT-Creation-Date: 2011-02-23 16:43+0100\n"
"PO-Revision-Date: 2011-02-07 17:30+0100\n"
"Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4600,6 +4600,10 @@ msgid "%s%s: error creating server option \"%s\""
msgstr "%s недостаточно памяти для сообщения в строке информации\n"
#, fuzzy
+msgid "use nick color in nicklist"
+msgstr "цвет ника"
+
+#, fuzzy
msgid "use nick color in messages from server"
msgstr "запросить местное время сервера"
diff --git a/po/weechat.pot b/po/weechat.pot
index ee2b187eb..4d6a76de0 100644
--- a/po/weechat.pot
+++ b/po/weechat.pot
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2011-02-22 19:27+0100\n"
+"POT-Creation-Date: 2011-02-23 16:43+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -3901,6 +3901,9 @@ msgstr ""
msgid "%s%s: error creating server option \"%s\""
msgstr ""
+msgid "use nick color in nicklist"
+msgstr ""
+
msgid "use nick color in messages from server"
msgstr ""
diff --git a/src/plugins/irc/irc-config.c b/src/plugins/irc/irc-config.c
index d2c7989b0..945ba6bb9 100644
--- a/src/plugins/irc/irc-config.c
+++ b/src/plugins/irc/irc-config.c
@@ -50,6 +50,7 @@ struct t_config_section *irc_config_section_server = NULL;
/* IRC config, look section */
+struct t_config_option *irc_config_look_color_nicks_in_nicklist;
struct t_config_option *irc_config_look_color_nicks_in_server_messages;
struct t_config_option *irc_config_look_color_pv_nick_like_channel;
struct t_config_option *irc_config_look_server_buffer;
@@ -230,6 +231,41 @@ irc_config_change_nick_colors_cb (void *data, const char *option,
}
/*
+ * irc_config_change_look_color_nicks_in_nicklist: called when the
+ * "color nicks in nicklist"
+ * option is changed
+ */
+
+void
+irc_config_change_look_color_nicks_in_nicklist (void *data,
+ struct t_config_option *option)
+{
+ struct t_irc_server *ptr_server;
+ struct t_irc_channel *ptr_channel;
+ struct t_irc_nick *ptr_nick;
+
+ /* make C compiler happy */
+ (void) data;
+ (void) option;
+
+ for (ptr_server = irc_servers; ptr_server;
+ ptr_server = ptr_server->next_server)
+ {
+ for (ptr_channel = ptr_server->channels; ptr_channel;
+ ptr_channel = ptr_channel->next_channel)
+ {
+ for (ptr_nick = ptr_channel->nicks; ptr_nick;
+ ptr_nick = ptr_nick->next_nick)
+ {
+ irc_nick_nicklist_set (ptr_channel, ptr_nick, "color",
+ irc_nick_get_color_for_nicklist (ptr_server,
+ ptr_nick));
+ }
+ }
+ }
+}
+
+/*
* irc_config_change_look_server_buffer: called when the "one server buffer"
* option is changed
*/
@@ -1765,7 +1801,13 @@ irc_config_init ()
weechat_config_free (irc_config_file);
return 0;
}
-
+
+ irc_config_look_color_nicks_in_nicklist = weechat_config_new_option (
+ irc_config_file, ptr_section,
+ "color_nicks_in_nicklist", "boolean",
+ N_("use nick color in nicklist"),
+ NULL, 0, 0, "off", NULL, 0, NULL, NULL,
+ &irc_config_change_look_color_nicks_in_nicklist, NULL, NULL, NULL);
irc_config_look_color_nicks_in_server_messages = weechat_config_new_option (
irc_config_file, ptr_section,
"color_nicks_in_server_messages", "boolean",
diff --git a/src/plugins/irc/irc-config.h b/src/plugins/irc/irc-config.h
index b835f84e3..890617df3 100644
--- a/src/plugins/irc/irc-config.h
+++ b/src/plugins/irc/irc-config.h
@@ -75,6 +75,7 @@ extern struct t_config_section *irc_config_section_ctcp;
extern struct t_config_section *irc_config_section_server_default;
extern struct t_config_section *irc_config_section_server;
+extern struct t_config_option *irc_config_look_color_nicks_in_nicklist;
extern struct t_config_option *irc_config_look_color_nicks_in_server_messages;
extern struct t_config_option *irc_config_look_color_pv_nick_like_channel;
extern struct t_config_option *irc_config_look_server_buffer;
diff --git a/src/plugins/irc/irc-nick.c b/src/plugins/irc/irc-nick.c
index 6c69386e6..5419935f0 100644
--- a/src/plugins/irc/irc-nick.c
+++ b/src/plugins/irc/irc-nick.c
@@ -411,6 +411,54 @@ irc_nick_get_prefix_color (struct t_irc_server *server,
}
/*
+ * irc_nick_get_prefix_color_name: return name of color with a prefix number
+ */
+
+const char *
+irc_nick_get_prefix_color_name (int prefix_color)
+{
+ static char *color_for_prefix[] = {
+ "chat",
+ "irc.color.nick_prefix_op",
+ "irc.color.nick_prefix_halfop",
+ "irc.color.nick_prefix_voice",
+ "irc.color.nick_prefix_user",
+ };
+
+ if ((prefix_color >= 0) && (prefix_color <= 4))
+ return color_for_prefix[prefix_color];
+
+ /* no color by default (should not happen) */
+ return color_for_prefix[0];
+}
+
+/*
+ * irc_nick_get_color_for_nicklist: get nick color for nicklist
+ */
+
+const char *
+irc_nick_get_color_for_nicklist (struct t_irc_server *server,
+ struct t_irc_nick *nick)
+{
+ static char *nick_color_bar_fg = "bar_fg";
+ static char *nick_color_self = "weechat.color.chat_nick_self";
+ static char *nick_color_away = "weechat.color.nicklist_away";
+
+ if (nick->away)
+ return nick_color_away;
+
+ if (weechat_config_boolean(irc_config_look_color_nicks_in_nicklist))
+ {
+ if (weechat_strcasecmp (nick->name, server->nick) == 0)
+ return nick_color_self;
+ else
+ return irc_nick_find_color_name (nick->name);
+ }
+
+ return nick_color_bar_fg;
+}
+
+/*
* irc_nick_nicklist_add: add nick to buffer nicklist
*/
@@ -421,13 +469,12 @@ irc_nick_nicklist_add (struct t_irc_server *server,
{
int prefix_color;
struct t_gui_nick_group *ptr_group;
-
+
ptr_group = irc_nick_get_nicklist_group (server, channel->buffer, nick);
prefix_color = irc_nick_get_prefix_color (server, nick);
weechat_nicklist_add_nick (channel->buffer, ptr_group,
nick->name,
- (nick->away) ?
- "weechat.color.nicklist_away" : "bar_fg",
+ irc_nick_get_color_for_nicklist (server, nick),
nick->prefix,
irc_nick_get_prefix_color_name (prefix_color),
1);
@@ -470,28 +517,6 @@ irc_nick_nicklist_set (struct t_irc_channel *channel,
}
/*
- * irc_nick_get_prefix_color_name: return name of color with a prefix number
- */
-
-const char *
-irc_nick_get_prefix_color_name (int prefix_color)
-{
- static char *color_for_prefix[] = {
- "chat",
- "irc.color.nick_prefix_op",
- "irc.color.nick_prefix_halfop",
- "irc.color.nick_prefix_voice",
- "irc.color.nick_prefix_user",
- };
-
- if ((prefix_color >= 0) && (prefix_color <= 4))
- return color_for_prefix[prefix_color];
-
- /* no color by default (should not happen) */
- return color_for_prefix[0];
-}
-
-/*
* irc_nick_new: allocate a new nick for a channel and add it to the nick list
*/
@@ -769,8 +794,7 @@ irc_nick_set_away (struct t_irc_server *server, struct t_irc_channel *channel,
{
nick->away = is_away;
irc_nick_nicklist_set (channel, nick, "color",
- (nick->away) ?
- "weechat.color.nicklist_away" : "bar_fg");
+ irc_nick_get_color_for_nicklist (server, nick));
}
}
}
diff --git a/src/plugins/irc/irc-nick.h b/src/plugins/irc/irc-nick.h
index 53880c559..84cb61726 100644
--- a/src/plugins/irc/irc-nick.h
+++ b/src/plugins/irc/irc-nick.h
@@ -58,6 +58,11 @@ extern int irc_nick_has_prefix_mode (struct t_irc_server *server,
extern int irc_nick_get_prefix_color (struct t_irc_server *server,
struct t_irc_nick *nick);
extern const char *irc_nick_get_prefix_color_name (int prefix_color);
+extern const char *irc_nick_get_color_for_nicklist (struct t_irc_server *server,
+ struct t_irc_nick *nick);
+extern void irc_nick_nicklist_set (struct t_irc_channel *channel,
+ struct t_irc_nick *nick,
+ const char *property, const char *value);
extern struct t_irc_nick *irc_nick_new (struct t_irc_server *server,
struct t_irc_channel *channel,
const char *nickname,