WeeChat DevCenter

Thursday, February 3 2011

Dynamic color pairs

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

Version 0.3.4

Version 0.3.4 is available!

As usual, many new features and bug fixes, see ChangeLog for detail.

Important: please read the release notes if you are upgrading to this version (from any other version).

New major features in this release:

  • 256 colors support, with unlimited number of nick colors (see this post)
  • irc proxy (relay plugin)
  • redirection of IRC commands (see this post)
  • new irc command /notify
  • rmodifier plugin (see this post)
  • regular expressions for highlights
  • color support for timestamp in chat buffer (see this post)
  • irc option to force color for some nicks
  • share input line between buffers

New options:

  • weechat.color.chat_nick_colors
  • weechat.look.highlight_regex
  • weechat.look.hotlist_unique_numbers
  • weechat.look.input_share
  • weechat.look.input_share_overwrite
  • weechat.look.prefix_align_min
  • irc.look.notify_tags_ison
  • irc.look.notify_tags_whois
  • irc.network.notify_check_ison
  • irc.network.notify_check_whois
  • option "notify" in irc servers
  • irc.look.nick_color_force
  • irc.look.item_away_message
  • irc.color.nick_prefix
  • irc.color.nick_suffix

Sunday, January 9 2011

256 colors

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):

256 colors

Tuesday, December 7 2010

Colored time for messages

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: "${xxx}" where "xxx" is a color name (lightblue, red, ...) or a number (for example: "214" for orange).

Note: updated in 0.4.2, the syntax is now: "${color:xxx}".

Screenshot of colored time, with french flag colors:

French time

Thursday, December 2 2010

Max hotlist level for some nicks

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):

  • -1: no hotlist changes for nick
  • 0: low priority (like join/part messages)
  • 1: message
  • 2: private
  • 3: highlight (in fact useless, since it's default max for all messages)

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, October 11 2010

Disable highlights from some nicks

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.

Saturday, August 7 2010

Version 0.3.3

Version 0.3.3 is available!

As usual, many new features and bug fixes, see ChangeLog for detail.

Important: please read the release notes if you are upgrading to this version (from any other version).

New major features in this release:

  • keys to undo/redo changes on command line
  • better lag indicator
  • new irc command /wallchops
  • display message in irc private buffer when nick is back on server after a /quit
  • reverse regex in a filter (with leading "!")
  • new option to confirm /quit
  • new option to align end of lines
  • hashtables in plugin API

New options:

  • weechat.look.align_end_of_lines
  • weechat.look.confirm_quit
  • weechat.look.input_undo_max
  • weechat.color.status_name_ssl
  • irc.look.display_host_join
  • irc.look.display_host_join_local
  • irc.look.display_host_quit
  • irc.look.display_pv_back
  • irc.look.nick_color_stop_chars
  • irc.network.autoreconnect_delay_growing
  • irc.network.autoreconnect_delay_max
  • irc.color.item_lag_counting
  • irc.color.item_lag_finished
  • irc.color.reason_quit

New keys:

  • ctrl + "_": undo (command line)
  • alt + "_" (or ctrl + ":" under putty): redo (command line)

Note: to add missing keys, you can use command /key missing

Sunday, April 18 2010

Version 0.3.2

Version 0.3.2 is available!

As usual, many new features and bug fixes, see ChangeLog for detail.

Important: please read the release notes if you are upgrading to this version (from any other version).

Sunday, January 31 2010

Version 0.3.1.1

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

Version 0.3.1

Version 0.3.1 is available!

As usual, many new features and bug fixes, see ChangeLog for detail.

Important: please read the release notes if you are upgrading to this version (from any other version).

Sunday, September 6 2009

Version 0.3.0

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

Merge of buffers

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.

Friday, April 24 2009

Easy switch between two buffers

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

Completion improved for command arguments

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!

Wednesday, December 17 2008

New bar filling options

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:

weechat_bar_filling_columns.png

Sunday, November 23 2008

Support for many proxies

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"

Sunday, October 26 2008

Git branch protocols merged to master

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

Thursday, October 2 2008

Save and restore layout

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.

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.

Wednesday, August 20 2008

Upgrade command is back!

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:

  • IRC plugin: not working if WeeChat is currently reconnecting to server
  • IRC plugin: all messages queued (anti-fllood when sending to server) are lost during upgrade
  • upgrade does not work for xfer plugin

Saturday, March 22 2008

Filters and tags

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 IRC join/part/quit messages (if you find them boring!): /filter add joinquit * irc_join,irc_part,irc_quit *
  • filter lines containing word "spam": /filter add spamfilter * * spam
  • filter lines containing "weechat sucks" on channel #weechat: /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

Bars

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.

weechat_bars_buffers_uptime.png

page 2 of 2 -