Monday, March 22 2010
By FlashCode on Monday, March 22 2010, 22:45
It is now possible to have custom completion for aliases, for example to complete with another command completion, or with your own completion.
Examples:
- create alias /forcejoin with completion of /sajoin:
/alias -completion %%sajoin forcejoin /quote forcejoin
- create alias /mybuf with custom completion:
/alias -completion #weechat|#weechat-fr mybuf /buffer
You can change completion if alias is already created:
/set alias.completion.forcejoin "%%sajoin"
You can use empty string to prevent any completion for command (default is to complete using target command):
/set alias.completion.forcejoin ""
And you can remove a completion:
/unset alias.completion.forcejoin
Completion is automatically removed when you remove an alias with /unalias.
Friday, February 19 2010
By FlashCode on Friday, February 19 2010, 17:54
It is now possible to use SASL authentication with IRC server, using two mechanisms: "plain" (default) or "dh-blowfish" (crypted password).
New options have been added to servers:
- sasl_mechanism: mechanism to use ("plain" or "dh-blowfish")
- sasl_timeout: timeout (in seconds) for authentication
- sasl_username: username
- sasl_password: password
You just have to setup username (your nick) and password (password of nick) and then connect to server, you'll be identified with SASL if all is ok.
If you want to set "dh-blowfish" by default for all servers:
/set irc.server_default.sasl_mechanism dh-blowfish
Monday, February 1 2010
By FlashCode on Monday, February 1 2010, 20:00
It is now possible to use date formaters in log filenames (in mask options).
For example to have log by year and month in separate directories, you can do :
/set logger.file.mask "%Y/%m/$plugin.$name.weechatlog"
You'll have a tree like that:
~/.weechat/
|- logs/
|- 2009/
|- 12/
| irc.server.freenode.weechatlog
| irc.freenode.#weechat.weechatlog
|- 2010/
|- 01/
| irc.server.freenode.weechatlog
| irc.freenode.#weechat.weechatlog
Sunday, January 17 2010
By FlashCode on Sunday, January 17 2010, 17:06
A new IRC output queue has been added in irc plugin, with high priority. There are now two queues for messages sent to IRC server:
- queue for user messages or commands, with high priority
- queue for other messages, with low priority.
Low priority queue is used to send automatic messages, like replies to CTCP messages. So if you are spamed with CTCP messages, WeeChat will first send your messages (queue with high priority), and then CTCP replies (queue with low priority).
Accordingly, anti-flood option has been split into two options:
irc.network.anti_flood_prio_high: delay between two user messages/commands
irc.network.anti_flood_prio_low: delay between two other messages
Friday, January 8 2010
By FlashCode on Friday, January 8 2010, 19:02
New commands have been added to IRC plugin: /allchan and /allserv.
These commands can execute a command on all buffer of all channels or all servers, with optional exclusion of some channels/servers.
Old commands /amsg and /ame are now replaced by aliases. If you're upgrading from recent version (>= 0.3.0), you have to manually create alias, see page with release notes.
Friday, January 1 2010
By FlashCode on Friday, January 1 2010, 14:31
New options have been added to choose target buffer for IRC messages.
More info and examples in documentation: http://weechat.org/files/doc/devel/weechat_user.en.html#irc_target_buffer
Monday, December 7 2009
By FlashCode on Monday, December 7 2009, 07:32
New options have been added to check SSL certificates when connecting to IRC servers, thanks to kolter's patch:
- weechat.network.gnutls_ca_file: path to file with certificate authorities (by default: "%h/ssl/CAs.pem")
- irc.server.xxx.ssl_cert: ssl certificate file used to automatically identify your nick (CertFP on oftc for example, see below)
- irc.server.xxx.ssl_dhkey_size: replaces old option weechat.network.gnutls_dh_prime_bitsmax_lines, new default value is 2048 (safer than old default value which was 512)
- irc.server.xxx.ssl_verify: check that the ssl connection is fully trusted (on by default)
Please note that ssl_verify is on by default, so verification is now stricter, and may fail even if it was ok with previous versions of WeeChat.
First example: connect to oftc and check certificate:
- import certificate:
- mkdir ~/.weechat/ssl
- wget -O ~/.weechat/ssl/CAs.pem http://www.spi-inc.org/secretary/spi-cacert.crt
- in weechat:
Note: it is possible to concatenate many CAs in file CAs.pem.
Second example: connect to oftc using CertFP (certificate to auto identify your nick):
- create certificate:
- openssl req -nodes -newkey rsa:2048 -keyout nick.key -x509 -days 365 -out nick.cer
- cat nick.cer nick.key > ~/.weechat/ssl/nick.pem
- in weechat:
- /set irc.server.oftc.ssl_cert "%h/ssl/nick.pem"
- /connect oftc
- /msg nickserv cert add
For more information, please look at http://www.oftc.net/oftc/NickServ/CertFP.
Monday, October 5 2009
By FlashCode on Monday, October 5 2009, 19:22
A new script hlpvitem.py is now available. It displays item in a bar (like status) with highlight or private message, from an hidden buffer. So you will see content of message before switching to that buffer.
You must add item in a bar, like status, with this command:
/set weechat.bar.status.items
then press "Tab" and complete string by adding for example (without quotes): ",[hlpv]"
Screenshot:

