Last Updated: February 25, 2016
·
3.288K
· fsproru

Google Talk inside Emacs

Yes, it sounds crazy, but think about it. If you code a lot and spend a lot of time in your terminal, what can be more natural then having your chat inside the terminal too?

So if you're using Emacs, it is easy as 1, 2, 3:

1) Emacs needs gnutls to talk to google:

$ brew install gnutls

2) Fire up Emacs and let's install jabber package

M-x package-install

Hit enter, it will ask you for the name of package to install, type jabber and hit enter again.

3) Set up connection info

in your ~/.emacs.d/init.el

(setq jabber-account-list 
'(("yourname@yourdomain.com"
(:network-server . "talk.google.com")
(:connection-type . ssl)
(:port . 443))))

That's it. Now you can try:

M-x jabber-connect-all  ;; or C-x C-j C-c to connect
C-x b *-jabber-roster-* ;; or C-x C-j C-r to switch to jabber-roster buffer

You should see the list of your contacts. Navigate to a contact and press Enter to start a conversation.

Happy chatting without leaving your editor ;)

More info: http://www.emacswiki.org/emacs/GoogleTalk

3 Responses
Add your response

You can also add facebook fairly easily.

I'd personally downvote this because it doesn't use customize.

over 1 year ago ·

Nice! You can also store the passwords in an encrypted elisp file that then gets loaded on startup. If you're using two-factor auth like me, then you probably don't want to remember the application specific passwords you need to use for this. You can do something like this to get it working:

;; In an encrypted file

(setq gmail-jabber-password "password")

;; in emacs init configuration

(require "path/to/encrypted/file.gpg")
(setq jabber-account-list
        `(("foo@gmail.com"
           (:network-server . "talk.google.com")
           (:connection-type . ssl)
           (:port . 443)
           (:password . ,gmail-jabber-password))))
over 1 year ago ·

@nicferrier, there is no point in downvoting. Instead you could share a snippet of code explaining how to use customize.

over 1 year ago ·