From 583f4d515142af96b8fb7466f71beb5efdab2407 Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Sun, 25 Dec 2011 12:21:46 +0100 Subject: [PATCH] relay: add signal "buffer_type_changed" in weechat protocol --- doc/en/weechat_relay_protocol.en.txt | 30 +++++++++++-------- .../relay/weechat/relay-weechat-protocol.c | 17 +++++++++++ 2 files changed, 34 insertions(+), 13 deletions(-) diff --git a/doc/en/weechat_relay_protocol.en.txt b/doc/en/weechat_relay_protocol.en.txt index 495ca88af..e6d04e31d 100644 --- a/doc/en/weechat_relay_protocol.en.txt +++ b/doc/en/weechat_relay_protocol.en.txt @@ -426,49 +426,53 @@ WeeChat reserved identifiers: [width="100%",cols="5m,5,3,15",options="header"] |===================================================== -| Identifier | Description | Hdata type | Hdata content +| Identifier | Description | Hdata type | Hdata content -| _buffer_opened | Buffer opened | buffer | +| _buffer_opened | Buffer opened | buffer | 'number' (integer), 'full_name' (string), 'short_name' (string), + 'nicklist' (integer), 'title' (string), 'local_variables' (hashtable), + 'prev_buffer' (pointer), 'next_buffer' (pointer) -| _buffer_moved | Buffer moved | buffer | +| _buffer_type_changed | Type of buffer changed | buffer | + 'number' (integer), 'full_name' (string), + + 'type' (integer) + +| _buffer_moved | Buffer moved | buffer | 'number' (integer), 'full_name' (string), + 'prev_buffer' (pointer), 'next_buffer' (pointer) -| _buffer_merged | Buffer merged | buffer | +| _buffer_merged | Buffer merged | buffer | 'number' (integer), 'full_name' (string), + 'prev_buffer' (pointer), 'next_buffer' (pointer) -| _buffer_unmerged | Buffer unmerged | buffer | +| _buffer_unmerged | Buffer unmerged | buffer | 'number' (integer), 'full_name' (string), + 'prev_buffer' (pointer), 'next_buffer' (pointer) -| _buffer_renamed | Buffer renamed | buffer | +| _buffer_renamed | Buffer renamed | buffer | 'number' (integer), 'full_name' (string), 'short_name' (string), 'local_variables' (hashtable) -| _buffer_title_changed | Buffer moved | buffer | +| _buffer_title_changed | Title of buffer changed | buffer | 'number' (integer), 'full_name' (string), 'title' (string) -| _buffer_localvar_added | Local variable added | buffer | +| _buffer_localvar_added | Local variable added | buffer | 'number' (integer), 'full_name' (string), 'local_variables' (hashtable) -| _buffer_localvar_changed | Local variable changed | buffer | +| _buffer_localvar_changed | Local variable changed | buffer | 'number' (integer), 'full_name' (string), 'local_variables' (hashtable) -| _buffer_localvar_removed | Local variable removed | buffer | +| _buffer_localvar_removed | Local variable removed | buffer | 'number' (integer), 'full_name' (string), 'local_variables' (hashtable) -| _buffer_line_added | Line added in buffer | line | +| _buffer_line_added | Line added in buffer | line | 'buffer' (pointer), 'date' (time), 'displayed' (char), 'prefix' (string), 'message' (string) -| _buffer_closing | Buffer closing | buffer | +| _buffer_closing | Buffer closing | buffer | 'number' (integer), 'full_name' (string) -| _nicklist | Nicklist for a buffer | nicklist_item | +| _nicklist | Nicklist for a buffer | nicklist_item | 'group' (char), 'visible' (char), 'level' (integer), + 'name' (string), 'color' (string), + 'prefix' (string), 'prefix_color' (string) diff --git a/src/plugins/relay/weechat/relay-weechat-protocol.c b/src/plugins/relay/weechat/relay-weechat-protocol.c index f8b0519a8..a2fd09e0e 100644 --- a/src/plugins/relay/weechat/relay-weechat-protocol.c +++ b/src/plugins/relay/weechat/relay-weechat-protocol.c @@ -306,6 +306,23 @@ relay_weechat_protocol_signal_buffer_cb (void *data, const char *signal, relay_weechat_msg_free (msg); } } + else if (strcmp (signal, "buffer_type_changed") == 0) + { + ptr_buffer = (struct t_gui_buffer *)signal_data; + if (!ptr_buffer) + return WEECHAT_RC_OK; + + 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,type"); + relay_weechat_msg_send (ptr_client, msg, 0); + relay_weechat_msg_free (msg); + } + } else if (strcmp (signal, "buffer_moved") == 0) { ptr_buffer = (struct t_gui_buffer *)signal_data;