Add new option irc.look.color_nicks_in_nicklist

v2.8-utf8proc
Sebastien Helleu 2011-02-23 16:45:43 +01:00
parent 0e51b63686
commit 4eb2546082
19 changed files with 169 additions and 39 deletions

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"
@ -4592,6 +4592,10 @@ msgstr "%s nincs elég memória az információs pult üzenethez\n"
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"

View File

@ -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"

View File

@ -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"

View File

@ -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 ""

View File

@ -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"
@ -4599,6 +4599,10 @@ msgstr "%s недостаточно памяти для сообщения в с
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 "запросить местное время сервера"

View File

@ -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 ""

View File

@ -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;
@ -229,6 +230,41 @@ irc_config_change_nick_colors_cb (void *data, const char *option,
return WEECHAT_RC_OK;
}
/*
* 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",

View File

@ -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;

View File

@ -410,6 +410,54 @@ irc_nick_get_prefix_color (struct t_irc_server *server,
return prefix_color;
}
/*
* 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);
@ -469,28 +516,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));
}
}
}

View File

@ -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,