diff options
author | Sebastien Helleu <flashcode@flashtux.org> | 2009-06-11 19:03:27 +0200 |
---|---|---|
committer | Sebastien Helleu <flashcode@flashtux.org> | 2009-06-11 19:03:27 +0200 |
commit | a06fa73ba82b9b7f69b5eb442087be39ea4dfd1e (patch) | |
tree | 1f0dcf51aeeb84a579055fe3a53171ecdf363c11 | |
parent | ec5c3aa3cc1970240f5d3afa05f50bcccc584744 (diff) | |
download | weechat-a06fa73ba82b9b7f69b5eb442087be39ea4dfd1e.zip |
Add option irc.look.item_display_server to display server with plugin or name in status bar
-rw-r--r-- | doc/en/autogen/user/irc_options.txt | 5 | ||||
-rw-r--r-- | doc/fr/autogen/user/irc_options.txt | 5 | ||||
-rw-r--r-- | po/cs.po | 5 | ||||
-rw-r--r-- | po/de.po | 5 | ||||
-rw-r--r-- | po/es.po | 5 | ||||
-rw-r--r-- | po/fr.po | 9 | ||||
-rw-r--r-- | po/hu.po | 5 | ||||
-rw-r--r-- | po/pl.po | 5 | ||||
-rw-r--r-- | po/ru.po | 5 | ||||
-rw-r--r-- | po/weechat.pot | 5 | ||||
-rw-r--r-- | src/plugins/irc/irc-bar-item.c | 67 | ||||
-rw-r--r-- | src/plugins/irc/irc-config.c | 25 | ||||
-rw-r--r-- | src/plugins/irc/irc-config.h | 7 |
13 files changed, 140 insertions, 13 deletions
diff --git a/doc/en/autogen/user/irc_options.txt b/doc/en/autogen/user/irc_options.txt index 28959c8ff..8ae312194 100644 --- a/doc/en/autogen/user/irc_options.txt +++ b/doc/en/autogen/user/irc_options.txt @@ -53,6 +53,11 @@ ** type: string ** values: any string (default value: "irc_privmsg,irc_notice") +* *irc.look.item_display_server* +** description: name of bar item where IRC server is displayed (for status bar) +** type: integer +** values: buffer_plugin, buffer_name (default value: buffer_plugin) + * *irc.look.nick_completion_smart* ** description: smart completion for nicks (completes first with last speakers) ** type: integer diff --git a/doc/fr/autogen/user/irc_options.txt b/doc/fr/autogen/user/irc_options.txt index 490b682af..ba2f0d09d 100644 --- a/doc/fr/autogen/user/irc_options.txt +++ b/doc/fr/autogen/user/irc_options.txt @@ -53,6 +53,11 @@ ** type: chaîne ** valeurs: toute chaîne (valeur par défaut: "irc_privmsg,irc_notice") +* *irc.look.item_display_server* +** description: name of bar item where IRC server is displayed (for status bar) +** type: entier +** valeurs: buffer_plugin, buffer_name (valeur par défaut: buffer_plugin) + * *irc.look.nick_completion_smart* ** description: complétion intelligente pour les pseudos (complète d'abord avec les personnes qui ont parlé récemment) ** type: entier @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.0-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-06-11 12:45+0200\n" +"POT-Creation-Date: 2009-06-11 19:00+0200\n" "PO-Revision-Date: 2009-05-11 13:02+0200\n" "Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -3799,6 +3799,9 @@ msgstr "" "čárkami oddělený seznam tagů pro zprávy, které mohou vyprodukovat zvýraznění " "(obvykle jakákoliv zpráva od jiného uživatele, ne zprávy serveru,...)" +msgid "name of bar item where IRC server is displayed (for status bar)" +msgstr "" + msgid "" "number of IRC raw messages to save in memory when raw data buffer is closed " "(messages will be displayed when opening raw data buffer)" @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.0-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-06-11 12:45+0200\n" +"POT-Creation-Date: 2009-06-11 19:00+0200\n" "PO-Revision-Date: 2009-05-11 13:02+0200\n" "Last-Translator: Thomas Schuetz <i18n@internet-villa.de>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -3776,6 +3776,9 @@ msgid "" "(usually any message from another user, not server messages,..)" msgstr "" +msgid "name of bar item where IRC server is displayed (for status bar)" +msgstr "" + msgid "" "number of IRC raw messages to save in memory when raw data buffer is closed " "(messages will be displayed when opening raw data buffer)" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.0-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-06-11 12:45+0200\n" +"POT-Creation-Date: 2009-06-11 19:00+0200\n" "PO-Revision-Date: 2009-05-11 13:02+0200\n" "Last-Translator: Roberto González Cardenete <robert.glez@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -3762,6 +3762,9 @@ msgid "" "(usually any message from another user, not server messages,..)" msgstr "" +msgid "name of bar item where IRC server is displayed (for status bar)" +msgstr "" + msgid "" "number of IRC raw messages to save in memory when raw data buffer is closed " "(messages will be displayed when opening raw data buffer)" @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.0-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-06-11 12:45+0200\n" -"PO-Revision-Date: 2009-06-11 12:46+0200\n" +"POT-Creation-Date: 2009-06-11 19:00+0200\n" +"PO-Revision-Date: 2009-06-11 19:01+0200\n" "Last-Translator: FlashCode <flashcode@flashtux.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "MIME-Version: 1.0\n" @@ -3937,6 +3937,11 @@ msgstr "" "par des virgules, typiquement tout message venant d'un autre utilisateur, " "pas les messages du serveur, ...)" +msgid "name of bar item where IRC server is displayed (for status bar)" +msgstr "" +"nom de l'objet de barre où est affiché le serveur IRC (pour la barre de " +"statut)" + msgid "" "number of IRC raw messages to save in memory when raw data buffer is closed " "(messages will be displayed when opening raw data buffer)" @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.0-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-06-11 12:45+0200\n" +"POT-Creation-Date: 2009-06-11 19:00+0200\n" "PO-Revision-Date: 2009-05-11 13:02+0200\n" "Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -3812,6 +3812,9 @@ msgid "" "(usually any message from another user, not server messages,..)" msgstr "" +msgid "name of bar item where IRC server is displayed (for status bar)" +msgstr "" + msgid "" "number of IRC raw messages to save in memory when raw data buffer is closed " "(messages will be displayed when opening raw data buffer)" @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.0-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-06-11 12:45+0200\n" +"POT-Creation-Date: 2009-06-11 19:00+0200\n" "PO-Revision-Date: 2009-05-11 13:02+0200\n" "Last-Translator: <soltys@szluug.org>\n" "Language-Team: Polish\n" @@ -3273,6 +3273,9 @@ msgid "" "(usually any message from another user, not server messages,..)" msgstr "" +msgid "name of bar item where IRC server is displayed (for status bar)" +msgstr "" + msgid "" "number of IRC raw messages to save in memory when raw data buffer is closed " "(messages will be displayed when opening raw data buffer)" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.0-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-06-11 12:45+0200\n" +"POT-Creation-Date: 2009-06-11 19:00+0200\n" "PO-Revision-Date: 2009-05-11 13:02+0200\n" "Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -3804,6 +3804,9 @@ msgid "" "(usually any message from another user, not server messages,..)" msgstr "" +msgid "name of bar item where IRC server is displayed (for status bar)" +msgstr "" + msgid "" "number of IRC raw messages to save in memory when raw data buffer is closed " "(messages will be displayed when opening raw data buffer)" diff --git a/po/weechat.pot b/po/weechat.pot index 5c296f39c..7453f0bff 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: 2009-06-11 12:45+0200\n" +"POT-Creation-Date: 2009-06-11 19:00+0200\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" @@ -3240,6 +3240,9 @@ msgid "" "(usually any message from another user, not server messages,..)" msgstr "" +msgid "name of bar item where IRC server is displayed (for status bar)" +msgstr "" + msgid "" "number of IRC raw messages to save in memory when raw data buffer is closed " "(messages will be displayed when opening raw data buffer)" diff --git a/src/plugins/irc/irc-bar-item.c b/src/plugins/irc/irc-bar-item.c index 2292a6edd..fe32b1e76 100644 --- a/src/plugins/irc/irc-bar-item.c +++ b/src/plugins/irc/irc-bar-item.c @@ -110,6 +110,61 @@ irc_bar_item_buffer_title (void *data, struct t_gui_bar_item *item, } /* + * irc_bar_item_buffer_plugin: bar item with buffer plugin + */ + +char * +irc_bar_item_buffer_plugin (void *data, struct t_gui_bar_item *item, + struct t_gui_window *window) +{ + char buf[512]; + struct t_gui_buffer *buffer; + struct t_weechat_plugin *ptr_plugin; + const char *name; + struct t_irc_server *server; + struct t_irc_channel *channel; + + /* make C compiler happy */ + (void) data; + (void) item; + + if (!window) + window = weechat_current_window (); + + buffer = weechat_window_get_pointer (window, "buffer"); + + if (buffer) + { + ptr_plugin = weechat_buffer_get_pointer (buffer, "plugin"); + name = weechat_plugin_get_name (ptr_plugin); + if (ptr_plugin == weechat_irc_plugin) + { + irc_buffer_get_server_channel (buffer, &server, &channel); + if (server && channel + && (weechat_config_integer (irc_config_look_item_display_server) == IRC_CONFIG_LOOK_ITEM_DISPLAY_SERVER_PLUGIN)) + { + snprintf (buf, sizeof (buf), "%s%s/%s%s", + name, + IRC_COLOR_BAR_DELIM, + IRC_COLOR_BAR_FG, + server->name); + } + else + { + snprintf (buf, sizeof (buf), "%s", name); + } + } + else + { + snprintf (buf, sizeof (buf), "%s", name); + } + return strdup (buf); + } + + return NULL; +} + +/* * irc_bar_item_buffer_name: bar item with buffer name */ @@ -119,7 +174,7 @@ irc_bar_item_buffer_name (void *data, struct t_gui_bar_item *item, { char buf[512], buf_name[256], modes[128]; const char *name; - int part_from_channel; + int part_from_channel, display_server; struct t_gui_buffer *buffer; struct t_irc_server *server; struct t_irc_channel *channel; @@ -134,6 +189,8 @@ irc_bar_item_buffer_name (void *data, struct t_gui_bar_item *item, buf_name[0] = '\0'; modes[0] = '\0'; + display_server = (weechat_config_integer (irc_config_look_item_display_server) == IRC_CONFIG_LOOK_ITEM_DISPLAY_SERVER_NAME); + buffer = weechat_window_get_pointer (window, "buffer"); if (buffer) @@ -157,12 +214,13 @@ irc_bar_item_buffer_name (void *data, struct t_gui_bar_item *item, part_from_channel = ((channel->type == IRC_CHANNEL_TYPE_CHANNEL) && !channel->nicks); snprintf (buf_name, sizeof (buf_name), - "%s%s%s%s%s/%s%s%s%s", + "%s%s%s%s%s%s%s%s%s%s", (part_from_channel) ? IRC_COLOR_BAR_DELIM : "", (part_from_channel) ? "(" : "", IRC_COLOR_STATUS_NAME, - server->name, - IRC_COLOR_BAR_DELIM, + (display_server) ? server->name : "", + (display_server) ? IRC_COLOR_BAR_DELIM : "", + (display_server) ? "/" : "", IRC_COLOR_STATUS_NAME, channel->name, (part_from_channel) ? IRC_COLOR_BAR_DELIM : "", @@ -303,6 +361,7 @@ irc_bar_item_init () { weechat_bar_item_new ("away", &irc_bar_item_away, NULL); weechat_bar_item_new ("buffer_title", &irc_bar_item_buffer_title, NULL); + weechat_bar_item_new ("buffer_plugin", &irc_bar_item_buffer_plugin, NULL); weechat_bar_item_new ("buffer_name", &irc_bar_item_buffer_name, NULL); weechat_bar_item_new ("lag", &irc_bar_item_lag, NULL); weechat_bar_item_new ("input_prompt", &irc_bar_item_input_prompt, NULL); diff --git a/src/plugins/irc/irc-config.c b/src/plugins/irc/irc-config.c index b0fa3c072..b1f37aec7 100644 --- a/src/plugins/irc/irc-config.c +++ b/src/plugins/irc/irc-config.c @@ -54,6 +54,7 @@ struct t_config_option *irc_config_look_display_nick_modes; struct t_config_option *irc_config_look_display_old_topic; struct t_config_option *irc_config_look_hide_nickserv_pwd; struct t_config_option *irc_config_look_highlight_tags; +struct t_config_option *irc_config_look_item_display_server; struct t_config_option *irc_config_look_notice_as_pv; struct t_config_option *irc_config_look_raw_messages; struct t_config_option *irc_config_look_show_away_once; @@ -269,6 +270,24 @@ irc_config_change_look_highlight_tags (void *data, } /* + * irc_config_change_look_item_display_server: called when the + * "item_display_server" option is + * changed + */ + +void +irc_config_change_look_item_display_server (void *data, + struct t_config_option *option) +{ + /* make C compiler happy */ + (void) data; + (void) option; + + weechat_bar_item_update ("buffer_plugin"); + weechat_bar_item_update ("buffer_name"); +} + +/* * irc_config_change_look_topic_strip_colors: called when the "topic strip colors" * option is changed */ @@ -1137,6 +1156,12 @@ irc_config_init () "messages,..)"), NULL, 0, 0, "irc_privmsg,irc_notice", NULL, 0, NULL, NULL, &irc_config_change_look_highlight_tags, NULL, NULL, NULL); + irc_config_look_item_display_server = weechat_config_new_option ( + irc_config_file, ptr_section, + "item_display_server", "integer", + N_("name of bar item where IRC server is displayed (for status bar)"), + "buffer_plugin|buffer_name", 0, 0, "buffer_plugin", NULL, 0, NULL, NULL, + &irc_config_change_look_item_display_server, NULL, NULL, NULL); irc_config_look_raw_messages = weechat_config_new_option ( irc_config_file, ptr_section, "raw_messages", "integer", diff --git a/src/plugins/irc/irc-config.h b/src/plugins/irc/irc-config.h index d79e15b7b..2071824af 100644 --- a/src/plugins/irc/irc-config.h +++ b/src/plugins/irc/irc-config.h @@ -29,6 +29,12 @@ enum t_irc_config_look_server_buffer IRC_CONFIG_LOOK_SERVER_BUFFER_INDEPENDENT, }; +enum t_irc_config_look_item_display_server +{ + IRC_CONFIG_LOOK_ITEM_DISPLAY_SERVER_PLUGIN = 0, + IRC_CONFIG_LOOK_ITEM_DISPLAY_SERVER_NAME, +}; + enum t_irc_config_nick_completion { IRC_CONFIG_NICK_COMPLETION_SMART_OFF = 0, @@ -59,6 +65,7 @@ extern struct t_config_option *irc_config_look_display_nick_modes; extern struct t_config_option *irc_config_look_display_old_topic; extern struct t_config_option *irc_config_look_hide_nickserv_pwd; extern struct t_config_option *irc_config_look_highlight_tags; +extern struct t_config_option *irc_config_look_item_display_server; extern struct t_config_option *irc_config_look_notice_as_pv; extern struct t_config_option *irc_config_look_raw_messages; extern struct t_config_option *irc_config_look_show_away_once; |