Introduction to WeeChat
WeeChat is an open-source IRC (Internet Relay Chat) client, designed to be extremely lightweight, fast, and highly customizable. Although it originally focused on IRC, over time it has added support for other protocols such as Matrix, Discord, and Slack via scripts and plugins, becoming a versatile tool for any Linux user who wants to stay connected to multiple networks from a single interface.
Installation on popular distributions
WeeChat is available in the repositories of almost all Linux distributions. Below are the most common commands:
- Ubuntu / Debian:
sudo apt update && sudo apt install weechat - Fedora:
sudo dnf install weechat - Arch Linux:
sudo pacman -S weechat - openSUSE:
sudo zypper install weechat
For users who prefer the latest version, it is also possible to compile from source or use the Flatpak/Snap package.
Initial configuration
When running weechat for the first time, a configuration directory is created at ~/.weechat. The client starts with a basic set of buffers and a minimal status bar. From there, we can begin to customize:
- Change the theme: WeeChat includes several color themes. To apply one, use
/set weechat.bar.status.color_bg 234or simply/theme dark. - Enable the script plugin: With
/plugin load python(or perl, lua, etc.) we enable the scripting language we want to use. - Configure nickname and server:
/server add freenode chat.freenode.net/6667 -autoconnectand then/set irc.server.freenode.nicks my_nick.
Daily use: navigation and essential commands
WeeChat organizes conversations into buffers. Each server, channel, or private query has its own buffer. Some useful shortcuts:
Alt+{number}orCtrl+Xfollowed by the number to quickly switch buffers./buffer listshows all open buffers./window splitand/window mergeallow splitting the screen into multiple views./ignore addto silence users or annoying text patterns./alias addto create custom commands.
Extensibility with scripts and plugins
One of WeeChat’s greatest strengths is its scripting system. It supports several languages:
- Python (most popular)
- Perl
- Lua
- Ruby
- Tcl
- Guile (Scheme)
Examples of useful scripts:
- buffers.pl: shows a list of buffers in the sidebar.
- go.py: allows switching to any buffer with autocomplete.
- urlgrabber.py: extracts and opens URLs directly from chat.
- iset.pl: interactive interface to modify configuration options.
- myscript.py: any automation you can imagine, from desktop notifications to moderation bots.
Installing a script is as simple as placing the file in ~/.weechat/python/autoload (or the corresponding directory for the language) and reloading with /python reload.
Integration with the desktop environment
WeeChat can send notifications to the system via the notify plugin or using external tools such as libnotify.