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/+chat/jabber
syl20bnr ebe4c60264 Revert "Defer packages by default using use-package-always-defer"
This reverts commit 29c78ce841 and all other fixes
that have been made afterwards.

The motivation is that use-package is seen by many as a replacement for
`require`. Is use-package always defer the loading of packages then is breaks
this use case, this does not respect POLA so even if it was making Spacemacs
loading faster (up to 3s faster on some startup on my machine) we just cannot
use it, it would be irresponsible. Spacemacs should be easy to use, loading
performance will come with time but it is not a priority.
2018-03-03 23:40:10 -05:00
..
img layers directory: create new categories 2016-03-23 21:39:43 -04:00
funcs.el Happy New Year 2018! 2018-01-04 02:00:25 -05:00
packages.el Revert "Defer packages by default using use-package-always-defer" 2018-03-03 23:40:10 -05:00
README.org Fixed feature header 2017-08-29 20:00:44 +03:00

Jabber layer

/TakeV/spacemacs/media/commit/635a32c468126ab6694a691b8228be57b6e1c45c/layers/+chat/jabber/img/jabber-logo.gif

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

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