WeeChat 0.2.7

From FlashTux

Jump to: navigation, search

News in this (future) version

Version 0.2.7 (codename "revolution") will bring major new features:

  • IRC protocol as plugin (new other protocols will follow soon)
  • new plugin API with: hooks, buffer management, bars, config files, lists
  • new plugins: irc, alias, demo, fifo, logger, xfer
  • custom bars with custom items
  • optional backlog for buffers
  • hooks: command, timer, file descriptor, print, signal, config, completion, modifier
  • new fast display engine, with a prefix for each line
  • /reload command to reload WeeChat and plugins configuration files
  • group support in nicklist
  • main loop improved, less CPU usage

GIT commits: http://git.sv.gnu.org/gitweb/?p=weechat.git;a=log;h=protocols, RSS feed: http://weechat.flashtux.org/rss-commits-protocols.php
Planed release date: not known (in a few months). Don't worry, development is very active ;)

Last screenshots

WeeChat with custom bars (buffers/uptime), IRC debug buffer on top:
(sample scripts for bars: buffers.pl / uptime.pl)

weechat_bars_buffers_uptime.png


WeeChat with WeeTris script (weetris.pl), drawing on buffer with free content:

weetris_2008-03-29.png


Interactive set script: (iset.pl)

weechat_iset.png


Get development version

With git

You must clone git repository and switch to "protocols" branch (git >= 1.5.4.2 is recommended):

git-clone git://git.sv.gnu.org/weechat.git
cd weechat
git-checkout -b protocols origin/protocols

If git didn't add these lines in .git/config file, add them at the end (it's ok with git 1.5.5, but some older versions didn't add these lines):

[branch "protocols"]
        remote = origin
        merge = refs/heads/protocols

Later, when you want to get git repository updates:

git-pull

Without git

You can download last git snapshot here: http://git.savannah.gnu.org/gitweb/?p=weechat.git;a=snapshot;h=refs/heads/protocols;sf=tgz

Extract:

tar xvzf weechat-refs-heads-protocols.tar.gz

Compile development version

With autotools

cd weechat
./autogen.sh
./configure --enable-demo --disable-aspell --disable-trigger --prefix=/where/you/want/install
make
make install

With cmake

cd weechat
mkdir build
cd build
cmake .. -DENABLE_DEMO=ON -DDISABLE_ASPELL=ON -DDISABLE_TRIGGER=ON -DPREFIX=/where/you/want/install
make
make install

(plugins "aspell" and "trigger" are not working today, so they have to be disabled)


Missing features

