This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/layers/jabber
syl20bnr 6b33031dc5 core: dotspacemacs-distribution, spacemacs-core layer and rename contrib
- Rename contrib directory to layers
- Add new variable dotspacemacs-distribution
- Move spacemacs layer to layers/!distribution
- New layer spacemacs-core in layers/!distribution
- User can now set dotspacemacs-distribution to spacemacs or
  spacemacs-core (default spacemacs)

spacemacs-core is very lightweight layer sufficient to build upon
spacemacs.
2015-09-07 23:44:43 -04:00
..
img core: dotspacemacs-distribution, spacemacs-core layer and rename contrib 2015-09-07 23:44:43 -04:00
packages.el core: dotspacemacs-distribution, spacemacs-core layer and rename contrib 2015-09-07 23:44:43 -04:00
README.org core: dotspacemacs-distribution, spacemacs-core layer and rename contrib 2015-09-07 23:44:43 -04:00

Jabber contribution layer for Spacemacs

/TakeV/spacemacs/media/commit/44672329fb5af261814ac2878b563064dd5bbb5e/layers/jabber/img/jabber-logo.gif

Description

This layer adds keybindings for jabber.el. jabber.el is a Jabber (XMPP) client for Emacs

Install

To use this contribution layer add it to your `~/.spacemacs`

   (set-default dotspacemacs-configuration-layers '(jabber))

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

 (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))))

Joining rooms

To simplify joining rooms, you can use something like this:

 (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)))