

GitHub - the-kenny/weechat.el: Chat via weechat's relay protocol in Emac...
source link: https://github.com/the-kenny/weechat.el
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

weechat.el - Chat via Weechat in Emacs
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.
Manual Installation
- 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.el
or similar)
Usage
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
Color settings
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.
Modules
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:
Button
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.
Complete
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
.
Spelling
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
.
Notifications
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
.
notifications.el
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.
Sauron
The weechat-sauron
module uses Sauron for notifications.
Tracking
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).
Smiley
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.
LaTeX
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.
Speedbar
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.
Image
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.
Contact
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!
Contributors
Please add yourself to this list when you contribute code!
Recommend
-
95
GitHub is where people build software. More than 28 million people use GitHub to discover, fork, and contribute to over 80 million projects.
-
52
README.adoc WeeChat
-
34
-
66
-
9
WeeChat操作各种聊天软件 WeeChat 把Facebook Messenger、Google Hangouts、IRC、QQ、Telegram、Twitter、微信等整合起来,用同一个客户端WeeChat控制。配置文件:
-
15
Kenny RogersKenny Rogers - The Gambler - YouTube
-
7
How to Set Up WeeChat on NixOS Internet Relay Chat (IRC) is the king of chats. It is the grandfather of nearly every chat protocol and program you use today. It has been...
-
12
Ayr United celebrates 10-year anniversary with Paul Dogba, Kenny Dog-Leash Business 9 hours ago...
-
4
SPLUNK LIFE Splunker Stories: Kenny Coleman
-
9
Configure WeeChat WebSocket relay with TLS 2021-12-01 This is a short guide how to setup WeeChat WebSocket relay protocol with TLS encryption. The relay protocol is great since it al...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK