2015-07-24 00:23:22 +00:00
|
|
|
#+TITLE: Jabber contribution layer for Spacemacs
|
|
|
|
|
|
|
|
[[file:img/jabber-logo.gif]]
|
|
|
|
|
|
|
|
* Table of Contents :TOC@4:
|
|
|
|
- [[#description][Description]]
|
|
|
|
- [[#install][Install]]
|
|
|
|
- [[#key-bindings][Key bindings]]
|
2015-09-03 00:29:26 +00:00
|
|
|
- [[#jabber-roster][Jabber Roster]]
|
|
|
|
- [[#hipchat][HipChat]]
|
|
|
|
- [[#authentication][Authentication]]
|
|
|
|
- [[#joining-rooms][Joining rooms]]
|
2015-07-24 00:23:22 +00:00
|
|
|
|
|
|
|
* Description
|
|
|
|
This layer adds keybindings for jabber.el. jabber.el is a Jabber (XMPP) client for Emacs
|
|
|
|
|
|
|
|
* Install
|
2015-10-13 11:41:48 +00:00
|
|
|
To use this contribution layer add it to your =~/.spacemacs=
|
2015-08-15 09:24:38 +00:00
|
|
|
#+begin_src emacs-lisp
|
|
|
|
(set-default dotspacemacs-configuration-layers '(jabber))
|
|
|
|
#+end_src
|
2015-07-24 00:23:22 +00:00
|
|
|
|
|
|
|
* Key bindings
|
2015-09-03 00:29:26 +00:00
|
|
|
|
2015-08-15 09:24:38 +00:00
|
|
|
| Key Binding | Description |
|
2015-08-27 01:16:24 +00:00
|
|
|
| ~SPC a j~ | Connect all accounts |
|
2015-08-15 09:24:38 +00:00
|
|
|
|
2015-07-24 00:23:22 +00:00
|
|
|
|
|
|
|
** Jabber Roster
|
2015-08-15 09:24:38 +00:00
|
|
|
| Key Binding | Description |
|
2015-08-27 01:16:24 +00:00
|
|
|
| ~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 |
|
2015-08-17 18:25:48 +00:00
|
|
|
| ~SPC m r~ | Jabber roster toggle offline display |
|
2015-08-27 01:16:24 +00:00
|
|
|
| ~SPC m s~ | Jabber send subscription request |
|
|
|
|
| ~SPC m v~ | Jabber get version |
|
|
|
|
| ~SPC m RET~ | Jabber roster ret action at point |
|
2015-09-03 00:29:26 +00:00
|
|
|
|
|
|
|
* 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
|