Please note: This README is work in progress. A more detailed documentation will follow.
weechat.el requires Emacs 24 and s.el. For Emacs versions below 24.3 you also need cl-lib. WeeChat version 0.4.0 or newer is recommended!
You can install weechat.el via package.el (melpa-stable (stable releases) or melpa (development snapshot)):
M-x package-install RET weechat RET
See NEWS.org for major changes in releases.
- Install dependencies via package.el:
M-x package-install RET s RET - If your Emacs is older than 24.3:
M-x package-install RET cl-lib RET - Download this directory to your system and add it to the
load-path:(add-to-list 'load-path (expand-file-name "path/to/weechat.el/")) - Load weechat.el
(require 'weechat)(You can add this to your
~/.emacs.d/init.elor similar)
First, setup the relay server in weechat. Please refer to the manual.
To load and establish a connection:
(require 'weechat) M-x weechat-connect RET
To show a channel in Emacs, do:
M-x weechat-monitor-buffer RET
Most colors in weechat.el come directly from WeeChat and are only
translated into Emacs faces. There are a few notable exceptions
such as weechat-highlight-face or weechat-nick-self-face.
If you are unsatisfied with the colors that WeeChat send then
either change the corresponding color in WeeChat or customize
weechat-color-list. Do not add or remove any values in the
list! Simply change the value. Using rainbow-mode (from GNU
ELPA) or list-colors-display can help finding good values.
The default configuration tries to match the WeeChat colors as close as possible. Example for colors that go better with the Emacs’ default theme are:
(setq weechat-color-list '(unspecified "black" "dim gray" "dark red" "red"
"dark green" "green" "brown"
"orange" "dark blue" "blue"
"dark magenta" "magenta" "dark cyan"
"royal blue" "dark gray" "gray"))If you do not want any color then set weechat-debug-strip-formatting to
t.
See documentation in SSL.org.
Weechat.el comes with module support. Modules can be loaded by simply
calling load-library and removed by using unload-feature. The variable
weechat-modules can be customized to set default loaded modules.
Available modules are:
This module provides support for buttons in chat windows. E.g., it turns
URLs into clickable buttons. The module is default loaded. See weechat-modules.
It supports several types of buttons such as URLs, Channels, Emacs’ symbols,
E-Mails, Manpages, Info links, and Nick names. However not all buttons are
activated as default. See customization group weechat-button to enable
and disable specific buttons.
You can use weechat-button-list to simply add your own button types.
This module provides support for nickname and command completion. It uses
Emacs’ pcomplete framework and is default loaded.
If you want case-insensitive completion, set completion-ignore-case to
t.
This module provides spelling support by using Emacs’ flyspell. You can
customize the dictionary on a per channel/server basis by customizing
weechat-spelling-dictionaries.
Weechat.el supports notifications for important messages, such as
highlights or queries. The support is either based on notifications.el
which is shipped with Emacs since version 24 and uses the Freedesktop
notification spec. Another solution is based on Sauron.
To activate notifications you have to load the matching module. Either
weechat-notifications for notifications.el or weechat-sauron for
Sauron support.
To change the message types you want to receive notifications for customize
weechat-notification-types.
Loading the weechat-notifications module uses notifications.el
to display notifications. This uses the Freedesktop notification spec and
should work fine on most Linux systems.
You can customize weechat-notifications-sound to play a sound on
notification. Setting weechat-notifications-icon allows to change the
notification icon.
The weechat-sauron module uses Sauron for notifications.
The weechat-tracking module provides tracking information in the mode
line, similar to erc-track. It uses the Tracking library (available on
marmalade or el-get).
This module uses Gnus’ smiley-region support to convert text smileys,
such as :-), into a graphical representation. See the documentation of
smiley.el on how to customize it.
The weechat-latex module provides a simple preview function for embedded
LaTeX. It is based Org’s LaTeX preview functionality and many of Org’s
LaTex customizations apply to it as well. Use weechat-latex-preview to
generate previews and weechat-latex-remove to remove them.
There is also weechat-latex-auto-mode to automatically turn LaTeX
fragments in every new message into a preview.
By using weechat-latex-preview-region or weechat-latex-preview-line
the LaTeX previews can be limited to certain parts of the buffer.
The weechat-speedbar module provides Emacs’ Speedbar integration. After
loading the module and opening the Speedbar there should be a Display mode
called “WeeChat” available.
This modules allows (embedded) previews of image urls. After loading the module a button should appear next to urls to image files. By clicking the button images should be opened inline and by clicking the button again they should be removed.
By changing weechat-image-display-func the images can instead be opened
inside the buffer weechat-image-buffer. The detection of image URLs can
be influenced with weechat-image-url-regex and
weechat-image-url-blacklist-regex.
Be careful when loading images of sources you do not trust. Change
weechat-image-size-limit to prevent the display of large images.
Feel free to contact us via Github, Email, or IRC (#weechat.el on Freenode)
We appreciate every comment, suggestion, or nagging for missing features. Tell us your story!
Please add yourself to this list when you contribute code!
- Moritz Ulrich (Maintainer)
- Rüdiger Sonderfeld
- Aristid Breitkreuz