When comparing WeeChat vs irc.c, the Slant community recommends WeeChat for most people. In the question“What are the best IRC clients for Linux?” WeeChat is ranked 2nd while irc.c is ranked 15th. The most important reason people chose WeeChat is:
Many dotfiles are publicly available.
Ranked in these QuestionsQuestion Ranking
Pro Highly customizable and configurable
Many dotfiles are publicly available.
WeeChat has a command line interface.
Pro Flexible window splitting
Weechat allows very flexible window splitting behavior to show multiple IRC channels at once. Windows can be split vertically and horizontally.
Pro Fully keyboard driven
Weechat can be fully driven by keyboard shortcuts. Navigating between buffers, switching between windows and changing text styling can all be achieved with keyboard shortcuts.
Pro Extensible via plugins and scripts
Pro Persistent connection
Works perfectly with a poor connection.
Pro Smart filtering
Smart filtering lets set a series of rules for IRC channels. For example, it allows instructing the client to show /quit and /join messages only if the user was speaking in the last 20 minutes.
Pro Free and open source
WeeChat is a free program licensed under GPL with source code available on GitHub.
Pro Can act as a relay for mobile client
It's possible to leave WeeChat running at home/on a server, then connect to it with a smartphone client. This way a choppy mobile internet connection won't disconnect from IRC, and still allow using a touch screen optimized UI.
Pro Active and helpful community support
Weechat community can be found on #weechat @ Freenode. The community, including devs, is helpful in answering any WeeChat related questions.
Pro Built-in script manager
WeeChat has a built-in tool for searching, downloading, installing and updating scripts and plugins.
Pro Intuitive, detail-oriented interface
By default WeeChat has a chat area surrounded by a nicklist on the right, title bar on top, and status and input bars at the bottom. The layout, though, can be completely customized and split vertically or horizontally. It supports 256 colors as long as the terminal supports 256 colors as well as bolded, italicized and underlined text. Even includes little touches as differently colored nicknames for people /away.
Pro Huge library of scripts
WeeChat scripts repository has hundreds of scripts including url shorteners, music player integrations and bandwidth monitors.
Pro Mouse support
Mouse click and gestures are supported on a local terminal as well as remote terminal accessed via ssh regardless of screen/tmux. To enable mouse support use
/mouse enable command or press
Pro Builtin SSL support
Easy to configure weechat connect to server using certificates
Pro Easy to customize
You are able to modify configurations inside application or via modifying files(i.e. colors).
Pro Actively developed
Pro Offers a choice of remote interfaces
Pro Accessible to less expert users out of the box
WeeChat has an easy to use interface and sane defaults, making it a great client for beginner users.
Pro Incremental text search
Text is searched through in real time as search terms are being written.
Pro Single server
Each instance of the client can only connect to one server and then you can join multiple channels with the join command.
Example: "irc -s irc.freenode.net", then "j #lua" and "j #chicken"
The source code (a single C file) is under public domain.
Pro Infinite scrollback
You can move up and down the history with the "Page Up" and "Page Down" keys.
Pro Automatic reconnection
It automatically connects you back if you happen to get disconnected.
Con No official GUI option
While there are some unofficial remote graphical interfaces available for WeeChat, it is intended to be used as a terminal client. As such it might be challenging to use to those accustomed to graphical interfaces.
Con Scripting API allows poorly written scripts to be used as attack vectors
Plugin documentation includes the following warning:
In many functions, for speed reasons, WeeChat does not check if your pointer is correct or not. It’s your job to check you’re giving a valid pointer, otherwise you may see a nice crash report ;)
Its website and README do not give enough information about shortcuts and commands. You have to look those things up in the source file.