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-logsandViewLogModefor 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
emojilayer 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