You can setup some options with /set:
/set plugins.var.python.hlpvitem.show_all_buffers on/off (default: off)
/set plugins.var.python.hlpvitem.buffer_number on/off (default: on)
/set plugins.var.python.hlpvitem.buffer_short_name on/off (default: on)
/set plugins.var.python.hlpvitem.highlight on/off (default: on)
/set plugins.var.python.hlpvitem.private on/off (default: on)
/set plugins.var.python.hlpvitem.string_highlight "string" (default: empty)
/set plugins.var.python.hlpvitem.string_private "string" (default: empty)
/set plugins.var.python.hlpvitem.string_delimiter "string" (default: " > ")
/set plugins.var.python.hlpvitem.color_string_highlight color (default: empty)
/set plugins.var.python.hlpvitem.color_string_private color (default: empty)
/set plugins.var.python.hlpvitem.color_buffer_number color (default: empty)
/set plugins.var.python.hlpvitem.color_buffer_name color (default: "default")
/set plugins.var.python.hlpvitem.color_prefix color (default: "white")
/set plugins.var.python.hlpvitem.color_delimiter color (default: "cyan")
/set plugins.var.python.hlpvitem.color_message color (default: "default")
/set plugins.var.python.hlpvitem.visible_seconds N (default: 7)
Tuesday, September 15 2009
By FlashCode on Tuesday, September 15 2009, 20:00
It is now possible to customize CTCP replies, or block some CTCP queries (do not reply).
For example, to customize reply to CTCP "VERSION", use following command:
/set irc.ctcp.version "I'm running WeeChat $version, it rocks!"
If you want to block CTCP "VERSION" (do not reply to a query), then set empty string:
/set irc.ctcp.version ""
Even unknown CTCP can be customized, for example you can reply to CTCP "BLABLA":
/set irc.ctcp.blabla "This is my answer to CTCP BLABLA"
It is possible to customize CTCP for one server only, using its internal name before CTCP name:
/set irc.ctcp.freenode.version "WeeChat $version (for freenode)"
If you want to restore standard CTCP reply, then remove option:
/unset irc.ctcp.version
Some codes are automatically expanded by WeeChat when replying to CTCP, please read documentation for more information (User's guide, chapter: Plugins / IRC plugin / CTCP replies).
Friday, March 6 2009
By FlashCode on Friday, March 6 2009, 18:38
New hook type "process" has been added to WeeChat. You can use it in C plugins, and all scripts languages (perl, python, ruby, lua and tcl).
It runs a command with fork, and send you result (return code, stdout and stderr) via a callback, when command has ended, or if WeeChat output buffer is full (then it will be partial result of command). There is optional timeout (in milliseconds), to kill process if it's still running after given time.
The script shell.py has been updated to use that new hook.
Wednesday, November 26 2008
By FlashCode on Wednesday, November 26 2008, 22:33
A new plugin has been added: DC. It is used to transfer files using DC file-sharing protocol.
It's available as a separate plugin, and must be compiled and installed with WeeChat development version.
Documentation and screenshots are available on this wiki page: http://wiki.flashtux.org/wiki/WeeChat/dc
Friday, October 31 2008
By FlashCode on Friday, October 31 2008, 07:32
Logger plugin has been improved with many new features:
- command /logger (to see log status for open buffers, and set/disable log level on a buffer)
- custom level by buffer (or group of buffers)
- custom log filename mask by buffer (or group of buffers).
Set one directory by IRC server and a file by channel inside:
Do that: /set logger.mask.irc irc/$server/$channel.weechatlog
You'll have a tree like that:
~/.weechat/
|- logs/
|- irc/
|--- freenode/
| freenode.weechatlog
| #weechat.weechatlog
| #mychan.weechatlog
|--- oftc/
| oftc.weechatlog
| #chan1.weechatlog
| #chan2.weechatlog
Log all messages on IRC buffers but not join/part/quit messages:
For all IRC buffers: /set logger.level.irc 3
For a server and its channels: /set logger.level.irc.freenode 3
For a specific channel: /set logger.level.irc.freenode.#weechat 3
Saturday, October 25 2008
By FlashCode on Saturday, October 25 2008, 19:30
A new smart filter for IRC join/part/quit message has been added. It is disabled by default (so you'll see all join/part/quit by default).
To enable it, use following commands:
/set irc.look.smart_filter on
/filter add irc_smart * irc_smart_filter *
You can setup delay: /set irc.look.smart_filter_delay 5
How does it work?
When a nick spoke on channel during past X minutes (where X is delay irc.look.smart_filter_delay), its join/part/quit will be displayed by default. Otherwise, if nick did not speak for a long time, all join/part/quit messages will be tagged with "irc_smart_filter". So you have to define a filter on this tag to hide join/part/quit from users that are not speaking on channel (see command above).
Saturday, October 18 2008
By FlashCode on Saturday, October 18 2008, 18:08
New aspell plugin is available!
Plugin as now its own configuration file, called aspell.conf. Options can be set with /set command. List of options with default value:
- aspell.look.color = lightred
- aspell.check.commands = "ame,amsg,away,command,cycle,kick,kickban,me,msg,notice,part,query,quit,topic"
- aspell.check.default_dict = ""
- aspell.check.word_min_length = 2
You can enable aspell for all buffers with default dictionary (or list of dictionaries), with command: /set aspell.check.default_dict "en,fr"
To enable a specific language on a buffer, use: /aspell enable fr
If you speak both english and german (often english, less german), use: /aspell enable en,de
Monday, October 6 2008
By FlashCode on Monday, October 6 2008, 20:01
A new plugin Tcl has been added (thanks to Dmitry Kobylin). Some minor changes will be done about compiling (with autotools and cmake), but plugin should be ok today as-is.
Script samples using new API, including Tcl language, will be published soon.
Thursday, September 4 2008
By FlashCode on Thursday, September 4 2008, 20:23
The new /ignore command is now available. You can ignore nicks (or hostnames), using regex.
Note: this command will be improved in near future with more options.
Some exemples (you can find them with /help ignore):
- ignore nick "toto" everywhere:
/ignore add toto
- ignore host "toto@domain.com" on freenode server:
/ignore add toto@domain.com freenode
- ignore host "toto*@*.domain.com" on freenode/#weechat:
/ignore add toto*@*.domain.com freenode #weechat
Tuesday, May 6 2008
By FlashCode on Tuesday, May 6 2008, 21:14
A new "xfer" plugin has been added. It replaces old IRC DCC code.
This plugin is called by IRC plugin to initiate direct chat and file transfer (still by /dcc command). In future, it may be used by other plugins. Moreover, new protocols can be easily added to xfer plugin, if other plugins need that.