Here's a list of missing features that were temporarily removed (please don't open bug for that, they'll be added ASAP):

  • connect to IRC server thru command-line URL (irc://...)
  • one common buffer for many IRC servers
  • option irc_send_unknown_commands
  • option look_open_near_server
  • /server command partially disabled
  • trigger plugin
  • aspell plugin
  • /upgrade command
  • buffer notify
  • key to jump to next server
  • highlights
  • keyboard hooks
  • away status indicator in status bar
  • lag indicator in status bar


Beta testers: you're welcome!

You want to help us by testing this version? You're welcome! Just follow instructions below.

  • Please submit bugs for this version on WeeChat bugs page (on savannah), using release "dev".
  • Report any suggestion to FlashCode (IRC or mail).
  • Some important features are missing in this version (please read "Missing features" above). If you don't know if it's a bug or temporary removal of feature, then ask to FlashCode.
  • The following table shows what you can test, and provides some info about each component (what is done/is not done):
What? Needed Info
Display yes Ready, please test display and scroll in buffers.
Bars yes Ready.
IRC plugin yes Server settings should be set by editing irc.rc file, then /reload (don't use /set, it's not ok for server settings).
Away status and lag indicators are not displayed.
alias plugin yes Ready.
aspell plugin no This plugin does not compile today. Stay tuned..
charset plugin yes Ready, should work with IRC plugin, that calls charset for decoding/encoding messages.
fifo plugin yes Ready, should work with IRC plugin.
logger plugin yes Ready, new file format for logs: new default timestamp, and use of tabulation between prefix and message.
trigger plugin no This plugin does not compile today. Stay tuned..
perl plugin yes Ready, see below (new plugin API).
python plugin yes Ready, see below (new plugin API).
ruby plugin yes Ready, see below (new plugin API).
lua plugin yes Ready, see below (new plugin API).
xfer plugin yes Ready, used by DCC to transfert file and make direct chats, thru DCC protocol (/dcc command).


Warning!
It's recommended to use another WeeChat home for testing this version:

/path/to/weechat-curses --dir /tmp/weechat

This version creates these config files:

  • alias.conf
  • charset.conf
  • irc.conf
  • plugins.conf
  • weechat.conf
  • xfer.conf

Log file format (<weechatdir>/.weechat/logs/*) has changed in this version.


New plugin API

String functions

Old name New name New arguments? In scripts?
set_charset charset_set - -
iconv_to_internal iconv_to_internal - yes
iconv_from_internal iconv_from_internal - yes
- gettext - yes
- ngettext - yes
- strndup - -
- string_tolower - -
- string_toupper - -
ascii_strcasecmp strcasecmp - -
ascii_strncasecmp strncasecmp - -
- strcmp_ignore_chars - -
- strcasestr - -
- string_match - -
- string_replace - -
- string_remove_quotes - -
- string_strip - -
explode_string string_explode yes -
free_exploded_string string_free_exploded - -
- string_build_with_exploded - -
- string_split_command - -
- string_free_splitted_command - -
- utf8_has_8bits - -
- utf8_is_valid - -
- utf8_normalize - -
- utf8_prev_char - -
- utf8_next_char - -
- utf8_char_size - -
- utf8_strlen - -
- utf8_strnlen - -
- utf8_strlen_screen - -
- utf8_charcasecmp - -
- utf8_char_size_screen - -
- utf8_add_offset - -
- utf8_real_pos - -
- utf8_pos - -

Directory functions

Old name New name New arguments? In scripts?
mkdir_home mkdir_home - -
- mkdir - -
exec_on_files exec_on_files yes -
- timeval_cmp - -
- timeval_diff - -
- timeval_add - -

List functions

Old name New name New arguments? In scripts?
- list_new - yes
- list_add - yes
- list_search - yes
- list_casesearch - yes
- list_get - yes
- list_set - yes
- list_next - yes
- list_prev - yes
- list_string - yes
- list_size - yes
- list_remove - yes
- list_remove_all - yes
- list_free - yes

Config files functions

Old name New name New arguments? In scripts?
- config_new - yes
- config_new_section - yes
- config_search_section - yes
- config_new_option - yes
- config_search_option - yes
- config_search_section_option - no
- config_search_with_string - no
- config_string_to_boolean - yes
- config_option_reset - yes
- config_option_set - yes
- config_option_get_pointer - no
- config_boolean - yes
- config_integer - yes
- config_string - yes
- config_color - yes
- config_write_line - yes
- config_write - yes
- config_read - yes
- config_reload - yes
- config_option_free - yes
- config_section_free_options - yes
- config_section_free - yes
- config_free - yes
get_config config_get yes yes
set_config (removed) - -
get_plugin_config config_get_plugin - yes
set_plugin_config config_set_plugin - yes

Display functions

Old name New name New arguments? In scripts?
- prefix - yes
- color - yes
print printf_date_tags - yes (print_date_tags)
- printf_y - yes (print_y)
print_server (removed) - -
print_infobar infobar_printf - yes (infobar_print)
infobar_remove infobar_remove - yes
log (removed) - yes
- log_printf - yes (log_print)

Hooks

Old name New name New arguments? In scripts?
msg_handler_add under progress... yes yes
cmd_handler_add hook_command yes yes
timer_handler_add hook_timer yes yes
keyboard_handler_add under progress... yes yes
- hook_fd - yes
- hook_print - yes
event_handler_add hook_signal yes yes
- hook_signal_send - yes
- hook_config - yes
- hook_completion - yes
modifier_add hook_modifier yes yes
- hook_modifier_exec - yes
modifier_remove (removed) - -
modifier_remove_all (removed) - -
handler_remove unhook yes yes
handler_remove_all unhook_all yes yes

Buffers

Old name New name New arguments? In scripts?
- buffer_new - yes
- buffer_search - yes
- buffer_close - yes
- buffer_get_string - yes
- buffer_get_pointer - yes
- buffer_set - yes

Nicklist

Old name New name New arguments? In scripts?
- nicklist_add_group - yes
- nicklist_search_group - yes
- nicklist_add_nick - yes
- nicklist_search_nick - yes
- nicklist_remove_group - yes
- nicklist_remove_nick - yes
- nicklist_remove_all - yes

Bars

Old name New name New arguments? In scripts?
- bar_item_seach - yes
- bar_item_new - yes
- bar_item_update - yes
- bar_item_remove - yes
- bar_search - yes
- bar_new - yes
- bar_set - yes
- bar_update - yes
- bar_remove - yes

Command

Old name New name New arguments? In scripts?
exec_command command yes yes

Info / infolist

Old name New name New arguments? In scripts?
get_info info_get yes yes
- infolist_get - yes
- infolist_next - yes
- infolist_prev - yes
- infolist_fields - yes
- infolist_integer - yes
- infolist_string - yes
- infolist_pointer - yes
- infolist_time - yes
- infolist_free - yes
get_dcc_info (removed) - -
free_dcc_info (removed) - -
get_server_info (removed) - -
free_server_info (removed) - -
get_channel_info (removed) - -
free_server_info (removed) - -
get_nick_info (removed) - -
free_nick_info (removed) - -
get_window_info (removed) - -
free_window_info (removed) - -
get_buffer_info (removed) - -
free_buffer_info (removed) - -
get_buffer_data (removed) - -
free_buffer_data (removed) - -

Other functions

Old name New name New arguments? In scripts?
get_irc_color (removed) - -
input_color under progress... - -
Personal tools