diff options
-rw-r--r-- | doc/en/weechat_plugin_api.en.txt | 66 | ||||
-rw-r--r-- | doc/fr/weechat_plugin_api.fr.txt | 66 | ||||
-rw-r--r-- | doc/it/weechat_plugin_api.it.txt | 66 | ||||
-rw-r--r-- | src/gui/gui-focus.c | 26 | ||||
-rw-r--r-- | src/plugins/irc/irc-bar-item.c | 4 |
5 files changed, 126 insertions, 102 deletions
diff --git a/doc/en/weechat_plugin_api.en.txt b/doc/en/weechat_plugin_api.en.txt index 795a78fa3..38093aabc 100644 --- a/doc/en/weechat_plugin_api.en.txt +++ b/doc/en/weechat_plugin_api.en.txt @@ -8274,43 +8274,45 @@ Content of hashtable sent to callback (keys and values are of type "string"): [width="100%",cols="5m,5,8,3",options="header"] |======================================== -| Key ^(1)^ | Description | Value examples | Value if N/A -| _x | column on screen 2+| "0" ... "n" -| _y | line on screen 2+| "0" ... "n" -| _key | key or mouse event 2+| "button1", "button2-gesture-left", ... -| _window | pointer to window | "0x12345678" | "" -| _window_number | number of window | "1" ... "n" | "*" -| _buffer | pointer to buffer | "0x12345678" | "" -| _buffer_number | number of buffer | "1" ... "n" | "-1" -| _buffer_plugin | plugin name of buffer | "core", "irc", ... | "" -| _buffer_name | name of buffer | "weechat", "freenode.#weechat", ... | "" -| _chat | chat area indicator | "0" or "1" | "0" -| _chat_line_x | column in line ^(2)^ | "0" ... "n" | "-1" -| _chat_line_y | line number ^(2)^ | "0" ... "n" | "-1" -| _chat_line_date | line date | "1313237175" | "0" -| _chat_line_date_printed | line date ^(3)^ | "1313237175" | "0" -| _chat_line_time | time displayed | "14:06:15" | "" -| _chat_line_tags | tags of line | "irc_privmsg,notify_message,nick_FlashCode,log1" | "" -| _chat_line_nick | nick of line | "FlashCode" | "" -| _chat_line_prefix | prefix of line | "@FlashCode" | "" -| _chat_line_message | message of line | "Hello world!" | "" -| _chat_word | word at (x,y) | "Hello" | "" -| _chat_bol | beginning of line ⇒ (x-1,y) | "He" | "" -| _chat_eol | (x,y) ⇒ end of line | "llo world!" | "" -| _bar_name | name of bar | "title", "nicklist", ... | "" -| _bar_filling | filling of bar | "horizontal", "vertical", ... | "" -| _bar_item_name | name of bar item | "buffer_nicklist", "hotlist", ... | "" -| _bar_item_line | line in bar item | "0" ... "n" | "-1" -| _bar_item_col | column in bar item | "0" ... "n" | "-1" +| Key ^(1)^ | Description | Value examples | Value if N/A +| _x | column on screen 2+| "0" ... "n" +| _y | line on screen 2+| "0" ... "n" +| _key | key or mouse event 2+| "button1", "button2-gesture-left", ... +| _window | pointer to window | "0x12345678" | "" +| _window_number | number of window | "1" ... "n" | "*" +| _buffer | pointer to buffer | "0x12345678" | "" +| _buffer_number | number of buffer | "1" ... "n" | "-1" +| _buffer_plugin | plugin name of buffer | "core", "irc", ... | "" +| _buffer_name | name of buffer | "weechat", "freenode.#weechat", ... | "" +| _buffer_localvar_XXX ^(2)^ | local variables of buffer | any value | not set +| _chat | chat area indicator | "0" or "1" | "0" +| _chat_line_x | column in line ^(3)^ | "0" ... "n" | "-1" +| _chat_line_y | line number ^(3)^ | "0" ... "n" | "-1" +| _chat_line_date | line date | "1313237175" | "0" +| _chat_line_date_printed | line date ^(4)^ | "1313237175" | "0" +| _chat_line_time | time displayed | "14:06:15" | "" +| _chat_line_tags | tags of line | "irc_privmsg,notify_message,nick_FlashCode,log1" | "" +| _chat_line_nick | nick of line | "FlashCode" | "" +| _chat_line_prefix | prefix of line | "@FlashCode" | "" +| _chat_line_message | message of line | "Hello world!" | "" +| _chat_word | word at (x,y) | "Hello" | "" +| _chat_bol | beginning of line ⇒ (x-1,y) | "He" | "" +| _chat_eol | (x,y) ⇒ end of line | "llo world!" | "" +| _bar_name | name of bar | "title", "nicklist", ... | "" +| _bar_filling | filling of bar | "horizontal", "vertical", ... | "" +| _bar_item_name | name of bar item | "buffer_nicklist", "hotlist", ... | "" +| _bar_item_line | line in bar item | "0" ... "n" | "-1" +| _bar_item_col | column in bar item | "0" ... "n" | "-1" |======================================== [NOTE] ^(1)^ There are same keys suffixed with "2" (ie: "_x2", "_y2", "_window2", ...) with info on second point (useful only for mouse gestures, to know where mouse button has been released). + -^(2)^ It is set only for buffers with free content. + -^(3)^ It is date when WeeChat adds line in buffer (greater or equal to -"chat_line_date"). +^(2)^ `XXX` is name of local variable in buffer. + +^(3)^ It is set only for buffers with free content. + +^(4)^ It is date when WeeChat adds line in buffer (greater or equal to +"_chat_line_date"). Extra info for bar item "buffer_nicklist": @@ -8321,8 +8323,6 @@ Extra info for bar item "buffer_nicklist": | prefix | core | prefix for nick | group | core | group name | irc_host | irc | host for nick (if known) -| irc_server | irc | internal name of server -| irc_channel | irc | channel name |======================================== [NOTE] diff --git a/doc/fr/weechat_plugin_api.fr.txt b/doc/fr/weechat_plugin_api.fr.txt index df4068440..9b57d487b 100644 --- a/doc/fr/weechat_plugin_api.fr.txt +++ b/doc/fr/weechat_plugin_api.fr.txt @@ -8411,34 +8411,35 @@ Contenu de la hashtable envoyée au "callback" (les clés et valeurs sont de typ [width="100%",cols="5m,5,8,3",options="header"] |======================================== -| Clé ^(1)^ | Description | Exemples de valeur | Valeur si non applicable -| _x | colonne sur l'écran 2+| "0" ... "n" -| _y | ligne sur l'écran 2+| "0" ... "n" -| _key | touche ou évènement souris 2+| "button1", "button2-gesture-left", ... -| _window | pointeur vers la fenêtre | "0x12345678" | "" -| _window_number | numéro de la fenêtre | "1" ... "n" | "*" -| _buffer | pointeur vers le tampon | "0x12345678" | "" -| _buffer_number | numéro du tampon | "1" ... "n" | "-1" -| _buffer_plugin | nom d'extension du tampon | "core", "irc", ... | "" -| _buffer_name | nom du tampon | "weechat", "freenode.#weechat", ... | "" -| _chat | indicateur zone "chat" | "0" ou "1" | "0" -| _chat_line_x | colonne de la ligne ^(2)^ | "0" ... "n" | "-1" -| _chat_line_y | numéro de ligne ^(2)^ | "0" ... "n" | "-1" -| _chat_line_date | date de la ligne | "1313237175" | "0" -| _chat_line_date_printed | date de la ligne ^(3)^ | "1313237175" | "0" -| _chat_line_time | heure affichée | "14:06:15" | "" -| _chat_line_tags | étiquettes de la ligne | "irc_privmsg,notify_message,nick_FlashCode,log1" | "" -| _chat_line_nick | pseudo de la ligne | "FlashCode" | "" -| _chat_line_prefix | préfixe de la ligne | "@FlashCode" | "" -| _chat_line_message | message de la ligne | "Hello world!" | "" -| _chat_word | mot à la position (x,y) | "Hello" | "" -| _chat_bol | début de ligne ⇒ (x-1,y) | "He" | "" -| _chat_eol | (x,y) ⇒ fin de ligne | "llo world!" | "" -| _bar_name | nom de la barre | "title", "nicklist", ... | "" -| _bar_filling | remplissage de la barre | "horizontal", "vertical", ... | "" -| _bar_item_name | nom de l'objet de barre | "buffer_nicklist", "hotlist", ... | "" -| _bar_item_line | ligne dans l'objet de barre | "0" ... "n" | "-1" -| _bar_item_col | colonne dans l'objet de barre | "0" ... "n" | "-1" +| Clé ^(1)^ | Description | Exemples de valeur | Valeur si non applicable +| _x | colonne sur l'écran 2+| "0" ... "n" +| _y | ligne sur l'écran 2+| "0" ... "n" +| _key | touche ou évènement souris 2+| "button1", "button2-gesture-left", ... +| _window | pointeur vers la fenêtre | "0x12345678" | "" +| _window_number | numéro de la fenêtre | "1" ... "n" | "*" +| _buffer | pointeur vers le tampon | "0x12345678" | "" +| _buffer_number | numéro du tampon | "1" ... "n" | "-1" +| _buffer_plugin | nom d'extension du tampon | "core", "irc", ... | "" +| _buffer_name | nom du tampon | "weechat", "freenode.#weechat", ... | "" +| _buffer_localvar_XXX ^(2)^ | variables locales du tampon | toute chaîne | non défini +| _chat | indicateur zone "chat" | "0" ou "1" | "0" +| _chat_line_x | colonne de la ligne ^(3)^ | "0" ... "n" | "-1" +| _chat_line_y | numéro de ligne ^(3)^ | "0" ... "n" | "-1" +| _chat_line_date | date de la ligne | "1313237175" | "0" +| _chat_line_date_printed | date de la ligne ^(4)^ | "1313237175" | "0" +| _chat_line_time | heure affichée | "14:06:15" | "" +| _chat_line_tags | étiquettes de la ligne | "irc_privmsg,notify_message,nick_FlashCode,log1" | "" +| _chat_line_nick | pseudo de la ligne | "FlashCode" | "" +| _chat_line_prefix | préfixe de la ligne | "@FlashCode" | "" +| _chat_line_message | message de la ligne | "Hello world!" | "" +| _chat_word | mot à la position (x,y) | "Hello" | "" +| _chat_bol | début de ligne ⇒ (x-1,y) | "He" | "" +| _chat_eol | (x,y) ⇒ fin de ligne | "llo world!" | "" +| _bar_name | nom de la barre | "title", "nicklist", ... | "" +| _bar_filling | remplissage de la barre | "horizontal", "vertical", ... | "" +| _bar_item_name | nom de l'objet de barre | "buffer_nicklist", "hotlist", ... | "" +| _bar_item_line | ligne dans l'objet de barre | "0" ... "n" | "-1" +| _bar_item_col | colonne dans l'objet de barre | "0" ... "n" | "-1" |======================================== [NOTE] @@ -8446,9 +8447,10 @@ Contenu de la hashtable envoyée au "callback" (les clés et valeurs sont de typ "_window2", ...) avec l'information sur le second point (pratique seulement pour les gestes de souris, pour savoir où le bouton de la souris a été relâché). + -^(2)^ Renseigné seulement pour les tampons avec contenu libre. + -^(3)^ Il s'agit de la date lorsque WeeChat ajoute la ligne dans le tampon -(supérieure ou égale à "chat_line_date"). +^(2)^ `XXX` est le nom d'une variable locale du tampon. + +^(3)^ Renseigné seulement pour les tampons avec contenu libre. + +^(4)^ Il s'agit de la date lorsque WeeChat ajoute la ligne dans le tampon +(supérieure ou égale à "_chat_line_date"). Informations additionnelles pour l'objet de barre "buffer_nicklist": @@ -8459,8 +8461,6 @@ Informations additionnelles pour l'objet de barre "buffer_nicklist": | prefix | core | préfixe du pseudonyme | group | core | nom du groupe | irc_host | irc | nom d'hôte pour le pseudonyme (si connu) -| irc_server | irc | nom interne du serveur -| irc_channel | irc | nom du canal |======================================== [NOTE] diff --git a/doc/it/weechat_plugin_api.it.txt b/doc/it/weechat_plugin_api.it.txt index feaf0ce95..0148f89ca 100644 --- a/doc/it/weechat_plugin_api.it.txt +++ b/doc/it/weechat_plugin_api.it.txt @@ -8331,43 +8331,45 @@ Content of hashtable sent to callback (keys and values are of type "string"): [width="100%",cols="5m,5,8,3",options="header"] |======================================== -| Key ^(1)^ | Description | Value examples | Value if N/A -| _x | column on screen 2+| "0" ... "n" -| _y | line on screen 2+| "0" ... "n" -| _key | key or mouse event 2+| "button1", "button2-gesture-left", ... -| _window | pointer to window | "0x12345678" | "" -| _window_number | number of window | "1" ... "n" | "*" -| _buffer | pointer to buffer | "0x12345678" | "" -| _buffer_number | number of buffer | "1" ... "n" | "-1" -| _buffer_plugin | plugin name of buffer | "core", "irc", ... | "" -| _buffer_name | name of buffer | "weechat", "freenode.#weechat", ... | "" -| _chat | chat area indicator | "0" or "1" | "0" -| _chat_line_x | column in line ^(2)^ | "0" ... "n" | "-1" -| _chat_line_y | line number ^(2)^ | "0" ... "n" | "-1" -| _chat_line_date | line date | "1313237175" | "0" -| _chat_line_date_printed | line date ^(3)^ | "1313237175" | "0" -| _chat_line_time | time displayed | "14:06:15" | "" -| _chat_line_tags | tags of line | "irc_privmsg,notify_message,nick_FlashCode,log1" | "" -| _chat_line_nick | nick of line | "FlashCode" | "" -| _chat_line_prefix | prefix of line | "@FlashCode" | "" -| _chat_line_message | message of line | "Hello world!" | "" -| _chat_word | word at (x,y) | "Hello" | "" -| _chat_bol | beginning of line ⇒ (x-1,y) | "He" | "" -| _chat_eol | (x,y) ⇒ end of line | "llo world!" | "" -| _bar_name | name of bar | "title", "nicklist", ... | "" -| _bar_filling | filling of bar | "horizontal", "vertical", ... | "" -| _bar_item_name | name of bar item | "buffer_nicklist", "hotlist", ... | "" -| _bar_item_line | line in bar item | "0" ... "n" | "-1" -| _bar_item_col | column in bar item | "0" ... "n" | "-1" +| Key ^(1)^ | Description | Value examples | Value if N/A +| _x | column on screen 2+| "0" ... "n" +| _y | line on screen 2+| "0" ... "n" +| _key | key or mouse event 2+| "button1", "button2-gesture-left", ... +| _window | pointer to window | "0x12345678" | "" +| _window_number | number of window | "1" ... "n" | "*" +| _buffer | pointer to buffer | "0x12345678" | "" +| _buffer_number | number of buffer | "1" ... "n" | "-1" +| _buffer_plugin | plugin name of buffer | "core", "irc", ... | "" +| _buffer_name | name of buffer | "weechat", "freenode.#weechat", ... | "" +| _buffer_localvar_XXX ^(2)^ | local variables of buffer | any value | not set +| _chat | chat area indicator | "0" or "1" | "0" +| _chat_line_x | column in line ^(3)^ | "0" ... "n" | "-1" +| _chat_line_y | line number ^(3)^ | "0" ... "n" | "-1" +| _chat_line_date | line date | "1313237175" | "0" +| _chat_line_date_printed | line date ^(4)^ | "1313237175" | "0" +| _chat_line_time | time displayed | "14:06:15" | "" +| _chat_line_tags | tags of line | "irc_privmsg,notify_message,nick_FlashCode,log1" | "" +| _chat_line_nick | nick of line | "FlashCode" | "" +| _chat_line_prefix | prefix of line | "@FlashCode" | "" +| _chat_line_message | message of line | "Hello world!" | "" +| _chat_word | word at (x,y) | "Hello" | "" +| _chat_bol | beginning of line ⇒ (x-1,y) | "He" | "" +| _chat_eol | (x,y) ⇒ end of line | "llo world!" | "" +| _bar_name | name of bar | "title", "nicklist", ... | "" +| _bar_filling | filling of bar | "horizontal", "vertical", ... | "" +| _bar_item_name | name of bar item | "buffer_nicklist", "hotlist", ... | "" +| _bar_item_line | line in bar item | "0" ... "n" | "-1" +| _bar_item_col | column in bar item | "0" ... "n" | "-1" |======================================== [NOTE] ^(1)^ There are same keys suffixed with "2" (ie: "_x2", "_y2", "_window2", ...) with info on second point (useful only for mouse gestures, to know where mouse button has been released). + -^(2)^ It is set only for buffers with free content. + -^(3)^ It is date when WeeChat adds line in buffer (greater or equal to -"chat_line_date"). +^(2)^ `XXX` is name of local variable in buffer. + +^(3)^ It is set only for buffers with free content. + +^(4)^ It is date when WeeChat adds line in buffer (greater or equal to +"_chat_line_date"). Extra info for bar item "buffer_nicklist": @@ -8378,8 +8380,6 @@ Extra info for bar item "buffer_nicklist": | prefix | core | prefix for nick | group | core | group name | irc_host | irc | host for nick (if known) -| irc_server | irc | internal name of server -| irc_channel | irc | channel name |======================================== [NOTE] diff --git a/src/gui/gui-focus.c b/src/gui/gui-focus.c index 82d635b93..a73e4b695 100644 --- a/src/gui/gui-focus.c +++ b/src/gui/gui-focus.c @@ -122,6 +122,30 @@ gui_focus_free_info (struct t_gui_focus_info *focus_info) } /* + * gui_focus_buffer_localvar_map_cb: add local variables of buffer in hashtable + */ + +void +gui_focus_buffer_localvar_map_cb (void *data, struct t_hashtable *hashtable, + const void *key, const void *value) +{ + struct t_hashtable *hashtable_focus; + char hash_key[512]; + + /* make C compiler happy */ + (void) hashtable; + + hashtable_focus = (struct t_hashtable *)data; + + if (hashtable_focus && key && value) + { + snprintf (hash_key, sizeof (hash_key), + "_buffer_localvar_%s", (const char *)key); + hashtable_set (hashtable_focus, hash_key, (const char *)value); + } +} + +/* * gui_focus_to_hashtable: add two focus info into hashtable */ @@ -156,6 +180,8 @@ gui_focus_to_hashtable (struct t_gui_focus_info *focus_info, const char *key) FOCUS_INT("_buffer_number", ((focus_info->window)->buffer)->number); FOCUS_STR("_buffer_plugin", plugin_get_name (((focus_info->window)->buffer)->plugin)); FOCUS_STR("_buffer_name", ((focus_info->window)->buffer)->name); + hashtable_map (focus_info->window->buffer->local_variables, + &gui_focus_buffer_localvar_map_cb, hashtable); } else { diff --git a/src/plugins/irc/irc-bar-item.c b/src/plugins/irc/irc-bar-item.c index c354dc9d0..99a190cc1 100644 --- a/src/plugins/irc/irc-bar-item.c +++ b/src/plugins/irc/irc-bar-item.c @@ -530,11 +530,9 @@ irc_bar_item_focus_buffer_nicklist (void *data, if (ptr_nick && ptr_nick->host) { weechat_hashtable_set (info, "irc_host", ptr_nick->host); + return info; } } - weechat_hashtable_set (info, "irc_server", ptr_server->name); - weechat_hashtable_set (info, "irc_channel", ptr_channel->name); - return info; } return NULL; |