Next: Stanza chains, Previous: Extending service discovery, Up: Hacking and extending
Chat printers are functions that print a certain aspect of an incoming
message in a chat buffer. Included are functions for printing subjects
(jabber-chat-print-subject
), bodies
(jabber-chat-print-body
, and jabber:x:oob
-style URLs
(jabber-chat-print-url
). The functions in
jabber-chat-printers
are called in order, with the entire
<message/>
stanza as argument. As described in the docstring
of jabber-chat-printers
, these functions are run in one of two
modes: printp
, in which they are supposed to return true if
they would print anything, and insert
, in which they are
supposed to actually print something, if appropriate, using the
function insert
.
For MUC, the functions in jabber-muc-printers
are prepended to
those in jabber-chat-printers
.
Body printers are a subgroup of chat printers. They are exclusive; only
one of them applies to any given message. The idea is that
“higher-quality” parts of the message override pieces included for
backwards compatibility. Included are jabber-muc-print-invite
and jabber-chat-normal-body
; functions for XHTML-IM and PGP
encrypted messages may be written in the future. The functions in
jabber-body-printers
are called in order until one of them
returns non-nil.