mirror of
https://github.com/weechat/weechat.git
synced 2026-06-12 14:14:48 +02:00
relay: send event "buffer_line_data_changed" to clients of "weechat" protocol
This commit is contained in:
+1
-1
@@ -24,7 +24,7 @@
|
||||
- relay: add infos "relay_api_version" and "relay_api_version_number"
|
||||
- core: add hdata count in evaluation of expressions with `hdata_count:name[list]` or `hdata_count:name[pointer]`
|
||||
- core: add completion "bars_items"
|
||||
- api, relay: send new signal "buffer_line_data_changed" when a line is updated in a buffer via hdata, send event "buffer_line_data_changed" to API clients
|
||||
- api, relay: send new signal "buffer_line_data_changed" when a line is updated in a buffer via hdata, send event "buffer_line_data_changed" to clients of "api" and "weechat" protocols
|
||||
- api: add hashtable type "longlong"
|
||||
- api: add function line_search_by_id
|
||||
- doc: add doc on "api" relay
|
||||
|
||||
@@ -1488,6 +1488,9 @@ WeeChat reserved identifiers:
|
||||
| _buffer_line_added | buffer | hdata: line
|
||||
| Line added in buffer. | Display line in buffer.
|
||||
|
||||
| _buffer_line_data_changed | buffer | hdata: line
|
||||
| Line changed in buffer. | Update line displayed in buffer.
|
||||
|
||||
| _nicklist | nicklist | hdata: nicklist_item
|
||||
| Nicklist for a buffer. | Replace nicklist.
|
||||
|
||||
@@ -2098,6 +2101,74 @@ hda:
|
||||
message: 'hello!'
|
||||
----
|
||||
|
||||
[[message_buffer_line_data_changed]]
|
||||
==== _buffer_line_data_changed
|
||||
|
||||
This message is sent to the client when the signal "buffer_line_data_changed"
|
||||
is sent by WeeChat.
|
||||
|
||||
Data sent as hdata:
|
||||
|
||||
[width="100%",cols="3m,2,10",options="header"]
|
||||
|===
|
||||
| Name | Type | Description
|
||||
| buffer | pointer | Buffer pointer.
|
||||
| id | integer | Line identifier.
|
||||
| date | time | Date of message.
|
||||
| date_usec | integer | Microseconds of date.
|
||||
| date_printed | time | Date when WeeChat displayed message.
|
||||
| date_usec_printed | integer | Microseconds of date when WeeChat displayed message.
|
||||
| displayed | char | 1 if message is displayed, 0 if message is filtered (hidden).
|
||||
| notify_level | char | Notify level: -1 = notify disabled, 0 = low, 1 = message, 2 = private, 3 = highlight.
|
||||
| highlight | char | 1 if line has a highlight, otherwise 0.
|
||||
| tags_array | array of strings | List of tags for line.
|
||||
| prefix | string | Prefix.
|
||||
| message | string | Message.
|
||||
|===
|
||||
|
||||
Example: message _hello!_ from nick _FlashCode_ on buffer _irc.libera.#weechat_ has been updated:
|
||||
|
||||
[source,python]
|
||||
----
|
||||
id: '_buffer_line_data_changed'
|
||||
hda:
|
||||
keys: {
|
||||
'buffer': 'ptr',
|
||||
'id': 'int',
|
||||
'date': 'tim',
|
||||
'date_usec': 'int',
|
||||
'date_printed': 'tim',
|
||||
'date_usec_printed': 'int',
|
||||
'displayed': 'chr',
|
||||
'notify_level': 'chr',
|
||||
'highlight': 'chr',
|
||||
'tags_array': 'arr',
|
||||
'prefix': 'str',
|
||||
'message': 'str',
|
||||
}
|
||||
path: ['line_data']
|
||||
item 1:
|
||||
__path: ['0x4a49600']
|
||||
buffer: '0x4a715d0'
|
||||
id: 12
|
||||
date: 1362728993
|
||||
date_usec: 902765
|
||||
date_printed: 1362728993
|
||||
date_usec_printed: 902765
|
||||
displayed: 1
|
||||
notify_level: 1
|
||||
highlight: 0
|
||||
tags_array: [
|
||||
'irc_privmsg',
|
||||
'notify_message',
|
||||
'prefix_nick_142',
|
||||
'nick_FlashCode',
|
||||
'log1',
|
||||
]
|
||||
prefix: 'F06@F@00142FlashCode'
|
||||
message: 'hello!'
|
||||
----
|
||||
|
||||
[[message_buffer_closing]]
|
||||
==== _buffer_closing
|
||||
|
||||
|
||||
@@ -1514,6 +1514,9 @@ Les identifiants réservés par WeeChat :
|
||||
| _buffer_line_added | buffer | hdata : line
|
||||
| Ligne ajoutée dans le tampon. | Afficher la ligne dans le tampon.
|
||||
|
||||
| _buffer_line_data_changed | buffer | hdata : line
|
||||
| Ligne changée dans le tampon. | Modifier la ligne affichée dans le tampon.
|
||||
|
||||
| _nicklist | nicklist | hdata : nicklist_item
|
||||
| Liste de pseudos pour un tampon. | Remplacer la liste de pseudos.
|
||||
|
||||
@@ -2127,6 +2130,74 @@ hda:
|
||||
message: 'hello!'
|
||||
----
|
||||
|
||||
[[message_buffer_line_data_changed]]
|
||||
==== _buffer_line_data_changed
|
||||
|
||||
Ce message est envoyé au client lorsque le signal "buffer_line_data_changed"
|
||||
est envoyé par WeeChat.
|
||||
|
||||
Données envoyées dans le hdata :
|
||||
|
||||
[width="100%",cols="3m,2,10",options="header"]
|
||||
|===
|
||||
| Nom | Type | Description
|
||||
| buffer | pointeur | Pointeur vers le tampon.
|
||||
| id | entier | Identifiant de ligne.
|
||||
| date | date/heure | Date du message.
|
||||
| date_usec | entier | Microsecondes de la date.
|
||||
| date_printed | date/heure | Date d'affichage du message.
|
||||
| date_usec_printed | entier | Microsecondes de la date d'affichage du message.
|
||||
| displayed | caractère | 1 si le message est affiché, 0 si le message est filtré (caché).
|
||||
| notify_level | caractère | Niveau de notification : -1 = notification désactivée, 0 = bas, 1 = message, 2 = privé, 3 = highlight.
|
||||
| highlight | caractère | 1 si la ligne a un highlight, sinon 0.
|
||||
| tags_array | tableau de chaînes | Liste des étiquettes de la ligne.
|
||||
| prefix | chaîne | Préfixe.
|
||||
| message | chaîne | Message.
|
||||
|===
|
||||
|
||||
Exemple : le message _hello!_ du pseudo _FlashCode_ sur le tampon _irc.libera.#weechat_ a été mis à jour :
|
||||
|
||||
[source,python]
|
||||
----
|
||||
id: '_buffer_line_data_changed'
|
||||
hda:
|
||||
keys: {
|
||||
'buffer': 'ptr',
|
||||
'id': 'int',
|
||||
'date': 'tim',
|
||||
'date_usec': 'int',
|
||||
'date_printed': 'tim',
|
||||
'date_usec_printed': 'int',
|
||||
'displayed': 'chr',
|
||||
'notify_level': 'chr',
|
||||
'highlight': 'chr',
|
||||
'tags_array': 'arr',
|
||||
'prefix': 'str',
|
||||
'message': 'str',
|
||||
}
|
||||
path: ['line_data']
|
||||
item 1:
|
||||
__path: ['0x4a49600']
|
||||
buffer: '0x4a715d0'
|
||||
id: 12
|
||||
date: 1362728993
|
||||
date_usec: 902765
|
||||
date_printed: 1362728993
|
||||
date_usec_printed: 902765
|
||||
displayed: 1
|
||||
notify_level: 1
|
||||
highlight: 0
|
||||
tags_array: [
|
||||
'irc_privmsg',
|
||||
'notify_message',
|
||||
'prefix_nick_142',
|
||||
'nick_FlashCode',
|
||||
'log1',
|
||||
]
|
||||
prefix: 'F06@F@00142FlashCode'
|
||||
message: 'hello!'
|
||||
----
|
||||
|
||||
[[message_buffer_closing]]
|
||||
==== _buffer_closing
|
||||
|
||||
|
||||
@@ -1524,6 +1524,10 @@ WeeChat の予約識別子:
|
||||
| _buffer_line_added | buffer | hdata: line
|
||||
| バッファへの行追加 | バッファに行を表示
|
||||
|
||||
// TRANSLATION MISSING
|
||||
| _buffer_line_data_changed | buffer | hdata: line
|
||||
| Line changed in buffer. | Update line displayed in buffer.
|
||||
|
||||
| _nicklist | nicklist | hdata: nicklist_item
|
||||
| バッファのニックネームリスト | ニックネームリストを置換
|
||||
|
||||
@@ -2138,6 +2142,80 @@ hda:
|
||||
message: 'hello!'
|
||||
----
|
||||
|
||||
[[message_buffer_line_added]]
|
||||
==== _buffer_line_added
|
||||
|
||||
// TRANSLATION MISSING
|
||||
This message is sent to the client when the signal "buffer_line_data_changed"
|
||||
is sent by WeeChat.
|
||||
|
||||
hdata として送られるデータ:
|
||||
|
||||
[width="100%",cols="3m,2,10",options="header"]
|
||||
|===
|
||||
| 名前 | 型 | 説明
|
||||
| buffer | pointer | バッファへのポインタ
|
||||
// TRANSLATION MISSING
|
||||
| id | integer | Line identifier.
|
||||
| date | time | メッセージの日付
|
||||
// TRANSLATION MISSING
|
||||
| date_usec | integer | Microseconds of date.
|
||||
| date_printed | time | WeeChat メッセージを表示した日付
|
||||
// TRANSLATION MISSING
|
||||
| date_usec_printed | integer | Microseconds of date when WeeChat displayed message.
|
||||
| displayed | char | メッセージが表示される場合は 1、メッセージがフィルタされる (隠される) 場合は 0
|
||||
// TRANSLATION MISSING
|
||||
| notify_level | char | Notify level: -1 = notify disabled, 0 = low, 1 = message, 2 = private, 3 = highlight.
|
||||
| highlight | char | 行がハイライト部分を含む場合は 1、それ以外は 0
|
||||
| tags_array | string の配列 | 行に対するタグのリスト
|
||||
| prefix | string | プレフィックス
|
||||
| message | string | メッセージ
|
||||
|===
|
||||
|
||||
// TRANSLATION MISSING
|
||||
Example: message _hello!_ from nick _FlashCode_ on buffer _irc.libera.#weechat_ has been updated:
|
||||
|
||||
[source,python]
|
||||
----
|
||||
id: '_buffer_line_data_changed'
|
||||
hda:
|
||||
keys: {
|
||||
'buffer': 'ptr',
|
||||
'id': 'int',
|
||||
'date': 'tim',
|
||||
'date_used': 'int',
|
||||
'date_printed': 'tim',
|
||||
'date_usec_printed': 'int',
|
||||
'displayed': 'chr',
|
||||
'notify_level': 'chr',
|
||||
'highlight': 'chr',
|
||||
'tags_array': 'arr',
|
||||
'prefix': 'str',
|
||||
'message': 'str',
|
||||
}
|
||||
path: ['line_data']
|
||||
item 1:
|
||||
__path: ['0x4a49600']
|
||||
buffer: '0x4a715d0'
|
||||
id: 12
|
||||
date: 1362728993
|
||||
date_usec: 902765
|
||||
date_printed: 1362728993
|
||||
date_usec_printed: 902765
|
||||
displayed: 1
|
||||
notify_level: 1
|
||||
highlight: 0
|
||||
tags_array: [
|
||||
'irc_privmsg',
|
||||
'notify_message',
|
||||
'prefix_nick_142',
|
||||
'nick_FlashCode',
|
||||
'log1',
|
||||
]
|
||||
prefix: 'F06@F@00142FlashCode'
|
||||
message: 'hello!'
|
||||
----
|
||||
|
||||
[[message_buffer_closing]]
|
||||
==== _buffer_closing
|
||||
|
||||
|
||||
@@ -1403,6 +1403,10 @@ WeeChat резервисани идентификатори:
|
||||
| _buffer_line_added | buffer | hdata: line
|
||||
| У бафер је додата линија. | Приказ линије у баферу.
|
||||
|
||||
// TRANSLATION MISSING
|
||||
| _buffer_line_data_changed | buffer | hdata: line
|
||||
| Line changed in buffer. | Update line displayed in buffer.
|
||||
|
||||
| _nicklist | nicklist | hdata: nicklist_item
|
||||
| Листа надимака за бафер. | Замена листе надимака.
|
||||
|
||||
@@ -1998,6 +2002,77 @@ hda:
|
||||
message: 'здраво!'
|
||||
----
|
||||
|
||||
[[message_buffer_line_data_changed]]
|
||||
==== _buffer_line_data_changed
|
||||
|
||||
// TRANSLATION MISSING
|
||||
This message is sent to the client when the signal "buffer_line_data_changed"
|
||||
is sent by WeeChat.
|
||||
|
||||
Подаци се шаљу као hdata:
|
||||
|
||||
[width="100%", cols="3m,2,10", options="header"]
|
||||
|===
|
||||
| Име | Тип | Опис
|
||||
| buffer | показивач | Показивач на бафер.
|
||||
// TRANSLATION MISSING
|
||||
| id | цео број | Line identifier.
|
||||
| date | време | Датум поруке.
|
||||
| date_usec | цео број | Микросекунде датума.
|
||||
| date_printed | време | Датум када је програм WeeChat приказао поруку.
|
||||
| date_usec_printed | цео број | Микросекунде датума када је WeeChat приказао поруку.
|
||||
| displayed | карактер | 1 ако је порука приказана, 0 ако је порука филтрирана (скривена).
|
||||
| notify_level | карактер | Ниво обавештења: -1 = обавештење искључено, 0 = ниски, 1 = порука, 2 = приватно, 3 = истицање.
|
||||
| highlight | карактер | 1 ако се у линији налази истицање, у супротном 0.
|
||||
| tags_array | низ стрингова | Листа ознака за линију.
|
||||
| prefix | стринг | Префикс.
|
||||
| message | стринг | Порука.
|
||||
|===
|
||||
|
||||
// TRANSLATION MISSING
|
||||
Example: message _hello!_ from nick _FlashCode_ on buffer _irc.libera.#weechat_ has been updated:
|
||||
|
||||
[source,python]
|
||||
----
|
||||
id: '_buffer_line_data_changed'
|
||||
hda:
|
||||
keys: {
|
||||
'buffer': 'ptr',
|
||||
'id': 'int',
|
||||
'date': 'tim',
|
||||
'date_usec': 'int',
|
||||
'date_printed': 'tim',
|
||||
'date_usec_printed': 'int',
|
||||
'displayed': 'chr',
|
||||
'notify_level': 'chr',
|
||||
'highlight': 'chr',
|
||||
'tags_array': 'arr',
|
||||
'prefix': 'str',
|
||||
'message': 'str',
|
||||
}
|
||||
path: ['line_data']
|
||||
item 1:
|
||||
__path: ['0x4a49600']
|
||||
buffer: '0x4a715d0'
|
||||
id: 12
|
||||
date: 1362728993
|
||||
date_usec: 902765
|
||||
date_printed: 1362728993
|
||||
date_usec_printed: 902765
|
||||
displayed: 1
|
||||
notify_level: 1
|
||||
highlight: 0
|
||||
tags_array: [
|
||||
'irc_privmsg',
|
||||
'notify_message',
|
||||
'prefix_nick_142',
|
||||
'nick_FlashCode',
|
||||
'log1',
|
||||
]
|
||||
prefix: 'F06@F@00142FlashCode'
|
||||
message: 'здраво!'
|
||||
----
|
||||
|
||||
[[message_buffer_closing]]
|
||||
==== _buffer_closing
|
||||
|
||||
|
||||
@@ -1128,6 +1128,37 @@ relay_weechat_protocol_signal_buffer_cb (const void *pointer, void *data,
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (strcmp (signal, "buffer_line_data_changed") == 0)
|
||||
{
|
||||
ptr_line_data = (struct t_gui_line_data *)signal_data;
|
||||
if (!ptr_line_data)
|
||||
return WEECHAT_RC_OK;
|
||||
|
||||
ptr_buffer = weechat_hdata_pointer (relay_hdata_line_data, ptr_line_data,
|
||||
"buffer");
|
||||
if (!ptr_buffer || relay_buffer_is_relay (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),
|
||||
"line_data:0x%lx",
|
||||
(unsigned long)ptr_line_data);
|
||||
relay_weechat_msg_add_hdata (
|
||||
msg, cmd_hdata,
|
||||
"buffer,id,date,date_usec,date_printed,date_usec_printed,"
|
||||
"displayed,notify_level,highlight,tags_array,"
|
||||
"prefix,message");
|
||||
relay_weechat_msg_send (ptr_client, msg);
|
||||
relay_weechat_msg_free (msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (strcmp (signal, "buffer_closing") == 0)
|
||||
{
|
||||
ptr_buffer = (struct t_gui_buffer *)signal_data;
|
||||
|
||||
Reference in New Issue
Block a user