summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Helleu <flashcode@flashtux.org>2009-06-11 19:03:27 +0200
committerSebastien Helleu <flashcode@flashtux.org>2009-06-11 19:03:27 +0200
commita06fa73ba82b9b7f69b5eb442087be39ea4dfd1e (patch)
tree1f0dcf51aeeb84a579055fe3a53171ecdf363c11
parentec5c3aa3cc1970240f5d3afa05f50bcccc584744 (diff)
downloadweechat-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.txt5
-rw-r--r--doc/fr/autogen/user/irc_options.txt5
-rw-r--r--po/cs.po5
-rw-r--r--po/de.po5
-rw-r--r--po/es.po5
-rw-r--r--po/fr.po9
-rw-r--r--po/hu.po5
-rw-r--r--po/pl.po5
-rw-r--r--po/ru.po5
-rw-r--r--po/weechat.pot5
-rw-r--r--src/plugins/irc/irc-bar-item.c67
-rw-r--r--src/plugins/irc/irc-config.c25
-rw-r--r--src/plugins/irc/irc-config.h7
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
diff --git a/po/cs.po b/po/cs.po
index 9ded01a87..ac7e35911 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -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)"
diff --git a/po/de.po b/po/de.po
index fc51ef1a0..e8021ef2f 100644
--- a/po/de.po
+++ b/po/de.po
@@ -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)"
diff --git a/po/es.po b/po/es.po
index b199d66b1..a9d6e04b0 100644
--- a/po/es.po
+++ b/po/es.po
@@ -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)"
diff --git a/po/fr.po b/po/fr.po
index d8ff94a52..1ae6c3993 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -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)"
diff --git a/po/hu.po b/po/hu.po
index 29f391d1a..7dadf6d28 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -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)"
diff --git a/po/pl.po b/po/pl.po
index 915c08fc7..71c3c660b 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -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)"
diff --git a/po/ru.po b/po/ru.po
index e57c2f850..ffe4671ad 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -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;