diff --git a/ChangeLog.asciidoc b/ChangeLog.asciidoc index dc01b8072..58b5c7220 100644 --- a/ChangeLog.asciidoc +++ b/ChangeLog.asciidoc @@ -67,6 +67,8 @@ http://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes] * irc: fix translation of CTCP PING reply (closes #137) * lua: add detection of Lua 5.2 * python: fix Python detection with Homebrew (closes #217) +* relay: send messages "_buffer_localvar_*" and "_buffer_type_changed" with + sync "buffers" (closes #191) * relay: don't remove relay from config when the binding fails (closes #225) * relay: use comma separator in option relay.irc.backlog_tags, check the value of option when it is changed with /set diff --git a/doc/en/weechat_relay_protocol.en.asciidoc b/doc/en/weechat_relay_protocol.en.asciidoc index 3a6876f06..5b41d6a9b 100644 --- a/doc/en/weechat_relay_protocol.en.asciidoc +++ b/doc/en/weechat_relay_protocol.en.asciidoc @@ -518,6 +518,9 @@ WeeChat reserved identifiers: | _buffer_opened | buffers / buffer | hdata: buffer | Buffer opened | Open buffer +| _buffer_type_changed | buffers / buffer | hdata: buffer | + Type of buffer changed | Change type of buffer + | _buffer_moved | buffers / buffer | hdata: buffer | Buffer moved | Move buffer @@ -539,27 +542,24 @@ WeeChat reserved identifiers: | _buffer_title_changed | buffers / buffer | hdata: buffer | Title of buffer changed | Change title of buffer -| _buffer_cleared | buffer | hdata: buffer | - Buffer cleared | Clear buffer - -| _buffer_type_changed | buffer | hdata: buffer | - Type of buffer changed | Change type of buffer - -| _buffer_localvar_added | buffer | hdata: buffer | +| _buffer_localvar_added | buffers / buffer | hdata: buffer | Local variable added | Add local variable in buffer -| _buffer_localvar_changed | buffer | hdata: buffer | +| _buffer_localvar_changed | buffers / buffer | hdata: buffer | Local variable changed | Change local variable in buffer -| _buffer_localvar_removed | buffer | hdata: buffer | +| _buffer_localvar_removed | buffers / buffer | hdata: buffer | Local variable removed | Remove local variable from buffer -| _buffer_line_added | buffer | hdata: line | - Line added in buffer | Display line in buffer - | _buffer_closing | buffers / buffer | hdata: buffer | Buffer closing | Close buffer +| _buffer_cleared | buffer | hdata: buffer | + Buffer cleared | Clear buffer + +| _buffer_line_added | buffer | hdata: line | + Line added in buffer | Display line in buffer + | _nicklist | nicklist | hdata: nicklist_item | Nicklist for a buffer | Replace nicklist diff --git a/doc/fr/weechat_relay_protocol.fr.asciidoc b/doc/fr/weechat_relay_protocol.fr.asciidoc index 856558779..f0af7f2c1 100644 --- a/doc/fr/weechat_relay_protocol.fr.asciidoc +++ b/doc/fr/weechat_relay_protocol.fr.asciidoc @@ -536,6 +536,9 @@ Les identifiants réservés par WeeChat : | _buffer_opened | buffers / buffer | hdata : buffer | Tampon ouvert | Ouvrir le tampon +| _buffer_type_changed | buffers / buffer | hdata : buffer | + Type de tampon changé | Changer le type de tampon + | _buffer_moved | buffers / buffer | hdata : buffer | Tampon déplacé | Déplacer le tampon @@ -557,27 +560,24 @@ Les identifiants réservés par WeeChat : | _buffer_title_changed | buffers / buffer | hdata : buffer | Titre du tampon changé | Changer le titre du tampon -| _buffer_cleared | buffer | hdata : buffer | - Tampon qui est vidé | Vider le tampon - -| _buffer_type_changed | buffer | hdata : buffer | - Type de tampon changé | Changer le type de tampon - -| _buffer_localvar_added | buffer | hdata : buffer | +| _buffer_localvar_added | buffers / buffer | hdata : buffer | Variable locale ajoutée | Ajouter la variable locale dans le tampon -| _buffer_localvar_changed | buffer | hdata : buffer | +| _buffer_localvar_changed | buffers / buffer | hdata : buffer | Variable locale changée | Changer la variable locale dans le tampon -| _buffer_localvar_removed | buffer | hdata : buffer | +| _buffer_localvar_removed | buffers / buffer | hdata : buffer | Variable locale supprimée | Supprimer la variable locale du tampon -| _buffer_line_added | buffer | hdata : line | - Ligne ajoutée dans le tampon | Afficher la ligne dans le tampon - | _buffer_closing | buffers / buffer | hdata : buffer | Tampon qui se ferme | Fermer le tampon +| _buffer_cleared | buffer | hdata : buffer | + Tampon qui est vidé | Vider le tampon + +| _buffer_line_added | buffer | hdata : line | + Ligne ajoutée dans le tampon | Afficher la ligne dans le tampon + | _nicklist | nicklist | hdata : nicklist_item | Liste de pseudos pour un tampon | Remplacer la liste de pseudos diff --git a/doc/ja/weechat_relay_protocol.ja.asciidoc b/doc/ja/weechat_relay_protocol.ja.asciidoc index 2a790acae..85a9848cd 100644 --- a/doc/ja/weechat_relay_protocol.ja.asciidoc +++ b/doc/ja/weechat_relay_protocol.ja.asciidoc @@ -519,6 +519,9 @@ WeeChat の予約識別子: | _buffer_opened | buffers / buffer | hdata: buffer | バッファのオープン | バッファを開く +| _buffer_type_changed | buffers / buffer | hdata: buffer | + バッファの種類変更 | バッファの種類を変更 + | _buffer_moved | buffers / buffer | hdata: buffer | バッファの移動 | バッファを移動 @@ -540,27 +543,24 @@ WeeChat の予約識別子: | _buffer_title_changed | buffers / buffer | hdata: buffer | バッファのタイトル変更 | バッファのタイトルを変更 -| _buffer_cleared | buffer | hdata: buffer | - バッファのクリア | バッファをクリア - -| _buffer_type_changed | buffer | hdata: buffer | - バッファの種類変更 | バッファの種類を変更 - -| _buffer_localvar_added | buffer | hdata: buffer | +| _buffer_localvar_added | buffers / buffer | hdata: buffer | ローカル変数の追加 | バッファに対するローカル変数を追加 -| _buffer_localvar_changed | buffer | hdata: buffer | +| _buffer_localvar_changed | buffers / buffer | hdata: buffer | ローカル変数の変更 | バッファに対するローカル変数を変更 -| _buffer_localvar_removed | buffer | hdata: buffer | +| _buffer_localvar_removed | buffers / buffer | hdata: buffer | ローカル変数を削除 | バッファからローカル変数を削除 -| _buffer_line_added | buffer | hdata: line | - バッファへの行追加 | バッファに行を表示 - | _buffer_closing | buffers / buffer | hdata: buffer | バッファのクローズ | バッファを閉じる +| _buffer_cleared | buffer | hdata: buffer | + バッファのクリア | バッファをクリア + +| _buffer_line_added | buffer | hdata: line | + バッファへの行追加 | バッファに行を表示 + | _nicklist | nicklist | hdata: nicklist_item | バッファのニックネームリスト | ニックネームリストを置換 diff --git a/src/plugins/relay/weechat/relay-weechat-protocol.c b/src/plugins/relay/weechat/relay-weechat-protocol.c index 3ea85bf03..ab93bc47a 100644 --- a/src/plugins/relay/weechat/relay-weechat-protocol.c +++ b/src/plugins/relay/weechat/relay-weechat-protocol.c @@ -502,8 +502,9 @@ relay_weechat_protocol_signal_buffer_cb (void *data, const char *signal, if (!ptr_buffer) return WEECHAT_RC_OK; - /* send signal only if sync with flag "buffer" */ + /* send signal only if sync with flag "buffers" or "buffer" */ if (relay_weechat_protocol_is_sync (ptr_client, ptr_buffer, + RELAY_WEECHAT_PROTOCOL_SYNC_BUFFERS | RELAY_WEECHAT_PROTOCOL_SYNC_BUFFER)) { msg = relay_weechat_msg_new (str_signal); @@ -639,6 +640,29 @@ relay_weechat_protocol_signal_buffer_cb (void *data, const char *signal, } } } + else if (strncmp (signal, "buffer_localvar_", 16) == 0) + { + ptr_buffer = (struct t_gui_buffer *)signal_data; + if (!ptr_buffer) + return WEECHAT_RC_OK; + + /* send signal only if sync with flag "buffers" or "buffer" */ + if (relay_weechat_protocol_is_sync (ptr_client, ptr_buffer, + RELAY_WEECHAT_PROTOCOL_SYNC_BUFFERS | + RELAY_WEECHAT_PROTOCOL_SYNC_BUFFER)) + { + msg = relay_weechat_msg_new (str_signal); + if (msg) + { + snprintf (cmd_hdata, sizeof (cmd_hdata), + "buffer:0x%lx", (long unsigned int)ptr_buffer); + relay_weechat_msg_add_hdata (msg, cmd_hdata, + "number,full_name,local_variables"); + relay_weechat_msg_send (ptr_client, msg); + relay_weechat_msg_free (msg); + } + } + } else if (strcmp (signal, "buffer_cleared") == 0) { ptr_buffer = (struct t_gui_buffer *)signal_data; @@ -661,28 +685,6 @@ relay_weechat_protocol_signal_buffer_cb (void *data, const char *signal, } } } - else if (strncmp (signal, "buffer_localvar_", 16) == 0) - { - ptr_buffer = (struct t_gui_buffer *)signal_data; - if (!ptr_buffer) - return WEECHAT_RC_OK; - - /* send signal only if sync with flag "buffer" */ - if (relay_weechat_protocol_is_sync (ptr_client, ptr_buffer, - RELAY_WEECHAT_PROTOCOL_SYNC_BUFFER)) - { - msg = relay_weechat_msg_new (str_signal); - if (msg) - { - snprintf (cmd_hdata, sizeof (cmd_hdata), - "buffer:0x%lx", (long unsigned int)ptr_buffer); - relay_weechat_msg_add_hdata (msg, cmd_hdata, - "number,full_name,local_variables"); - relay_weechat_msg_send (ptr_client, msg); - relay_weechat_msg_free (msg); - } - } - } else if (strcmp (signal, "buffer_line_added") == 0) { ptr_line = (struct t_gui_line *)signal_data;