ERC layer
Table of ContentsClose
1. Description
Layer for ERC IRC chat.
1.1. Features:
- Highlight nicks (using erc-hl-nicks)
- Image inline support (using erc-image)
- Logging to
~/.emacs.d/.cache/erc-logs
andViewLogMode
for viewing logs (using erc-view-log) - YouTube videos Thumbnails inline (using erc-yt)
- Social Graph for ERC messages (using erc-social-graph)
- Optional SASL authentication via the variable
erc-enable-sasl-auth
(using erc-sasl) - D-BUS notifications via the variable
erc-enable-notifications
- Completion of Emojis using company-emoji (still needs a way of showing, either
using the
emoji
layer or having a proper font) :clap:
2. Install
2.1. Layer
To use this configuration layer, add it to your ~/.spacemacs
. You will need to
add erc
to the existing dotspacemacs-configuration-layers
list in this
file.
2.2. macOS
It's recommended to install the terminal-notifier gem so that you get notifications via the macOS Notification Center.
2.4. Disable notifications
By default D-BUS notifications are enabled, to disable them set the layer
variable erc-enable-notifications
to nil.
(setq-default dotspacemacs-configuration-layers '((erc :variables erc-enable-notifications nil)))
2.5. Enable SASL authentication
To enable SASL authentication set the layer variable erc-enable-sasl-auth
to
non nil.
(setq-default dotspacemacs-configuration-layers '((erc :variables erc-enable-sasl-auth t)))
2.6. Default servers
You can define the default servers in the ERC custom layout by setting the
variable erc-server-list
. Setting :ssl
non nil will connect with erc-tls
.
You can also use <leader>aiD
to connect to your default servers outside the
custom layout.
(setq-default dotspacemacs-configuration-layers '((erc :variables erc-server-list '(("irc.freenode.net" :port "6697" :ssl t :nick "some-user" :password "secret") ("irc.myworkirc.net" :port "1234" :nick "some-suit" :password "hunter2")))))
2.6.1. Security Note
You should not store your passwords in the clear in your .spacemacs
, and that
goes double if you version your config file. ERC allows for a number of ways of
protecting this information.
First, ERC will check your ~/.authinfo.gpg
, looking for lines like
machine <irc.server.url> login <yournick> password <yourpassword> port <portnumber>
You can omit :password
in this case.
You could also set an environment variable (or otherwise secret variable) and
read that in :password
.
3. Key bindings
Key binding | Description |
---|---|
SPC a c i e |
Starts ERC |
SPC a c i E |
Starts ERC via TLS/SSL |
SPC a c i i |
Switch to next active ERC buffer |
SPC a c i D |
Start ERC with default servers |
SPC m c |
Open the log file of the current channel |
SPC m b |
Switch between ERC buffers |
SPC m d |
Interactively input a user action and send it to IRC. |
SPC m D |
Draw Social Graph using erc-social-graph |
SPC m j |
Join a channel, executes the /join command |
SPC m n |
Run "/names #channel" in the current channel. |
SPC m l |
Run the /list command |
SPC m p |
Part from the channel |
SPC m q |
Quit server |
Note: If you want to connect securely to an IRC server, you must run erc-tls
command on SPC a i E
instead of the erc
command.
4. Spacemacs Layout Support
ERC buffers are added automatically to the default layout for ERC controlled by
the variable erc-spacemacs-layout-name
(defaults to "@ERC") and the default
binding ("E") is controlled by erc-spacemacs-layout-binding