Lines Matching +refs:jabber +refs:vcard +refs:avatars +refs:find +refs:current

1 This is jabber.info, produced by makeinfo version 4.13 from jabber.texi.
5 * jabber.el: (jabber). Emacs Jabber client
8 This manual is for jabber.el, version 0.8.0.
18 File: jabber.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
20 jabber.el manual
23 This manual is for jabber.el, version 0.8.0.
56 File: jabber.info, Node: Introduction, Next: Basic operation, Prev: Top, Up: Top
61 jabber.el is a Jabber client running under Emacs. For more information
63 `http://www.jabber.org'.
65 As a Jabber client, jabber.el is mostly just a face in the crowd,
69 again, jabber.el delivers excellent console performance and
73 jabber.el does not yet support PGP encryption, sending and receiving
81 File: jabber.info, Node: Contacts, Up: Introduction
86 * There is a web page at `http://emacs-jabber.sf.net/'.
89 `http://sourceforge.net/projects/emacs-jabber', with bug and patch
93 <emacs-jabber-general@lists.sourceforge.net>,
94 `https://lists.sourceforge.net/lists/listinfo/emacs-jabber-general',
95 `http://dir.gmane.org/gmane.emacs.jabber.general'
97 * There is a chat room, `jabber.el@conference.jabber.se'. If you
99 jabber-muc-join' and entering the address.
103 File: jabber.info, Node: Basic operation, Next: Groupchat, Prev: Introduction, Up: Top
109 jabber.el. If you have used Jabber before and are familiar with the
110 terminology, you might find it a bit too basic--in that case, just skim
113 I'll assume that you have already successfully installed jabber.el;
115 'jabber)' or `(load "jabber-autoloads")' in your `.emacs'.
132 File: jabber.info, Node: Do you have a Jabber account?, Next: Registering an account, Up: Basic …
149 File: jabber.info, Node: Registering an account, Next: Connecting, Prev: Do you have a Jabber ac…
159 To register an account, type `C-u M-x jabber-connect' and enter your
166 File: jabber.info, Node: Connecting, Next: Chatting, Prev: Registering an account, Up: Basic op…
172 successfully connect, jabber.el will download your roster and display it
173 in a buffer called `*-jabber-roster-*'.
176 this to e.g. "away", type `M-x jabber-send-presence' or `C-x C-j C-p'.
179 To disconnect, type `M-x jabber-disconnect' or `C-x C-j C-d'. Use
180 `M-x jabber-disconnect-one' to disconnect just one account (or just
184 save it in the variable `jabber-account-list'. *Note Account
187 `jabber-connect-all'. To connect only one account, possibly one that's
188 not in your list, type `M-x jabber-connect' or `C-u C-x C-j C-c'.
191 File: jabber.info, Node: Chatting, Next: Presence, Prev: Connecting, Up: Basic operation
200 You can also use the function `jabber-chat-with'. This function is
214 `*-jabber-chat-:-PERSON-*' will be created and selected. Type your
224 File: jabber.info, Node: Presence, Next: Presence subscription, Prev: Chatting, Up: Basic opera…
251 To set your presence, use the function `jabber-send-presence' (bound
253 code. For the latter case, use something like `(jabber-send-presence
265 By default, jabber.el sets your presence when you connect. If you
266 want it not to do that, remove `jabber-send-current-presence' from
267 `jabber-post-connect-hooks'. If you want to change the presence that
268 is sent, change the variables `jabber-default-show',
269 `jabber-default-status' and `jabber-default-priority'.
271 With jabber.el, you can set your presence remotely. *Note Ad-Hoc
280 File: jabber.info, Node: Resources and priority, Next: Directed presence, Up: Presence
290 or by configuring it in `jabber-account-list' (*note Account settings::)
308 chat buffers of jabber.el, messages are sent to whatever JID the last
313 File: jabber.info, Node: Directed presence, Prev: Resources and priority, Up: Presence
319 jabber-send-directed-presence'. This is mostly useful to manage
327 File: jabber.info, Node: Presence subscription, Next: Roster buffer, Prev: Presence, Up: Basic …
341 When jabber.el receives a presence subscription request, it will
350 jabber-send-subscription-request'. You will be prompted for the JID to
354 for that is `jabber-roster-change', which is also available in the
363 File: jabber.info, Node: Roster buffer, Prev: Presence subscription, Up: Basic operation
368 The roster buffer is called `*-jabber-roster-*'. It simply contains a
383 You can turn it off by setting `jabber-roster-show-bindings' to nil.
385 You can call `jabber-display-roster' (bound to `g') to redisplay
393 call `jabber-display-roster' manually.
397 hide them, customize `jabber-show-offline-contacts' variable.
405 File: jabber.info, Node: Groupchat, Next: Composing messages, Prev: Basic operation, Up: Top
413 To join a groupchat, type `M-x jabber-muc-join'. You will be
418 jabber-muc-nick'. *Note Configuration::, for setting default nicknames.
420 When trying to join a room, jabber.el first sends a service discovery
421 info request to the room, to find out whether it exists and what
424 MUC services (or services that respond in a way that jabber.el doesn't
426 `jabber-muc-disable-disco-check' to `t'; however, the bug should be
430 `*-jabber-groupchat-:-GROUPCHAT-*'. By default, the buffer name is
433 `M-x jabber-roster-change'. The groupchat buffer works much like the
440 (`jabber-muc-completion-delimiter') and form of personal talking to you
441 (`jabber-muc-looks-personaling-symbols')--see "jabber-chat"
445 To change the topic of a groupchat, type `M-x jabber-muc-set-topic'.
446 The current topic is shown in the header line.
448 To leave a groupchat, type `M-x jabber-muc-leave'.
451 by typing `M-x jabber-muc-get-config'. A configuration form will be
454 To see which people are in a groupchat, type `M-x jabber-muc-names'.
456 according `jabber-muc-print-names-format', sorted by "roles". *Note
467 File: jabber.info, Node: Configuration, Next: Invitations, Up: Groupchat
472 You can configure jabber.el to use a certain nickname for a certain
477 Type `M-x jabber-edit-bookmarks' to add bookmarks. You can specify
479 jabber.el), whether to automatically join the room, your desired
484 different groups by customizing `jabber-muc-default-nicknames'. There
488 accomplished by setting `jabber-muc-autojoin' to a list containing the
490 `jabber-muc-autojoin' from `jabber-post-connect-hooks'.
492 Please note, that `jabber-muc-default-nicknames' and
493 `jabber-muc-autojoin' are machine-local, but apply to _all_
499 File: jabber.info, Node: Invitations, Next: Private messages, Prev: Configuration, Up: Groupchat
504 You can invite someone to a groupchat with `M-x jabber-muc-invite'
516 File: jabber.info, Node: Private messages, Next: MUC Administration, Prev: Invitations, Up: Gro…
522 jabber-muc-private' (or by using the MUC menu). This creates a buffer
523 with the name `*-jabber-muc-priv-GROUP-NICKNAME-*' (customizable by
524 `jabber-muc-private-buffer-format'), which behaves mostly like an
532 File: jabber.info, Node: MUC Administration, Prev: Private messages, Up: Groupchat
545 participant with `M-x jabber-muc-set-role'. Kicking means setting the
569 a user with `M-x jabber-muc-set-affiliation'. Affiliation is
593 File: jabber.info, Node: Composing messages, Next: File transfer, Prev: Groupchat, Up: Top
604 `M-x jabber-compose' to start it. In the buffer that comes up, you can
608 File: jabber.info, Node: File transfer, Next: Services, Prev: Composing messages, Up: Top
613 jabber.el has limited support for file transfer. The most important
618 jabber.el is able to exchange files with most Jabber clients (and
635 File: jabber.info, Node: Receiving files, Next: Sending files, Up: File transfer
658 you will find that this is an internal IP address (often starts with
663 File: jabber.info, Node: Sending files, Prev: Receiving files, Up: File transfer
673 jabber-get-disco-items'; see *note Service discovery::.
676 `jabber-socks5-proxies'. Putting `proxy.jabber.se' there should work.
677 Type `M-x jabber-socks5-query-all-proxies' to see if the proxies answer.
679 Now, you can type `M-x jabber-ft-send' to send a file to someone.
693 connecting to the proxy, jabber.el will send the file through the
700 current file transfer implementation of jabber.el, and in Emacs
704 File: jabber.info, Node: Services, Next: Personal information, Prev: File transfer, Up: Top
714 Browse buffers are named `*-jabber-browse-:-SERVICE-*', sometimes with
721 `jabber-browse-buffer-format'.
732 File: jabber.info, Node: Commands, Next: Your home server, Up: Services
754 File: jabber.info, Node: Registration, Next: Search, Up: Commands
760 jabber-get-register' and entering the JID of the service. On success,
770 File: jabber.info, Node: Search, Next: Ad-Hoc Commands, Prev: Registration, Up: Commands
776 jabber-get-search'. This gives you a single-stage form to fill in.
781 File: jabber.info, Node: Ad-Hoc Commands, Next: Service discovery, Prev: Search, Up: Commands
786 jabber.el supports a subset of XEP-0050, the standard for Ad-Hoc
789 clients (e.g. Psi, and jabber.el itself).
791 To find which commands are available, run "Request command list"
792 (`jabber-ahc-get-list').(1)
795 command" (`jabber-ahc-execute-command'), accepting the defaults for JID
807 Currently, jabber.el uses ad-hoc commands for setting presence
810 `jabber-account-list'. So, you can add disabled JIDs in
811 `jabber-account-list' to allow them control your presence.(2)
816 `http://jabber.org/protocol/commands'.
822 File: jabber.info, Node: Service discovery, Next: Browsing, Prev: Ad-Hoc Commands, Up: Commands
827 Service discovery is used to find information about servers, services
828 and clients. There are two kinds of requests: find "info" about a
829 Jabber entity--i.e. its identity and supported features--and find
833 The commands to execute such requests are `jabber-get-disco-info'
834 and `jabber-get-disco-items', respectively. These commands can be
848 File: jabber.info, Node: Browsing, Prev: Service discovery, Up: Commands
853 Before service discovery, browsing was the way to find information about
854 Jabber entities. Nowadays it is all but superseded, but jabber.el still
855 supports it. You can use it by typing `M-x jabber-get-browse'. It
859 File: jabber.info, Node: Your home server, Next: Transports, Prev: Commands, Up: Services
866 jabber-get-register' and typing the JID of your server; *note
870 File: jabber.info, Node: Transports, Next: User directories, Prev: Your home server, Up: Servic…
885 To use such a transport, you first need to find one, obviously.
891 server in question. You can also find transports from within the
897 To register with a transport, type `M-x jabber-get-register' and enter
925 search for other users with `M-x jabber-get-search'; *note Search::.
929 (1) Of course, jabber.el could do more to alleviate this
933 File: jabber.info, Node: User directories, Next: MUC services, Prev: Transports, Up: Services
939 most well-known one is `users.jabber.org'. You can register with such
940 a directory to let other people find you (*note Registration::), and
944 File: jabber.info, Node: MUC services, Prev: User directories, Up: Services
956 File: jabber.info, Node: Personal information, Next: Avatars, Prev: Services, Up: Top
963 about a user by running `M-x jabber-vcard-get', `M-x
964 jabber-muc-vcard-get' if you in MUC (also available in the MUC menu),
966 jabber-vcard-edit'.
981 File: jabber.info, Node: Avatars, Next: Time queries, Prev: Personal information, Up: Top
986 jabber.el supports viewing and publishing avatars according to XEP-0153,
989 and if other people publish their avatars, they will be displayed in the
991 display images. Otherwise, jabber.el will not fetch avatars at all.
993 To disable retrieval of other people's avatars, set
994 `jabber-vcard-avatars-retrieve' to nil. To disable publishing of your
995 own avatar, set `jabber-vcard-avatars-publish' to nil. To disable
996 avatars in chat buffer header lines, set
997 `jabber-chat-buffer-show-avatar' to nil.
1000 specification. Most of them are not enforced by jabber.el.
1002 jabber.el.
1010 (jabber.el will behave incorrectly if the image is not in a format
1014 `jabber-avatar-cache-directory', by default `~/.jabber-avatars/'. The
1019 File: jabber.info, Node: Time queries, Next: Useful features, Prev: Avatars, Up: Top
1024 With `M-x jabber-get-time', you can ask what time an entity (client,
1029 online. Use `M-x jabber-get-last-online' for that.
1032 `M-x jabber-get-idle-time'. Not all clients answer such queries, e.g.
1033 jabber.el doesn't. This command can also tell the uptime of a server
1037 XEP-0090::). It has been superseded by XEP-0202, but jabber.el doesn't
1042 File: jabber.info, Node: Useful features, Next: Message history, Prev: Time queries, Up: Top
1047 jabber.el includes a number of features meant to improve the user
1063 File: jabber.info, Node: Autoaway, Next: Modeline status, Up: Useful features
1071 (`jabber-autoaway-timeout', `jabber-autoaway-xa-timeout'), statuses
1072 (`jabber-autoaway-status', `jabber-autoaway-xa-status') and priorityes
1073 (`jabber-autoaway-priority', `jabber-autoaway-xa-priority') to set.
1075 To activate this feature, add `jabber-autoaway-start' to
1076 `jabber-post-connect-hooks', e.g:
1077 (add-hook 'jabber-post-connect-hooks 'jabber-autoaway-start)
1079 There are different methods to find how long you have been "idle".
1080 The method(s) to use is specified by `jabber-autoaway-methods'
1081 (obsoleted `jabber-autoaway--method' will also work). The value of this
1087 * `jabber-current-idle-time' is used if your Emacs has the
1088 `current-idle-time' function (which was introduced in Emacs 22).
1093 * `jabber-xprintidle-get-idle-time' uses xprintidle (1) program, if
1094 found. You can also manually set `jabber-xprintidle-program' to
1096 XScreensaver (http://www.jwz.org/xscreensaver) to find your idle
1099 * `jabber-termatime-get-idle-time' used on GNU/Linux terminals. It
1109 File: jabber.info, Node: Modeline status, Next: Keepalive, Prev: Autoaway, Up: Useful features
1114 By typing `M-x jabber-mode-line-mode' you toggle display of some status
1120 If you set `jabber-mode-line-compact' to nil, you get a complete
1126 File: jabber.info, Node: Keepalive, Next: Reconnecting, Prev: Modeline status, Up: Useful featu…
1154 Type `M-x jabber-whitespace-ping-start' to start it, and `M-x
1155 jabber-whitespace-ping-stop' to stop it. The former is in
1156 `jabber-post-connect-hooks' by default; *note Hooks::.
1159 `jabber-whitespace-ping-interval'. The default value is once every 30
1170 Type `M-x jabber-keepalive-start' to start it, and `M-x
1171 jabber-keepalive-stop' to stop it. You may want to add
1172 `jabber-keepalive-start' to `jabber-post-connect-hooks'; *note Hooks::.
1175 `jabber-keepalive-interval' and `jabber-keepalive-timeout',
1179 jabber-ping'. Note that pong will be displayed according
1180 `jabber-alerts-info-messages-hooks' (default is echo in minibuffer).
1183 File: jabber.info, Node: Reconnecting, Next: Tracking activity, Prev: Keepalive, Up: Useful fea…
1188 jabber.el supports automatic reconnection to Jabber server(s) upon lost
1190 `jabber-auto-reconnect' variable.
1193 jabber.el reconnects. There are two ways to save your password: you can
1194 set it in `jabber-account-alist' (*note Account settings::), and you
1200 File: jabber.info, Node: Tracking activity, Next: Watch buddies, Prev: Reconnecting, Up: Useful…
1211 When `jabber-activity-mode' is enabled (by default, it is), Emacs
1218 customize `jabber-activity-make-strings' to shorten them to the
1223 `jabber-activity-query-unread' to nil.
1226 title, set `jabber-activity-count-in-title' to t. The format of the
1227 number can be changed through `jabber-activity-count-in-title-format'.
1230 `jabber-activity-banned' variable - just add boring JIDs (as regexps)
1234 `jabber-activity-update-hook'. From that function, you can take action
1235 based on `jabber-activity-jids', `jabber-activity-mode-string', and
1236 `jabber-activity-count-string'.
1239 File: jabber.info, Node: Watch buddies, Next: Spell checking, Prev: Tracking activity, Up: Usef…
1246 obtrusive message when that happens, type `M-x jabber-watch-add' and
1251 online. jabber.el will remember this for the rest of your Emacs
1253 it, type `M-x jabber-watch-remove'.
1256 File: jabber.info, Node: Spell checking, Next: Gmail notifications, Prev: Watch buddies, Up: Us…
1264 `flyspell-mode' to `jabber-chat-mode-hook'.
1270 File: jabber.info, Node: Gmail notifications, Next: Saving groups roll state, Prev: Spell checki…
1279 (add-hook 'jabber-post-connect-hooks 'jabber-gmail-subscribe)
1283 `jabber-gmail-dothreads' function.
1287 (eval-after-load "jabber-gmail"
1288 '(defun jabber-gmail-dothreads (threads)
1296 (global-set-key (kbd "<f9> g") 'jabber-gmail-query)
1298 ;;; The definition of `osd' function used by `jabber-gmail-dothreads'.
1313 File: jabber.info, Node: Saving groups roll state, Prev: Gmail notifications, Up: Useful features
1319 To do this you need to add `jabber-roster-save-groups' to
1320 `jabber-pre-disconnect-hook' and `jabber-roster-restore-groups' to
1321 `jabber-post-connect-hooks', respectively.
1326 now, `jabber-pre-disconnect-hook' run only with `jabber-disconnect'
1327 (not with `jabber-disconnect-one').
1330 File: jabber.info, Node: Message history, Next: Typing notifications, Prev: Useful features, Up…
1336 `jabber-history-enabled' to t. If you also want record MUC groupchat
1337 messages, set `jabber-history-muc-enabled' to t. By default all
1339 `jabber-global-history-filename' (`~/.jabber_global_message_log' by
1341 files, you can set `jabber-use-global-history' to `nil'. When using
1343 the directory specified by the variable `jabber-history-dir' (default
1344 is `~/.emacs-jabber').
1349 `jabber-backlog-number' (by default 10), and how old messages with
1350 `jabber-backlog-days' (by default 3 days).
1353 `jabber-chat-display-more-backlog', available in the Chat menu. This
1359 `jabber-history-enable-rotation' to `t' (default is `nil'). This
1361 When `jabber-history-size-limit' (in kilobytes) is reached, the
1365 For example, suppose you set the `jabber-history-size-limit'
1366 variable to 512 and you chat with your buddy `foo@jabber.server' using
1368 file (`foo@jabber-server') reaches 512K bytes, it will be renamed to
1369 `foo@jabber-server-1' and `foo@jabber-server' will be set empty. Next
1370 time `foo@jabber-server' grows to 512K bytes, it will be saved as
1371 `foo@jabber-server-2' and so on. Although the example was presented
1376 much, you can customize `jabber-alert-message-hooks' and
1377 `jabber-alert-muc-hooks' by adding truncation upon receiving message
1378 (`jabber-truncate-chat' and `jabber-truncate-muc', respectively). The
1380 `jabber-log-lines-to-keep'.
1383 File: jabber.info, Node: Typing notifications, Next: Roster import and export, Prev: Message his…
1389 Jabber. jabber.el supports both of them, displaying various information
1409 reported by clients. jabber.el can report all three of them, and can
1412 If you don't want jabber.el to send out this information about you,
1413 set the variables `jabber-events-confirm-delivered',
1414 `jabber-events-confirm-displayed', and/or
1415 `jabber-events-confirm-composing' to nil. You can make jabber.el not
1417 `jabber-events-request-these'.
1437 jabber.el can display all five states, but only ever sends "active"
1441 `jabber-chatstates-confirm'.
1444 File: jabber.info, Node: Roster import and export, Next: XMPP URIs, Prev: Typing notifications, …
1454 To export your roster to a file, type `M-x jabber-export-roster'. A
1458 To import your roster from a file, type `M-x jabber-import-roster'.
1467 File: jabber.info, Node: XMPP URIs, Next: Customization, Prev: Roster import and export, Up: Top
1473 web browser could be made to pass such links to jabber.el, so that such
1485 The jabber.el distribution contains a GConf schema which tries to set
1494 /usr/local/libexec/emacs-jabber-uri-handler "%s"
1506 1. Note the path of the `emacs-jabber-uri-handler' file in the
1507 jabber.el distribution, and make sure it is executable.
1510 the path of `emacs-jabber-uri-handler'. There are two ways to do
1522 "/PATH/TO/emacs-jabber-uri-handler");
1530 `jabber-handle-uri', your contribution for this section would be
1534 File: jabber.info, Node: Customization, Next: Hacking and extending, Prev: XMPP URIs, Up: Top
1539 jabber.el is intended to be customizable for many tastes. After all,
1540 this is Emacs. To open a customization buffer for jabber.el, type `M-x
1541 jabber-customize'.
1554 File: jabber.info, Node: Account settings, Next: Menu, Up: Customization
1559 All account settings reside in the variable `jabber-account-list'.
1565 If the account is disabled, `jabber-connect-all' will not attempt
1567 `jabber-connect'.
1604 Previous versions of jabber.el had the variables `jabber-username',
1605 `jabber-server', `jabber-resource' and `jabber-password'. These are
1613 File: jabber.info, Node: Menu, Next: Customizing the roster buffer, Prev: Account settings, Up:…
1621 `jabber-display-menu' to `t' or `nil', to have the menu displayed
1626 `jabber-menu'. It still works, but is considered obsolete.
1629 File: jabber.info, Node: Customizing the roster buffer, Next: Customizing the chat buffer, Prev:…
1634 `jabber-roster-sort-functions' controls how roster items are sorted.
1638 `jabber-sort-order' controls how roster items are sorted by
1642 `jabber-show-resources' controls when your contacts' resources are
1646 `jabber-roster-line-format' specifies how the entry for each contact
1674 `jabber-roster-show-title' controls whether to show a "Jabber
1676 jabber-display-roster' after changing this variable to update the
1680 `jabber-roster-subscription-display'.
1682 `jabber-resource-line-format' is nearly identical, except that the
1687 `jabber-roster-buffer' specifies the name of the roster buffer. If
1691 `jabber-roster-show-bindings' controls whether to show a list of
1693 jabber-display-roster' after changing this variable to update the
1697 File: jabber.info, Node: Customizing the chat buffer, Next: Customizing alerts, Prev: Customizin…
1706 `jabber-chat-text-local' and `jabber-chat-text-foreign' determine
1709 `jabber-chat-prompt-local' and `jabber-chat-prompt-foreign'
1711 automatic colorization of local (`jabber-muc-colorize-local') and/or
1712 foreign (`jabber-muc-colorize-foreign') prompts. By default it is off.
1714 customizing `jabber-muc-participant-colors',
1715 `jabber-muc-nick-saturation' and `jabber-muc-nick-value', if you wish.
1717 `jabber-chat-local-prompt-format' and
1718 `jabber-chat-foreign-prompt-format' determine what text is displayed in
1739 `jabber-chat-time-format' defines how `%t' shows time. Its format
1743 `jabber-chat-delayed-time-format' is used instead of
1744 `jabber-chat-time-format' for delayed messages (messages sent while you
1751 "rare" times). This can be toggled with `jabber-print-rare-time'. You
1752 can customize the displayed time by setting `jabber-rare-time-format'.
1757 the variable `jabber-chat-header-line-format'. The format of that
1760 For MUC buffers, `jabber-muc-header-line-format' is used instead.
1762 The variable `jabber-chat-fill-long-lines' controls whether long
1766 File: jabber.info, Node: Customizing alerts, Next: Hooks, Prev: Customizing the chat buffer, Up…
1786 the supplied message in some way, use the macro `define-jabber-alert'.
1789 (define-jabber-alert foo
1809 `jabber-message-hooks' vs `jabber-alert-message-hooks', etc.
1820 File: jabber.info, Node: Standard alerts, Next: Presence alerts, Up: Customizing alerts
1846 files in `jabber-alert-message-wave', `jabber-alert-presence-wave' and
1847 `jabber-alert-info-wave', respectively. You can specify specific sound
1849 `jabber-alert-message-wave-alist' and
1850 `jabber-alert-presence-wave-alist'.
1873 tool. The variable `jabber-xmessage-timeout' controls how long the
1886 variable `jabber-autoanswer-alist' description for details.
1897 example of such an alert is `jabber-muc-echo-personal', which shows a
1900 Some of these functions are in the `jabber-alert.el' file, and the
1918 File: jabber.info, Node: Presence alerts, Next: Message alerts, Prev: Standard alerts, Up: Cust…
1923 Set `jabber-alert-presence-message-function' to your desired function.
1931 are the previous and current stati, respectively, and STATUSTEXT is the
1940 The default function, `jabber-presence-default-message', returns
1944 Another function, `jabber-presence-only-chat-open-message', behave
1945 just like `jabber-presence-default-message', but only if conversation
1954 File: jabber.info, Node: Message alerts, Next: MUC alerts, Prev: Presence alerts, Up: Customizi…
1959 Set `jabber-alert-message-function' to your desired function.(1) This
1969 The default function, `jabber-message-default-message', returns
1977 already the current buffer, set `jabber-message-alert-same-buffer' to
1984 (1) Logically it should be `jabber-alert-message-message-function',
1988 File: jabber.info, Node: MUC alerts, Next: Info alerts, Prev: Message alerts, Up: Customizing a…
1993 Set `jabber-alert-muc-function' to your desired function. This
2004 The default function, `jabber-muc-default-message', returns "Message
2012 that, customize the variable `jabber-muc-alert-self'.
2015 File: jabber.info, Node: Info alerts, Prev: MUC alerts, Up: Customizing alerts
2021 `jabber-alert-info-message-function', takes two arguments, INFOTYPE and
2029 File: jabber.info, Node: Hooks, Next: Debug options, Prev: Customizing alerts, Up: Customization
2034 jabber.el provides various hooks that you can use for whatever purpose.
2036 `jabber-post-connect-hooks'
2038 By default it contains `jabber-send-current-presence' (*note
2042 `jabber-lost-connection-hooks'
2048 `jabber-pre-disconnect-hook'
2050 `jabber-disconnect', the command to disconnect all accounts. There
2053 `jabber-post-disconnect-hook'
2055 after `jabber-lost-connection-hook'.
2057 `jabber-chat-mode-hook'
2060 `jabber-browse-mode-hook'
2063 `jabber-roster-mode-hook'
2068 File: jabber.info, Node: Debug options, Prev: Hooks, Up: Customization
2076 `jabber-debug-log-xml' activates XML console. All XML stanzas sent
2077 and received are logged in the buffer `*-jabber-console-JID-*' (and to
2082 value is `*-jabber-console-%s-*'.
2091 lost. To keep process buffers, set `jabber-debug-keep-process-buffers'
2095 File: jabber.info, Node: Hacking and extending, Next: Protocol support, Prev: Customization, Up…
2117 File: jabber.info, Node: Connection object, Next: XML representation, Up: Hacking and extending
2126 The various states of this object are defined in `jabber-core.el'.
2137 -- Function: jabber-connection-jid connection
2138 The `jabber-connection-jid' function returns the full JID of
2141 -- Function: jabber-connection-bare-jid connection
2142 The `jabber-connection-bare-jid' function returns the bare JID of
2147 (1) So far, this library is only distributed with jabber.el. The
2151 File: jabber.info, Node: XML representation, Next: JID symbols, Prev: Connection object, Up: Ha…
2175 -- Function: jabber-sexp2xml xml-sexp
2181 -- Function: jabber-send-sexp connection sexp
2185 You will normally use the functions `jabber-send-presence',
2186 `jabber-send-message' and `jabber-send-iq' instead of this
2190 File: jabber.info, Node: JID symbols, Next: Listening for new requests, Prev: XML representation…
2196 is interned in `jabber-jid-obarray'. A roster entry can have the
2234 `show' and `status' by the function `jabber-prioritize-resources'.
2237 File: jabber.info, Node: Listening for new requests, Next: Sending new requests, Prev: JID symbo…
2243 `jabber-iq-get-xmlns-alist' or `jabber-iq-set-xmlns-alist'. The key is
2246 format. `jabber-process-iq' reads these alists to determine which
2251 (add-to-list 'jabber-iq-set-xmlns-alist
2252 (cons "http://jabber.org/protocol/commands"
2253 'jabber-ahc-process))
2255 To send a response to an IQ request, use `(jabber-send-iq CONNECTION
2257 list format. `jabber-send-iq' will encapsulate the query in an IQ
2261 `jabber-signal-error'. The signal is caught by `jabber-process-iq',
2263 `jabber-send-iq-error'.
2266 File: jabber.info, Node: Sending new requests, Next: Extending service discovery, Prev: Listenin…
2271 To send an IQ request, use `jabber-send-iq'. It will generate an id,
2275 (jabber-send-iq CONNECTION TO TYPE QUERY
2283 passed to `jabber-send-iq'.
2285 Two standard callbacks are provided. `jabber-report-success' takes
2288 `jabber-process-data' prepares a browse buffer. If its closure
2296 (jabber-send-iq connection
2299 'jabber-report-success "Frobbing"
2300 'jabber-report-success "Frobbing")
2306 (jabber-send-iq connection
2309 'jabber-process-data 'jabber-process-investigate
2310 'jabber-process-data "Investigation failed")
2312 `jabber-report-success' for the error message. It's a matter of UI
2316 File: jabber.info, Node: Extending service discovery, Next: Chat printers, Prev: Sending new req…
2323 entity. jabber.el has APIs for both providing and requesting such
2332 File: jabber.info, Node: Providing info, Next: Requesting info, Up: Extending service discovery
2341 requests, add a string to `jabber-advertised-features'.
2345 them respond, add the appropriate entries to `jabber-disco-items-nodes'
2346 and `jabber-disco-info-nodes'. Both variables work in the same way.
2359 provided, `jabber-my-jid-p', which grants access for JIDs where the
2364 File: jabber.info, Node: Requesting info, Prev: Providing info, Up: Extending service discovery
2369 jabber.el has a facility for requesting disco items and info. All
2375 -- Function: jabber-disco-get-info jc jid node callback closure-data
2390 -- Function: jabber-disco-get-items jc jid node callback closure-data
2408 -- Function: jabber-disco-get-info-immediately jid node
2411 for `jabber-disco-get-info'.
2413 -- Function: jabber-disco-get-items-immediately jid node
2416 `jabber-disco-get-items'.
2423 File: jabber.info, Node: Chat printers, Next: Stanza chains, Prev: Extending service discovery, …
2430 (`jabber-chat-print-subject'), bodies (`jabber-chat-print-body', and
2431 `jabber:x:oob'-style URLs (`jabber-chat-print-url'). The functions in
2432 `jabber-chat-printers' are called in order, with the entire
2434 `jabber-chat-printers', these functions are run in one of two modes:
2439 For MUC, the functions in `jabber-muc-printers' are prepended to
2440 those in `jabber-chat-printers'.
2445 backwards compatibility. Included are `jabber-muc-print-invite' and
2446 `jabber-chat-normal-body'; functions for XHTML-IM and PGP encrypted
2448 `jabber-body-printers' are called in order until one of them returns
2452 File: jabber.info, Node: Stanza chains, Prev: Chat printers, Up: Hacking and extending
2457 If you really need to get under the skin of jabber.el, you can add
2458 functions to the lists `jabber-message-chain', `jabber-iq-chain' and
2459 `jabber-presence-chain'. The functions in these lists will be called
2467 File: jabber.info, Node: Protocol support, Next: Concept index, Prev: Hacking and extending, Up…
2473 jabber.el.
2487 * XEP-0054:: vcard-temp
2508 File: jabber.info, Node: RFC 3920, Next: RFC 3921, Up: Protocol support
2516 Gnus is present. As SASL is an essential part to XMPP, jabber.el will
2519 None of the stringprep profiles are implemented. jabber.el changes
2522 jabber.el doesn't interpret namespace prefixes.
2529 File: jabber.info, Node: RFC 3921, Next: XEP-0004, Prev: RFC 3920, Up: Protocol support
2545 jabber.el doesn't support XMPP-E2E or "im:" CPIM URIs.
2548 File: jabber.info, Node: XEP-0004, Next: XEP-0012, Prev: RFC 3921, Up: Protocol support
2560 should be. This is partly a paradigm clash, as jabber.el doesn't use
2569 File: jabber.info, Node: XEP-0012, Next: XEP-0020, Prev: XEP-0004, Up: Protocol support
2574 jabber.el can generate all three query types described in the protocol.
2578 File: jabber.info, Node: XEP-0020, Next: XEP-0022, Prev: XEP-0012, Up: Protocol support
2586 File: jabber.info, Node: XEP-0022, Next: XEP-0030, Prev: XEP-0020, Up: Protocol support
2591 jabber.el understands all four specified kinds of message events
2597 File: jabber.info, Node: XEP-0030, Next: XEP-0045, Prev: XEP-0022, Up: Protocol support
2606 File: jabber.info, Node: XEP-0045, Next: XEP-0049, Prev: XEP-0030, Up: Protocol support
2611 jabber.el supports parts of XEP-0045. Entering, leaving and chatting
2618 File: jabber.info, Node: XEP-0049, Next: XEP-0050, Prev: XEP-0045, Up: Protocol support
2623 jabber.el contains an implementation of XEP-0049; It is used for
2627 File: jabber.info, Node: XEP-0050, Next: XEP-0054, Prev: XEP-0049, Up: Protocol support
2632 jabber.el is probably the first implementation of XEP-0050 (see post on
2634 (http://article.gmane.org/gmane.network.jabber.devel/21413)). Both the
2638 File: jabber.info, Node: XEP-0054, Next: XEP-0055, Prev: XEP-0050, Up: Protocol support
2640 A.11 XEP-0054 (vcard-temp)
2648 File: jabber.info, Node: XEP-0055, Next: XEP-0065, Prev: XEP-0054, Up: Protocol support
2659 File: jabber.info, Node: XEP-0065, Next: XEP-0066, Prev: XEP-0055, Up: Protocol support
2664 XEP-0065 is supported. Currently jabber.el cannot act as a server, not
2673 File: jabber.info, Node: XEP-0066, Next: XEP-0068, Prev: XEP-0065, Up: Protocol support
2678 jabber.el will display URLs sent in message stanzas qualified by the
2679 `jabber:x:oob' namespace, as described in this XEP. Sending such URLs
2680 or doing anything with iq stanzas (using the `jabber:iq:oob' namespace)
2684 File: jabber.info, Node: XEP-0068, Next: XEP-0077, Prev: XEP-0066, Up: Protocol support
2693 File: jabber.info, Node: XEP-0077, Next: XEP-0078, Prev: XEP-0068, Up: Protocol support
2704 jabber.el will not prevent or alert a user trying to change a
2708 File: jabber.info, Node: XEP-0078, Next: XEP-0082, Prev: XEP-0077, Up: Protocol support
2718 File: jabber.info, Node: XEP-0082, Next: XEP-0085, Prev: XEP-0078, Up: Protocol support
2727 File: jabber.info, Node: XEP-0085, Next: XEP-0086, Prev: XEP-0082, Up: Protocol support
2737 File: jabber.info, Node: XEP-0086, Next: XEP-0090, Prev: XEP-0085, Up: Protocol support
2746 File: jabber.info, Node: XEP-0090, Next: XEP-0091, Prev: XEP-0086, Up: Protocol support
2751 jabber.el can query other entities for their time, and return the
2752 current time to those who ask.
2755 File: jabber.info, Node: XEP-0091, Next: XEP-0092, Prev: XEP-0090, Up: Protocol support
2761 displayed in chat buffers instead of the current time.
2764 File: jabber.info, Node: XEP-0092, Next: XEP-0095, Prev: XEP-0091, Up: Protocol support
2769 The user can request the version of any entity. jabber.el answers
2770 version requests to anyone, giving "jabber.el" as name, and the Emacs
2774 File: jabber.info, Node: XEP-0095, Next: XEP-0096, Prev: XEP-0092, Up: Protocol support
2779 XEP-0095 is supported, both incoming and outgoing, except that jabber.el
2784 File: jabber.info, Node: XEP-0096, Next: XEP-0146, Prev: XEP-0095, Up: Protocol support
2796 File: jabber.info, Node: XEP-0146, Next: XEP-0153, Prev: XEP-0096, Up: Protocol support
2804 File: jabber.info, Node: XEP-0153, Next: XEP-0199, Prev: XEP-0146, Up: Protocol support
2809 vCard-based avatars are supported, both publishing and displaying. The
2810 pixel size limits on avatars are not enforced.
2813 File: jabber.info, Node: XEP-0199, Next: XEP-0245, Prev: XEP-0153, Up: Protocol support
2821 File: jabber.info, Node: XEP-0245, Prev: XEP-0199, Up: Protocol support
2829 File: jabber.info, Node: Concept index, Next: Function index, Prev: Protocol support, Up: Top
2849 * avatars: Avatars. (line 6)
3005 File: jabber.info, Node: Function index, Next: Variable index, Prev: Concept index, Up: Top
3013 * define-jabber-alert: Customizing alerts. (line 6)
3014 * jabber-activity-mode: Tracking activity. (line 6)
3015 * jabber-ahc-execute-command: Ad-Hoc Commands. (line 6)
3016 * jabber-ahc-get-list: Ad-Hoc Commands. (line 6)
3017 * jabber-chat-display-more-backlog: Message history. (line 23)
3018 * jabber-chat-with: Chatting. (line 6)
3019 * jabber-compose: Composing messages. (line 6)
3020 * jabber-connect: Connecting. (line 6)
3021 * jabber-connect-all: Connecting. (line 6)
3022 * jabber-connection-bare-jid: Connection object. (line 26)
3023 * jabber-connection-jid: Connection object. (line 22)
3024 * jabber-current-idle-time: Autoaway. (line 6)
3025 * jabber-customize: Customization. (line 6)
3026 * jabber-disco-get-info: Requesting info. (line 14)
3027 * jabber-disco-get-info-immediately: Requesting info. (line 46)
3028 * jabber-disco-get-items: Requesting info. (line 29)
3029 * jabber-disco-get-items-immediately: Requesting info. (line 51)
3030 * jabber-disconnect: Connecting. (line 6)
3031 * jabber-disconnect-one: Connecting. (line 6)
3032 * jabber-display-roster: Roster buffer. (line 23)
3033 * jabber-edit-bookmarks: Configuration. (line 6)
3034 * jabber-export-roster: Roster import and export.
3036 * jabber-ft-send: Sending files. (line 17)
3037 * jabber-get-browse: Browsing. (line 6)
3038 * jabber-get-disco-info: Service discovery. (line 6)
3039 * jabber-get-disco-items: Service discovery. (line 6)
3040 * jabber-get-idle-time: Time queries. (line 13)
3041 * jabber-get-last-online: Time queries. (line 10)
3042 * jabber-get-register: Registration. (line 6)
3043 * jabber-get-search: Search. (line 6)
3044 * jabber-get-time: Time queries. (line 6)
3045 * jabber-handle-uri: XMPP URIs. (line 6)
3046 * jabber-import-roster: Roster import and export.
3048 * jabber-info-default-message: Info alerts. (line 6)
3049 * jabber-keepalive-start: Keepalive. (line 45)
3050 * jabber-keepalive-stop: Keepalive. (line 45)
3051 * jabber-menu: Menu. (line 13)
3052 * jabber-message-default-message: Message alerts. (line 6)
3053 * jabber-mode-line-mode: Modeline status. (line 6)
3054 * jabber-muc-autojoin: Configuration. (line 6)
3055 * jabber-muc-default-message: MUC alerts. (line 6)
3056 * jabber-muc-get-config: Groupchat. (line 46)
3057 * jabber-muc-invite: Invitations. (line 6)
3058 * jabber-muc-join: Groupchat. (line 9)
3059 * jabber-muc-leave: Groupchat. (line 44)
3060 * jabber-muc-names: Groupchat. (line 50)
3061 * jabber-muc-private: Private messages. (line 6)
3062 * jabber-muc-set-affiliation: MUC Administration. (line 37)
3063 * jabber-muc-set-role: MUC Administration. (line 13)
3064 * jabber-muc-set-topic: Groupchat. (line 41)
3065 * jabber-my-jid-p: Providing info. (line 24)
3066 * jabber-ping: Keepalive. (line 53)
3067 * jabber-presence-default-message: Presence alerts. (line 6)
3068 * jabber-process-data: Sending new requests. (line 20)
3069 * jabber-process-iq <1>: Sending new requests. (line 6)
3070 * jabber-process-iq: Listening for new requests.
3072 * jabber-report-success: Sending new requests. (line 20)
3073 * jabber-send-default-presence: Presence. (line 6)
3074 * jabber-send-directed-presence: Directed presence. (line 6)
3075 * jabber-send-iq <1>: Listening for new requests.
3077 * jabber-send-iq: Sending new requests. (line 6)
3078 * jabber-send-presence: Presence. (line 6)
3079 * jabber-send-sexp: XML representation. (line 32)
3080 * jabber-send-subscription-request: Presence subscription.
3082 * jabber-sexp2xml: XML representation. (line 26)
3083 * jabber-signal-error: Listening for new requests.
3085 * jabber-socks5-query-all-proxies: Sending files. (line 13)
3086 * jabber-termatime-get-idle-time: Autoaway. (line 6)
3087 * jabber-truncate-chat: Message history. (line 6)
3088 * jabber-truncate-muc: Message history. (line 6)
3089 * jabber-truncate-top: Message history. (line 6)
3090 * jabber-vcard-edit: Personal information. (line 6)
3091 * jabber-vcard-get: Personal information. (line 6)
3092 * jabber-watch-add: Watch buddies. (line 6)
3093 * jabber-watch-remove: Watch buddies. (line 6)
3094 * jabber-whitespace-ping-start: Keepalive. (line 29)
3095 * jabber-whitespace-ping-stop: Keepalive. (line 29)
3096 * jabber-xprintidle-program: Autoaway. (line 6)
3099 File: jabber.info, Node: Variable index, Prev: Function index, Up: Top
3107 * jabber-account-list: Account settings. (line 6)
3108 * jabber-activity-count-in-title: Tracking activity. (line 6)
3109 * jabber-activity-count-in-title-format: Tracking activity. (line 6)
3110 * jabber-activity-make-strings: Tracking activity. (line 6)
3111 * jabber-activity-query-unread: Tracking activity. (line 6)
3112 * jabber-advertised-features: Providing info. (line 9)
3113 * jabber-alert-info-message-function: Info alerts. (line 6)
3114 * jabber-alert-message-function: Message alerts. (line 6)
3115 * jabber-alert-muc-function: MUC alerts. (line 6)
3116 * jabber-alert-presence-message-function: Presence alerts. (line 6)
3117 * jabber-auto-reconnect: Reconnecting. (line 6)
3118 * jabber-autoaway-method: Autoaway. (line 6)
3119 * jabber-autoaway-methods: Autoaway. (line 6)
3120 * jabber-autoaway-priority: Autoaway. (line 6)
3121 * jabber-autoaway-status: Autoaway. (line 6)
3122 * jabber-autoaway-timeout: Autoaway. (line 6)
3123 * jabber-autoaway-xa-priority: Autoaway. (line 6)
3124 * jabber-autoaway-xa-status: Autoaway. (line 6)
3125 * jabber-autoaway-xa-timeout: Autoaway. (line 6)
3126 * jabber-avatar-cache-directory: Avatars. (line 6)
3127 * jabber-backlog-days: Message history. (line 6)
3128 * jabber-backlog-number: Message history. (line 6)
3129 * jabber-body-printers: Chat printers. (line 6)
3130 * jabber-browse-mode-hook: Hooks. (line 32)
3131 * jabber-chat-buffer-show-avatar: Avatars. (line 6)
3132 * jabber-chat-delayed-time-format: Customizing the chat buffer.
3134 * jabber-chat-fill-long-lines: Customizing the chat buffer.
3136 * jabber-chat-foreign-prompt-format: Customizing the chat buffer.
3138 * jabber-chat-header-line-format: Customizing the chat buffer.
3140 * jabber-chat-local-prompt-format: Customizing the chat buffer.
3142 * jabber-chat-mode-hook: Hooks. (line 29)
3143 * jabber-chat-printers: Chat printers. (line 6)
3144 * jabber-chat-prompt-foreign: Customizing the chat buffer.
3146 * jabber-chat-prompt-local: Customizing the chat buffer.
3148 * jabber-chat-text-foreign: Customizing the chat buffer.
3150 * jabber-chat-text-local: Customizing the chat buffer.
3152 * jabber-chat-time-format: Customizing the chat buffer.
3154 * jabber-chatstates-confirm: Typing notifications. (line 40)
3155 * jabber-console-name-format: Debug options. (line 14)
3156 * jabber-console-truncate-lines: Debug options. (line 17)
3157 * jabber-debug-keep-process-buffers: Debug options. (line 21)
3158 * jabber-debug-log-xml: Debug options. (line 9)
3159 * jabber-default-priority: Presence. (line 6)
3160 * jabber-default-show: Presence. (line 6)
3161 * jabber-default-status: Presence. (line 6)
3162 * jabber-disco-info-nodes: Providing info. (line 12)
3163 * jabber-disco-items-nodes: Providing info. (line 12)
3164 * jabber-display-menu: Menu. (line 6)
3165 * jabber-events-confirm-composing: Typing notifications. (line 13)
3166 * jabber-events-confirm-delivered: Typing notifications. (line 13)
3167 * jabber-events-confirm-displayed: Typing notifications. (line 13)
3168 * jabber-events-request-these: Typing notifications. (line 13)
3169 * jabber-global-history-filename: Message history. (line 6)
3170 * jabber-history-dir: Message history. (line 6)
3171 * jabber-history-enable-rotation: Message history. (line 6)
3172 * jabber-history-enabled: Message history. (line 6)
3173 * jabber-history-muc-enabled: Message history. (line 6)
3174 * jabber-history-size-limit: Message history. (line 6)
3175 * jabber-iq-chain: Stanza chains. (line 6)
3176 * jabber-iq-get-xmlns-alist: Listening for new requests.
3178 * jabber-iq-set-xmlns-alist: Listening for new requests.
3180 * jabber-jid-obarray: JID symbols. (line 6)
3181 * jabber-keepalive-interval: Keepalive. (line 49)
3182 * jabber-keepalive-timeout: Keepalive. (line 49)
3183 * jabber-log-lines-to-keep: Message history. (line 6)
3184 * jabber-lost-connection-hooks: Hooks. (line 14)
3185 * jabber-message-alert-same-buffer: Message alerts. (line 23)
3186 * jabber-message-chain: Stanza chains. (line 6)
3187 * jabber-mode-line-compact: Modeline status. (line 6)
3188 * jabber-mode-line-mode: Modeline status. (line 6)
3189 * jabber-muc-alert-self: MUC alerts. (line 6)
3190 * jabber-muc-autojoin: Configuration. (line 6)
3191 * jabber-muc-colorize-foreign: Customizing the chat buffer.
3193 * jabber-muc-colorize-local: Customizing the chat buffer.
3195 * jabber-muc-completion-delimiter: Groupchat. (line 33)
3196 * jabber-muc-default-nicknames: Configuration. (line 6)
3197 * jabber-muc-disable-disco-check: Groupchat. (line 16)
3198 * jabber-muc-header-line-format: Customizing the chat buffer.
3200 * jabber-muc-looks-personaling-symbols: Groupchat. (line 33)
3201 * jabber-muc-nick-saturation: Customizing the chat buffer.
3203 * jabber-muc-nick-value: Customizing the chat buffer.
3205 * jabber-muc-participant-colors: Customizing the chat buffer.
3207 * jabber-muc-print-names-format: Groupchat. (line 50)
3208 * jabber-muc-printers: Chat printers. (line 6)
3209 * jabber-post-connect-hooks: Hooks. (line 8)
3210 * jabber-post-disconnect-hook: Hooks. (line 25)
3211 * jabber-pre-disconnect-hook: Hooks. (line 20)
3212 * jabber-presence-chain: Stanza chains. (line 6)
3213 * jabber-print-rare-time: Customizing the chat buffer.
3215 * jabber-rare-time-format: Customizing the chat buffer.
3217 * jabber-resource-line-format: Customizing the roster buffer.
3219 * jabber-roster-buffer: Customizing the roster buffer.
3221 * jabber-roster-line-format: Customizing the roster buffer.
3223 * jabber-roster-mode-hook: Hooks. (line 35)
3224 * jabber-roster-show-bindings <1>: Roster buffer. (line 20)
3225 * jabber-roster-show-bindings: Customizing the roster buffer.
3227 * jabber-roster-sort-functions: Customizing the roster buffer.
3229 * jabber-show-offline-contacts: Roster buffer. (line 33)
3230 * jabber-show-resources: Customizing the roster buffer.
3232 * jabber-socks5-proxies: Sending files. (line 13)
3233 * jabber-sort-order: Customizing the roster buffer.
3235 * jabber-use-global-history: Message history. (line 6)
3236 * jabber-vcard-avatars-publish: Avatars. (line 6)
3237 * jabber-vcard-avatars-retrieve: Avatars. (line 6)
3238 * jabber-whitespace-ping-interval: Keepalive. (line 33)
3239 * jabber-xmessage-timeout: Standard alerts. (line 53)