I just made the 4000th commit for WeeChat, which is also the 600th commit for the past 12 months!
Commits by range: month: 56 year: 600 total: 4000
New page with statistics about Git repositories (core and scripts): http://weechat.org/stats
Sunday, March 25 2012
By FlashCode on Sunday, March 25 2012, 18:24 - core
I just made the 4000th commit for WeeChat, which is also the 600th commit for the past 12 months!
Commits by range: month: 56 year: 600 total: 4000
New page with statistics about Git repositories (core and scripts): http://weechat.org/stats
Friday, March 16 2012
By FlashCode on Friday, March 16 2012, 18:33 - scripts
A new script samegame.py is now available! More info about this game is available at http://en.wikipedia.org/wiki/SameGame.
If you are using weeget, just do: /weeget install samegame.py
Mouse is required, so you must have WeeChat >= 0.3.6.
For help: /help samegame.
Screenshot (click for full size):
Enjoy!
Saturday, March 10 2012
By FlashCode on Saturday, March 10 2012, 09:54 - core
The support for terminal bracketed paste mode has been added. In this mode, pasted text is bracketed with control sequences so that WeeChat can differentiate pasted text from typed-in text (ESC[200~, followed by the pasted text, followed by ESC[201~).
New options:
Changes on option weechat.look.paste_max_lines: now -1 is used to disable option (and new default value is 1 instead of 3). According to value, you have following behaviour:
When pasting one line with newline in bracketed paste mode, the newline at the end of paste is automatically removed (regardless the value of option weechat.look.paste_max_lines).
According to my tests the "bracketed paste mode" works fine with:
According to my tests it currently does not work with:
Please comment this post if you have info about other terminals (supported or not).
Sunday, February 26 2012
By FlashCode on Sunday, February 26 2012, 08:53 - core
Version 0.3.7 is available!
As usual, many new features and bug fixes, see ChangeLog for detail.
New major features in this release:
New options:
New default alias:
/umode --> /mode $nickNew keys:
/input jump_last_buffer_displayed)Note: to add missing keys, you can use command /key missing
Wednesday, January 18 2012
By FlashCode on Wednesday, January 18 2012, 21:54 - core
URL transfer has been added in API for plugins and scripts (using libcurl).
A new function has been added: "hook_process_hashtable". Behaviour is the same as "hook_process", but with an extra "options" (a hashtable). To download URL content (html page or file), the syntax is (example is python):
weechat.hook_process_hashtable('url:http://weechat.org/download/',
{ 'file_out': '/tmp/url.txt' },
10000, 'my_process_cb', '')
This code will download URL in file "/tmp/url.txt" and call function "my_process_cb" when done, with return code:
It is possible to download URL without any option, then the output is on standard output of process (received as "out" in callback, possibly in many chunks, depending on page size):
weechat.hook_process('url:http://weechat.org/download/', 10000, 'my_process_cb', '')Tuesday, January 3 2012
By FlashCode on Tuesday, January 3 2012, 21:38 - plugins
WeeChat can now compile with Python 3.x (successfully tested with Python 3.1 and 3.2).
This is still experimental and recommended Python for WeeChat remains version 2.7.
Some scripts (including weeget.py) have been updated for Python 3.x, they have tag "py3k-ok" on the scripts page: http://weechat.org/scripts/stable/tag/py3k-ok/
Python versions supported by WeeChat:
Note that "python" plugin in WeeChat can support only one version, so it can be a 2.x or 3.x, not both at same time.
Sunday, December 25 2011
By FlashCode on Sunday, December 25 2011, 13:07 - core
Christmas gift: "QWeeChat", the first remote interface for WeeChat. It is written in Python, using Qt toolkit.
This is an alpha version of this interface, only some features are implemented, but it's usable as-is.
The source code is available on download page, and requires latest development version of WeeChat.
New versions will follow, as well as interfaces for other systems like mobile devices (first should be Android).
A screenshot of QWeeChat in action (click for full size):
Merry Christmas and happy new year 2012 with WeeChat and QWeeChat!
Tuesday, November 1 2011
By FlashCode on Tuesday, November 1 2011, 20:39 - core
/buffer 1/buffer core.weechat (if core buffer is #1)/buffer close 2-99999 (joke! - this will destroy all buffers and keep only buffer(s) with number 1)/buffer move 1 (joke! - current buffer will become #1)There are other ways with scripts, but it's cheating!
* : press key many times until you reach buffer #1.
Monday, October 31 2011
By FlashCode on Monday, October 31 2011, 18:24 - scripts
Don't panic with long URLs and don't give your private URLs any more to shortening services!
A new script urlserver.py has been added. This script shortens URLs displayed and serve them using own HTTP server, which can be used to display a list of all URLs as well.
Many options are available to customize shortening of URLs, display in WeeChat and HTML page (see /help urlserver and /set plugins.var.python.urlserver.*).
The URLs are saved into ~/.weechat/urlserver_list.txt when script is unloaded, so that URLs are persistent when you restart WeeChat.
A screenshot of HTML page with list of URLs (click for full size):
Friday, October 28 2011
By FlashCode on Friday, October 28 2011, 10:55 - scripts
The short name of buffers can be changed with /buffer set short_name <new_name> command. This might be useful for long channel names displayed in the buffers bar (with script buffers.pl).
For example on channel #weechat:
/buffer set short_name #wee
New value is used immediately, but is not saved in config file. To make it persistent, you have to use script buffer_autoset.py:
/autosetbuffer add irc.freenode.#weechat short_name #wee
Note1: it's not recommended to set short name of query buffers, because WeeChat will change name of buffer when nick changes.
Note2: you should use command /buffer set with precautions, it is not recommended to change other buffer properties if you're not sure about what you do. This could lead to weird behaviour or a crash.
Thursday, October 27 2011
By FlashCode on Thursday, October 27 2011, 07:52 - plugins
A new plugin called "guile" has been added to WeeChat. You can now load and execute Scheme scripts in WeeChat!
WeeChat now supports Python, Perl, Ruby, Lua, Tcl and Guile!
To load/unload scheme scripts, command is /guile with same syntax as other script languages:
/guile load /path/to/example.scm/guile reload example/guile unload example
An example of script:
;; example.scm (weechat:register "example" "FlashCode" "0.1" "GPL3" "Scheme script" "" "") (weechat:print "" "Hey, I'm a scheme script for WeeChat!")
Saturday, October 22 2011
By FlashCode on Saturday, October 22 2011, 11:11 - core
Version 0.3.6 is available!
As usual, many new features and bug fixes, see ChangeLog for detail.
New major features in this release:
New options:
New keys:
/mouse toggle)New keys have been added for context "cursor" and "mouse", please see documentation.
Note: to add missing keys, you can use command /key missing
Sunday, October 2 2011
By FlashCode on Sunday, October 2 2011, 11:51 - scripts
A new script minesweeper.py is now available, the famous Minesweeper game!
If you are using weeget, just do: /weeget install minesweeper.py
256 colors mode is highly recommended, and mouse support (with WeeChat >= 0.3.6). If you have 16 colors or less, you can do: /minesweeper 16col
For help: /help minesweeper.
Screenshot (click for full size):
Enjoy!
Friday, September 23 2011
By FlashCode on Friday, September 23 2011, 18:30 - core
New "inactive" colors have been added, to use a different text color for inactive windows or inactive lines (lines from merged buffer which is not selected).
Some options have been added to control display of inactive color, and of course inactive color themselves.
The first two options control wheter inactive colors are used for inactive windows or inactive lines in merged buffers:
/set weechat.look.color_inactive_window (default: off)/set weechat.look.color_inactive_buffer (default: off)Some options are used to specify if time/prefix_buffer/prefix/message will use inactive colors or not:
/set weechat.look.color_inactive_time (default: off)/set weechat.look.color_inactive_prefix_buffer (default: on)/set weechat.look.color_inactive_prefix (default: on)/set weechat.look.color_inactive_message (default: on)And finally, the three new colors used for inactive windows and inactive lines in merged buffers:
/set weechat.color.chat_inactive_window (default: darkgray, suggested: 245)/set weechat.color.chat_inactive_buffer (default: darkgray, suggested: 245)/set weechat.color.chat_prefix_buffer_inactive_buffer (default: darkgray, suggested: 58)Sunday, August 28 2011
By FlashCode on Sunday, August 28 2011, 16:38 - core
Some tips to beautify your WeeChat, using unicode chars and some colors.
A full line for separator between prefix (usually nick) and messages:
/set weechat.look.prefix_suffix "│"
Full line for read marker:
/set weechat.look.read_marker_string "─"
Arrows for join/quit (be careful, impact on log files):
/set weechat.look.prefix_join "▬▬▶"/set weechat.look.prefix_quit "◀▬▬"
String for bar item "buffer_filter" (WeeChat >= 0.3.6):
/set weechat.look.item_buffer_filter "•"
"More" indicators in bars (WeeChat >= 0.3.6):
/set weechat.look.bar_more_down "▼"/set weechat.look.bar_more_left "◀"/set weechat.look.bar_more_right "▶"/set weechat.look.bar_more_up "▲"
Time with gray shading, and no colon separator (WeeChat >= 0.3.5):
/set weechat.look.buffer_time_format "${253}%H${245}%M${240}%S"
Another "blue" for background of title and status bars:
/set weechat.bar.title.color_bg 60/set weechat.bar.status.color_bg 60
Some dark colors for delimiters, host,...:
/set weechat.color.chat_delimiters 29/set weechat.color.chat_host 24/set weechat.color.chat_prefix_suffix 24/set weechat.color.nicklist_away 244/set weechat.color.separator 60/set irc.color.reason_quit 244/set irc.color.topic_new 36/set irc.color.topic_old 244
More nick colors: add for example "31,35,38,40,49,63,70,80,92,99,112,126,130,138,142,148,160,162,167,169,174,176,178,184,186,210,212,215,247" to nick colors:
/set weechat.color.chat_nick_colors "cyan,magenta,green,brown,lightblue,default,lightcyan,lightmagenta,lightgreen,blue,31,...,247"
(warning: replace "..." by full list of colors above)
Saturday, August 20 2011
By FlashCode on Saturday, August 20 2011, 19:15 - scripts
A new script floodit.py is now available! You can now play to Flood'it inside WeeChat, with following features:
If you are using weeget, just do: /weeget install floodit.py
For help: /help floodit.
Note: mouse is supported with latest devel version of WeeChat (0.3.6-dev).
Screenshot (click for full size):
Enjoy!
Saturday, August 6 2011
By FlashCode on Saturday, August 6 2011, 11:14 - core
The layout has improved, here is the list of new features and a bug fixed:
/layout apply/upgrade (not the layout saved, but the layout you had immediately before doing /upgrade)/layout apply was required after starting WeeChatEnjoy!
Tuesday, July 26 2011
By FlashCode on Tuesday, July 26 2011, 17:49 - core
Mouse support has been added to WeeChat, and a "cursor" mode: a mode when you can move cursor everywhere and do actions with keys on focused area.
New commands added:
/mouse/cursor
Before using mouse, add missing keys:
/key missing
Mouse events (clicks on buttons, gestures) are caught as special "keys", in context "mouse". For a list of default events, you can look at documentation (default keys) or output of this command in WeeChat:
/key list mouse
Mouse is not enabled by default. To enable it (at startup and now), do:
/set weechat.look.mouse on/mouse enable
When mouse is enabled, you can use shift+selection or shift+buttons to select/paste text (like when mouse is disabled). Note that on some terminals like iTerm, you may have to use alt instead of shift.
New key alt+m will toggle mouse on/off.
Finally, thanks to Nei for his scripts, the mouse support in WeeChat is partially based on them.
Mouse support will be improved in near future, for example interactions with words/messages in chat area (select text, click on URLs, ..).
Stay tuned!
Wednesday, June 15 2011
By FlashCode on Wednesday, June 15 2011, 20:00 - core
A local variable "highlight_regex" has been added in buffers.
It is recommended to use script buffer_autoset.py to set it, so that it's saved and set at any time when buffer is created.
However, it's still possible to set it manually (for testing) with command: /buffer set highlight_regex XXX.
For example, to highlight all messages on server freenode, channel #test:
/autosetbuffer add irc.freenode.#test highlight_regex .*Monday, May 16 2011
By FlashCode on Monday, May 16 2011, 19:30 - scripts
A new script cmd_help.py is now available. It displays contextual help on command line like:
/serv/server add you'll see arguments for adding an IRC server/set, for example: /set weechat/set, for example: /set weechat.look.command_charsNote: this script requires version 0.3.5 of WeeChat.
Screenshot (click for full size):
Sunday, May 15 2011
By FlashCode on Sunday, May 15 2011, 09:45 - core
Version 0.3.5 is available!
As usual, many new features and bug fixes, see ChangeLog for detail.
New major features in this release:
New options:
New keys:
/window balance)/window swap)Note: to add missing keys, you can use command /key missing
Friday, April 15 2011
By FlashCode on Friday, April 15 2011, 20:00 - plugins
An "option" section has been added to aspell.conf file, to set options for aspell speller.
A commonly used option is "ignore-case" to ignore case in speller. To enable it, just do:
/set aspell.option.ignore-case "true"
For a list of aspell options, do in your shell:
aspell config
Monday, April 11 2011
By FlashCode on Monday, April 11 2011, 19:00 - core
Count of messages (by priority) has been added to hotlist.
New options:
/set weechat.look.hotlist_buffer_separator (default: ", ")/set weechat.look.hotlist_count_max (default: 2)/set weechat.look.hotlist_count_min_msg (default: 2)/set weechat.color.status_count_msg (default: "brown")/set weechat.color.status_count_private (default: "green")/set weechat.color.status_count_highlight (default: "magenta")/set weechat.color.status_count_other (default: "default")Example with default config:
(2 highlights and 5 messages on #test, 1 highlight and 1 private message from FlashCode)
Wednesday, March 9 2011
By FlashCode on Wednesday, March 9 2011, 19:00 - core
It is now possible to use a list of buffers in filters. Exclusion of buffers is allowed using prefix "!".
Example: add IRC smart filter on all freenode channels, but not channels beginning with "#private":
/filter add irc_smart irc.freenode.*,!*#private* irc_smart_filter *
Thursday, February 17 2011
By FlashCode on Thursday, February 17 2011, 20:00 - core
Attributes have been added for color options. List of supported attributes:
*": bold!": reverse_": underlineAttributes are optional and can be added before color name/number/alias.
For self nick as white underlined:
/set weechat.color.chat_nick_self _white
For time in status bar as orange underlined with bold:
/set weechat.color.status_time *_214
Wednesday, February 9 2011
By FlashCode on Wednesday, February 9 2011, 20:00 - core
The list of commands in /help commands has been improved.
By default it's now a short list (only names of commands), and long list is possible with option -listfull. Moreover, it is possible to list commands for one plugin (or core) only.
Example of short list for irc plugin: /help -list irc
[irc] admin deop join mode part samode stats voice allchan devoice kick motd ping sanick summon wallchops allserv die kickban msg pong sapart time wallops ban disconnect kill names query saquit topic who connect halfop links nick quote server trace whois ctcp ignore list notice reconnect service unban whowas cycle info lusers notify rehash servlist userhost dcc invite map op restart squery users dehalfop ison me oper sajoin squit version
Example of long list for core commands: /help -listfull irc
[irc] admin - find information about the administrator of the server allchan - execute a command on all channels of all connected servers allserv - execute a command on all connected servers ban - ban nicks or hosts connect - connect to IRC server(s) ctcp - send a CTCP message (Client-To-Client Protocol) cycle - leave and rejoin a channel dcc - start a DCC (file transfer or direct chat) dehalfop - remove channel half-operator status from nick(s) deop - remove channel operator status from nick(s) devoice - remove voice from nick(s) ...
Moreover, display of command arguments in /help <command> has been improved.
Old version: /help server
[irc] /server [list [servername]] | [listfull [servername]] | [add servername hostname[/port] [-temp] ...
New version: /help server
[irc] /server list|listfull [<server>]
add <server> <hostname>[/<port>] [-temp] [-<option>[=<value>]] [-no<option>]
copy|rename <server> <new_name>
del|keep <server>
deloutq|jump|rawThursday, February 3 2011
By FlashCode on Thursday, February 3 2011, 19:00 - core
WeeChat now creates color pairs dynamically: when a color (foreground + background) is used on screen, a pair is created if it does not yet exist in pairs table.
Therefore, it's not needed any more to use /color add to add colors to use them in options.
It is possible to use any terminal color by number in options.
However, you can still create an alias on number with command /color alias.
Sunday, January 16 2011
By FlashCode on Sunday, January 16 2011, 10:36 - core
Version 0.3.4 is available!
As usual, many new features and bug fixes, see ChangeLog for detail.
New major features in this release:
/notifyNew options:
Sunday, January 9 2011
By FlashCode on Sunday, January 9 2011, 12:37 - core
WeeChat now supports 256 colors!
Using new command /color you can browse WeeChat and terminal colors, and define custom pairs.
See documentation for more information.
Screenshot (click for full size):
Tuesday, December 7 2010
By FlashCode on Tuesday, December 7 2010, 22:58 - core
It is now possible to add color in time displayed for each line in formated buffers.
Option weechat.look.buffer_time_format now supports colors with format: "${color}" where color is a color name (lightblue, red, ..)
Screenshot of colored time, with french flag colors:
Thursday, December 2 2010
By FlashCode on Thursday, December 2 2010, 08:00 - core
It is now possible to set max hotlist level for some nicks, per buffer, or per group of buffers (like IRC servers).
A new buffer property "hotlist_max_level_nicks" has been added. It can be set easily with script buffer_autoset.py, see /help autosetbuffer for example.
Possible levels are (default is -1):
If you have already opened buffer, then script option will not apply immediately to buffers. Then you can use /buffer command to manually set this property on a buffer, for example, to disable highlights from "joe" and "mike" on current buffer:
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
Monday, November 8 2010
By FlashCode on Monday, November 8 2010, 20:00 - plugins
It is now possible to redirect IRC commands to a callback, in plugins/scripts.
First you have to add a hsignal with callback, to receive command output. Then, add redirection by sending a hsignal, and send your command to IRC server. It will automatically use your redirection.
Each redirection uses a pattern, which defines start/stop/extra commands. Default patterns are: ison, list, mode_channel, mode_channel_ban, mode_channel_ban_exception, mode_channel_invite, mode_user, names, ping, time, topic, userhost, who, whois, whowas.
You can create your own pattern with signal "irc_redirect_pattern".
Examples of redirection and pattern creation are available in WeeChat devel doc.
Monday, October 11 2010
By FlashCode on Monday, October 11 2010, 18:30 - core
It is now possible to disable highlights from some nicks, per buffer, or per group of buffers (like IRC servers).
A new buffer property "no_highlight_nicks" has been added. It can be set easily with script buffer_autoset.py, see /help autosetbuffer for example.
If you have already opened buffer, then script option will not apply immediately to buffers. Then you can use /buffer command to manually set this property on a buffer, for example, to disable highlights from "joe" and "mike" on current buffer:
/buffer set no_highlight_nicks_add joe,mike
Update on 2010-12-02: this option has been replaced by "hotlist_max_level_nicks", see Max hotlist level for some nicks.
Wednesday, October 6 2010
By FlashCode on Wednesday, October 6 2010, 08:00 - plugins
A new plugin called "rmodifier" (for "Regex modifier") has been added.
It's designed to change some strings using regex, for example to hide passwords in commands (input displayed on screen) or in history. By default, password in following commands are hidden by this plugin:
/msg nickserv identify ****** (input and history)/msg nickserv ghost ****** (input and history)/oper nick ****** (input and history)/set file.section.password ****** (history only)Of course you can add your own regex, just look at /help rmodifier.
Saturday, August 7 2010
By FlashCode on Saturday, August 7 2010, 10:11 - core
Version 0.3.3 is available!
As usual, many new features and bug fixes, see ChangeLog for detail.
New major features in this release:
/wallchops/quitNew options:
New keys:
Note: to add missing keys, you can use command /key missing
Wednesday, August 4 2010
By FlashCode on Wednesday, August 4 2010, 07:59 - scripts
A new script jabber.py is now available. You can connect to jabber servers and chat with buddies.
Quick start:
/jabber add jabberfr myname@jabber.fr mypassword/jabber connect jabberfr/jchat nickCommands provided by script:
/jabber/jchat/jmsgConfiguration file is jabber.conf.
Currently, MUCs are not supported, and you can't manage your account, like create/update account, add/remove buddies in roster (nicklist).
Enjoy Jabber!
Monday, July 26 2010
By FlashCode on Monday, July 26 2010, 20:00 - scripts
A new script cron.py is now available. It can schedule jobs or message like system commands cron and at.
Two commands are provided by this script:
/cron: schedule job like system command 'cron'/at: schedule job for only one execution, in near future, like system command 'at'.You can get more help with /help cron and /help at.
You can setup some options with /set:
/set plugins.var.python.cron.auto_reload on/off (default: on)/set plugins.var.python.cron.auto_save on/off (default: on)/set plugins.var.python.cron.filename "path" (default: "%h/cron.txt")/set plugins.var.python.cron.quiet_exec on/off (default: off)/set plugins.var.python.cron.quiet_load on/off (default: off)/set plugins.var.python.cron.quiet_save on/off (default: on)Sunday, April 18 2010
By FlashCode on Sunday, April 18 2010, 13:48 - core
Version 0.3.2 is available!
As usual, many new features and bug fixes, see ChangeLog for detail.
Monday, March 22 2010
By FlashCode on Monday, March 22 2010, 22:45 - plugins
It is now possible to have custom completion for aliases, for example to complete with another command completion, or with your own completion.
Examples:
/alias -completion %%sajoin forcejoin /quote forcejoin/alias -completion #weechat|#weechat-fr mybuf /bufferYou 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 - plugins
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:
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 - plugins
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.weechatlogSunday, January 31 2010
By FlashCode on Sunday, January 31 2010, 12:00 - core
Version 0.3.1.1 is available!
This version fixes crashes with SSL connection and purge of old DCC chats. It is recommended to upgrade from 0.3.1 to 0.3.1.1 for all users.
Saturday, January 23 2010
By FlashCode on Saturday, January 23 2010, 14:00 - core
Version 0.3.1 is available!
As usual, many new features and bug fixes, see ChangeLog for detail.
Sunday, January 17 2010
By FlashCode on Sunday, January 17 2010, 17:06 - plugins
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:
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/commandsirc.network.anti_flood_prio_low: delay between two other messagesFriday, January 8 2010
By FlashCode on Friday, January 8 2010, 19:02 - plugins
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 - plugins
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 - plugins
New options have been added to check SSL certificates when connecting to IRC servers, thanks to kolter's patch:
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:
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):
For more information, please look at http://www.oftc.net/oftc/NickServ/CertFP.
Thursday, October 15 2009
By FlashCode on Thursday, October 15 2009, 19:30 - scripts
A new script translate.py is now available. It can translate words with a command or in input (whole input or last word).
Base and target languages can be customized and given as argument of command, or at beginning of input if you're using a key calling command.
Example of keys you can bind to use script:
/key bind meta-tmeta-t /translate/key bind meta-tmeta-r /translate !/key bind meta-tmeta-w /translate +/key bind meta-tmeta-u /translate <Other examples:
/translate ! this is a test/translate en_it I want this string in italianRecommended alias:
/alias tr /translate
You can get more help with /help translate.
Monday, October 5 2009
By FlashCode on Monday, October 5 2009, 19:22 - scripts
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]"
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 - plugins
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).
Sunday, September 6 2009
By FlashCode on Sunday, September 6 2009, 12:00 - core
Version 0.3.0 is released, after 2 years of work and more than 1000 commits!
This is a major upgrade since last stable, please read files UPGRADE_0.3 and ChangeLog for list of changes: configuration files and plugin API are not compatible with previous versions.
For this important release, site has moved to weechat.org, with a new look!
Enjoy WeeChat!
Wednesday, June 10 2009
By FlashCode on Wednesday, June 10 2009, 19:42 - core
It is now possible to merge buffers with command /buffer merge (or unmerge). IRC plugin uses that feature to merge server buffers, with the new option irc.look.server_buffer (merge_with_core, merge_without_core, independent).
When a buffer is merged to one or more other buffers, they will have same number, and chat area will display mixed lines (short name of buffer is displayed on each line, to know to which buffer line belongs). Bars still display content for current selected buffer.
New key ctrl-x has been added to swtich current active buffer when many buffers are merged (old key alt-s has been removed).
For devel users: it's not possible to upgrade from previous versions to this one, and you should do /key missing to add missing key.
Saturday, May 2 2009
By FlashCode on Saturday, May 2 2009, 16:38 - scripts
Major changes were done in script API: data string was added to all callbacks. C plugin API is already ok (there is data pointer for callbacks).
Therefore, all scripts for development version are incompatible with this new version. All official scripts have been updated on plugins page.
This data string must be added after each callback function in arguments of functions. For example in python :
weechat.hook_command("go", "Quick jump to buffers", "", "", "", "go_cmd")
(...)
def go_cmd(buffer, args):
becomes:
weechat.hook_command("go", "Quick jump to buffers", "", "", "", "go_cmd", "")
(...)
def go_cmd(data, buffer, args):Friday, April 24 2009
By FlashCode on Friday, April 24 2009, 19:15 - core
A new feature has been added recently to easily switch to another buffer, then come back to current one.
For example if you are on buffer #2, you press alt-1 twice: you'll come back to buffer #2.
This new feature can be disabled, if you think old behaviour was better (really?):
/set weechat.look.jump_current_to_previous_buffer off
Saturday, April 11 2009
By FlashCode on Saturday, April 11 2009, 14:49 - core
Completion has been improved for command arguments. Now many templates are allowed for one command, and WeeChat will automatically choose and use the better template according to arguments you give on command line.
Let's take an example: the /proxy command. Completion template is this string:
add %(proxies_names) http|socks4|socks5 || del %(proxies_names) || set %(proxies_names) %(proxies_options) || list
The single pipe is still used to add many possible items for one argument. Now a double pipe has been added to separate many templates. WeeChat will choose template according to arguments you give before completion location in command line.
Example 1: if you enter: "/proxy add [+tab]", then WeeChat will use first template ("add %(proxies_names) http|socks4|socks5").
Example 2: if you enter: "/proxy set [+tab]", WeeChat will used third template ("set %(proxies_names) %(proxies_options)").
Now, you'll ask: but how to complete first argument of command? WeeChat can't know which template to use!
Hey, good question! I was sure you would ask that
The answer is very simple: for first argument, WeeChat will make a "or" between first argument of each template (so it will use a fictive template which is: "add|del|set").
It's recommended to use plain words for first argument of each template (when using many templates). If you use many words (separated by single pipe), or items (%(xxx)), then WeeChat will not know which template to use, and may not complete at all.
Another thing you should know, default completion items (defined by WeeChat core) have been renamed. Old name was something like "%x", new name is"%(xxx)". For example %n has been renamed to %(nicks). Some new completions have been added too. Please read doc for new names (and now that includes names of completion items defined by plugins).
If you are using old development version, nick completion will be broken, so you'll have to issue following command: /unset weechat.completion.default_template
Happy completion party!
Tuesday, April 7 2009
By FlashCode on Tuesday, April 7 2009, 18:42 - scripts
A new script weeget.py is now available. It is a scripts manager: you can install, remove, upgrade your scripts using command /weeget.
Following actions are available :
Weeget uses its own configuration file, called wg.conf.
You can setup some options with /set:
/set wg.color.installed color (default: yellow)/set wg.color.language color (default: lightblue)/set wg.color.obsolete color (default: lightmagenta)/set wg.color.running color (default: lightgreen)/set wg.color.script color (default: cyan)/set wg.color.unknown color (default: lightred)/set wg.scripts.cache_expire time (default: 60)/set wg.scripts.dir directory (default: %h/weeget)/set wg.scripts.url url (default: http://weechat.flashtux.org/plugins.xml.gz)Sunday, March 8 2009
By FlashCode on Sunday, March 8 2009, 09:48 - scripts
A new script vdm.py is now available. With that script, you can read fmylife.com and viedemerde.fr websites in WeeChat, using command /vdm.
Help is available with /help vdm when script is loaded.
You can setup some options with /set:
/set plugins.var.python.vdm.auto_switch on/off (default: on)/set plugins.var.python.vdm.blank_line on/off (default: on)/set plugins.var.python.vdm.color_number color (default: cyan)/set plugins.var.python.vdm.colors color1;color2;... (default: default;green;brown)/set plugins.var.python.vdm.lang fr/en (default: en)/set plugins.var.python.vdm.number_as_prefix on/off (default: on)/set plugins.var.python.vdm.reverse on/off (default: off)/set plugins.var.python.vdm.url url (default: http://api.betacie.com/view/%s?key=readonly&language=%s)Friday, March 6 2009
By FlashCode on Friday, March 6 2009, 18:38 - plugins
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.
Sunday, February 8 2009
By FlashCode on Sunday, February 8 2009, 20:19 - scripts
A new script go.py is now available. With that script, you can quickly jump to other buffers, by typing some letters. You can use Tab and shift-Tab keys to select next/previous buffer in list.
Help is available with /help go when script is loaded.
Sunday, January 4 2009
By FlashCode on Sunday, January 4 2009, 12:29 - scripts
Script iset.pl has been improved. Now you can setup colors for option names, types and values. And null values are displayed with different color (for IRC server options). There's new config options, you can set with /set command:
/set plugins.var.perl.iset.color_bg_selected color/set plugins.var.perl.iset.color_option color/set plugins.var.perl.iset.color_option_selected color/set plugins.var.perl.iset.color_type color/set plugins.var.perl.iset.color_type_selected color/set plugins.var.perl.iset.color_value color/set plugins.var.perl.iset.color_value_selected color/set plugins.var.perl.iset.color_value_undef color/set plugins.var.perl.iset.color_value_undef_selected colorWednesday, December 17 2008
By FlashCode on Wednesday, December 17 2008, 23:02 - core
Two new bar filling options have been added: columns_horizontal and columns_vertical. It is used to display bar items in columns, with vertical or horizontal sort.
Screenshot, with 2 nicklists, one on top, one on the right, with columns_vertical filling:
Wednesday, November 26 2008
By FlashCode on Wednesday, November 26 2008, 22:33 - plugins
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
Sunday, November 23 2008
By FlashCode on Sunday, November 23 2008, 23:15 - core
Support for many proxies has been added. It's now possible to create many proxies, and assign different proxy (or no proxy) for each IRC server.
To create, delete, list proxies, use new /proxy command. New IRC option for each server is irc.server.xxx.proxy = name, where name is the name of proxy to use for connection.
For example, to define a http proxy and use it only on freenode server:
/proxy add myproxy http sample.host.org 8888 /set irc.server.freenode.proxy "myproxy"
Thursday, November 13 2008
By FlashCode on Thursday, November 13 2008, 18:53 - scripts
A new script mastermind.pl is now available!
Keys are displayed on buffer displayed by /mastermind, enjoy!
Friday, October 31 2008
By FlashCode on Friday, October 31 2008, 07:32 - plugins
Logger plugin has been improved with many new features:
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
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
Sunday, October 26 2008
By FlashCode on Sunday, October 26 2008, 09:46 - core
Git branch "protocols" has been merged to "master".
If you're using protocols branch, you should switch back to master branch now, using following commands:
git checkout master
git pull
git remote prune origin
Saturday, October 25 2008
By FlashCode on Saturday, October 25 2008, 19:30 - plugins
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
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 - plugins
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:
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 - plugins
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, October 2 2008
By FlashCode on Thursday, October 2 2008, 21:22 - core
New command /layout has been added and a new option weechat.look.save_layout_on_exit.
WeeChat now saves layout (windows layout and order of buffers). With /layout command, you can show saved layout, apply layout, and save layout for windows and/or buffers.
By default, WeeChat automatically saves layout when exiting (by /quit or /upgrade), and restore it when starting.
Windows layout is position of windows (including size), and buffer displayed in windows (plugin and buffer name).
Buffers layout is order of buffers, ie numbers assigned to buffers.
Thursday, September 4 2008
By FlashCode on Thursday, September 4 2008, 20:23 - plugins
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 add toto/ignore add toto@domain.com freenode/ignore add toto*@*.domain.com freenode #weechatTuesday, September 2 2008
By FlashCode on Tuesday, September 2 2008, 20:29 - scripts
Script buffers.pl has been improved. Now you can hide categories, and there's color for lines according to hotlist (activity on buffers). There's new config options, you can set with /set command:
Hide categories:
/set plugins.var.perl.buffers.show_category offChange colors (replace "color" by your color, which may be "fg" or "fg,bg"):
/set plugins.var.perl.buffers.color_number color/set plugins.var.perl.buffers.color_slash color/set plugins.var.perl.buffers.color_hotlist_low color/set plugins.var.perl.buffers.color_hotlist_message color/set plugins.var.perl.buffers.color_hotlist_private color/set plugins.var.perl.buffers.color_hotlist_highlight colorWednesday, August 20 2008
By FlashCode on Wednesday, August 20 2008, 21:32 - core
New version of /upgrade command is now available. Today it's working for core and IRC plugin. Almost all code has been rewritten, so maybe there's new bugs 
Known bugs/limits today:
Tuesday, May 6 2008
By FlashCode on Tuesday, May 6 2008, 21:14 - plugins
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.
Saturday, April 19 2008
By FlashCode on Saturday, April 19 2008, 20:55 - scripts
A new script iset.pl is now available. With that script, you can change WeeChat options with better interface than /set.
Help is available with /help iset when script is loaded.
Saturday, March 29 2008
By FlashCode on Saturday, March 29 2008, 20:57 - scripts
A new script weetris.pl is now available! You can now play to your favorite game inside WeeChat 
Short instructions:
Incoming features:
Saturday, March 22 2008
By FlashCode on Saturday, March 22 2008, 08:43 - core
Filters have been added. This feature replaces old /ignore command for IRC, but is more powerful and is not specific to IRC, it applies on buffer content.
With new /filter command, you can ask WeeChat to filter lines displayed, by tags and/or regular expression on content of line. Unlike old /ignore command, the /filter command only hides lines, they are not removed, and you can see them when you want.
To understand filters, you should know what are tags. Each line displayed in a (formated) buffer may have optional tags, which are one or more words for this line. Number of tags is not limited, but should be reasonable (4 or 5 max). Tags are not visible (not displayed in buffer), they are used to filter content of buffers.
IRC plugin uses tags for all messages displayed if they're issued from an IRC server. Tags are: "irc_xxx" where "xxx" is the command received. For example if someone joins IRC channel, line with "--> nick has joined #channel" will have tag "irc_join". For IRC numeric command, tag is "irc_cmd_xxx" where "xxx" is number (3 digits), and second tag is "irc_numeric".
Some examples of filters:
/filter add joinquit * irc_join,irc_part,irc_quit */filter add spamfilter * * spam/filter add sucks irc.freenode.#weechat * weechat sucks
You can enable/disable filters by /filter command (look at /help filter) or with shortcut key meta + "=".
In a later version, you'll be able to see indicator in status bar, to know if filters are enabled or not, and if something is filtered on current buffer (lines hidden). This will be possible with new bars.
Saturday, March 15 2008
By FlashCode on Saturday, March 15 2008, 17:09 - core
Bars have been added to WeeChat. They are used to display informations around chat area. In near future, some existing items will become real bars (like title, nicklist, status, input).
Plugin and script API is now ready for using these bars. Following screenshot is a demo of scripts buffers.pl and uptime.pl:
Update on 2008-10-12: new bars are now used: title, nicklist, status, input.