#+TITLE: Jabber layer #+TAGS: chat|layer [[file:img/jabber-logo.gif]] * Table of Contents :TOC_5_gh:noexport: - [[#description][Description]] - [[#features][Features:]] - [[#install][Install]] - [[#key-bindings][Key bindings]] - [[#jabber-roster][Jabber Roster]] - [[#hipchat][HipChat]] - [[#authentication][Authentication]] - [[#joining-rooms][Joining rooms]] * Description This layer adds support for the Jabber (XMPP) client for Emacs ** Features: - Use Jabber without having to leave Spacemacs * Install To use this configuration layer, add it to your =~/.spacemacs=. You will need to add =jabber= to the existing =dotspacemacs-configuration-layers= list in this file. * Key bindings | Key binding | Description | | ~SPC a j~ | Connect all accounts | ** Jabber Roster | Key binding | Description | | ~SPC m a~ | Jabber send presence | | ~SPC m b~ | Jabber get browse | | ~SPC m d~ | Jabber disconnect | | ~SPC m e~ | Jabber roster edit action at point | | ~SPC m g~ | Jabber display roster | | ~SPC m i~ | Jabber get disco items | | ~SPC m j~ | Jabber muc join | | ~SPC m q~ | bury buffer | | ~SPC m r~ | Jabber roster toggle offline display | | ~SPC m s~ | Jabber send subscription request | | ~SPC m v~ | Jabber get version | | ~SPC m RET~ | Jabber roster ret action at point | * HipChat ** Authentication To find YOUR_JABBER_ID visit "XMPP/Jabber info" section on your profile page at hipchat.com #+BEGIN_SRC emacs-lisp (setq ssl-program-name "gnutls-cli" ssl-program-arguments '("--insecure" "-p" service host) ssl-certificate-verification-policy 1) (setq jabber-account-list '(("YOUR_JABBER_ID@chat.hipchat.com" (:port . 5223) (:password . "YOUR_PASS") (:connection-type . ssl)))) #+END_SRC ** Joining rooms To simplify joining rooms, you can use something like this: #+BEGIN_SRC emacs-lisp (defvar hipchat-room-list '( ("HIPCHAT NAME" . "XMPP/JABBER NAME") )) (defvar hipchat-number "") (defvar hipchat-nickname "YOU_NICKNAME") (defun hipchat-join () (interactive) (let* ((room-list (sort (mapcar 'car hipchat-room-list) 'string-lessp)) (selected-room (completing-read "Room name: " room-list)) (hipchat-mapping (cdr (assoc selected-room hipchat-room-list)))) (jabber-groupchat-join (jabber-read-account) (concat hipchat-number "" hipchat-mapping "@conf.hipchat.com") hipchat-nickname t))) #+END_SRC