WeeChat FAQ (Frequently Asked Questions)
========================================
FlashCode <flashcode@flashtux.org>


General
-------


[[why_choose_weechat]]
Why choose WeeChat? X-Chat and Irssi are so good...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Because WeeChat is very light and has new features.
Some features (version > = 0.3.x):

* multi-protocol support via plugins (IRC, Jabber)
* many remote GUI's in addition to Curses (coming soon)
* available in many languages
* extensible with plugins (C, Perl, Python, Ruby, Lua, Tcl)
* buffers with free content
* display filtering by tags and regular expressions
* horizontal and vertical window split
* customizable and extensible bars
* nicklist available in all GUI's
* incremental text search in buffers, jump to highlights
* FIFO pipe for remote control
* aspell support
* double charset (encoding/decoding)
* developed from scratch (not based on any other client)
* multi-platform
* 100% GPL and free

More info on this page:
http://weechat.flashtux.org/features.php


Compilation / install
---------------------


[[gui]]
I heard about many GUI's for WeeChat. How can I compile/use them?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Today only a Curses GUI is available.

Other GUI's will be available as remote clients (currently under development).


[[compile_git]]
I can't compile WeeChat after cloning git repository, why?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The recommended way to compile WeeChat is with cmake.

If you're compiling with autotools (and not cmake), check that you have latest
version of autoconf and automake (WeeChat is developed with autoconf 2.61 and
automake 1.10.1).

The other way is to install "devel package", which needs less dependencies.
This package is built almost every day using git repository. Note that this
package may not correspond exactly to git base and that it's less convenient
than git cloning for installing updates.


Using WeeChat
-------------


[[lost]]
I've launched WeeChat, but I'm lost, what can I do?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

For help you can type `/help`. For help about a command, type `/help command`.
Keys and commands are listed in documentation.

It's recommended for new users to read the quickstart guide (see the doc page
on the website).


[[buffer_vs_window]]
I heard about "buffers" and "windows", what's the difference?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

A 'buffer' is composed by a number, a name, lines displayed (and some other
data).

A 'window' is a screen area which displays a buffer. It is possible to split
your screen into many windows.

Each window displays one buffer. A buffer can be hidden (not displayed by a
window) or displayed by one or more windows.


[[charset]]
I don't see some chars with accents, what can I do?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

For versions < 0.2.3, please upgrade to the latest stable version.

For versions > = 0.2.3:

* check that weechat-curses is linked to libncursesw (warning: needed on most
  distributions but not all): `ldd /path/to/weechat-curses`
* check that the "Charset" plugin is loaded with `/plugin` command (if it is
  not, then you probably need the "weechat-plugins" package)
* check the charset line (on server buffer). You should see 'ISO-XXXXXX' or
  'UTF-8' for terminal charset. If you see 'ANSI_X3.4-1968' or other values,
  your locale is probably wrong.
* setup global decode value, for example:
** with WeeChat < = 0.2.6: `/setp charset.global.decode = ISO-8859-15`
** with WeeChat > = 0.3.x: `/set charset.default.decode "ISO-8859-15"`
* if you are using UTF-8 locale:
** check that your terminal is UTF-8 ready (terminal recommended for UTF-8 is
   rxvt-unicode)
** if you are using screen, check that it is run with UTF-8 mode
   ("`defutf8 on`" in ~/.screenrc or `screen -U` to run screen)

[NOTE]
UTF-8 locale is recommended for WeeChat. If you're using ISO or other
locale, please check that *all* your settings (terminal, screen, ..) are ISO
and *not* UTF-8.


[[bars_background]]
Bars like title and status are not filled, background color stops after text, why?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This may be caused by a bad value of the TERM variable in your shell (look at
output of `echo $TERM` in your terminal).

Depending on where you launch WeeChat, you should have:

* if WeeChat runs locally or on a remote machine without screen, it depends on
  the terminal used: 'xterm', 'rxvt', ..
* if WeeChat runs under screen, you should have 'screen'.

If needed, fix your TERM variable: `export TERM="xxx"`.


[[screen_weird_chars]]
When I'm using weechat under screen, I have weird random chars, how do I fix that?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This may be caused by bad value of the TERM variable in your shell (look at
output of `echo $TERM` in your terminal).

For example, 'xterm-color' may display such weird chars, you can use 'xterm'
which is ok (like many other values).

If needed, fix your TERM variable: `export TERM="xxx"`.


[[key_bindings]]
How can I customize key bindings?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Key bindings are customizable with /key command.

Default key Meta-k (usually Alt-k) lets you grab key code and insert it in
command line.


[[openbsd_plugins]]
I'm using OpenBSD and WeeChat does not load any plugins, what's wrong?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Under OpenBSD, plugin filenames end with ".so.0.0" (".so" for Linux).

You must set that up:

* with WeeChat < = 0.2.6: `/set plugins_extension = ".so.0.0"`
* with WeeChat > = 0.3.x: `/set weechat.plugin.extension ".so.0.0"`

Then: `/plugin autoload`.


[[scripts]]
How can I load Perl/Python/Ruby/Lua/Tcl scripts? Are scripts compatible with other IRC clients?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can use the commands `/perl`, `/python`, `/ruby`, `/lua` and `/tcl` to load
scripts (default path for scripts is '~/.weechat/<language>/').

Scripts are not compatible with other IRC clients.

Notes:

* scripts in '~/.weechat/<language>/autoload/' are automatically loaded when
  WeeChat is starting up.
* a 'tcl' plugin is available with version > = 0.3.x.


[[change_locale_without_quit]]
I want to change the language used by WeeChat for messages, but without exiting WeeChat, is it possible?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Yes, you have to use a python script, shell.py (available on WeeChat website)
and issue these commands when script is loaded:

  /shell setenv LANG=en_US.UTF-8
  /upgrade

To have english messages with UTF-8 encoding for terminal, for ISO users, you
can issue: `/shell setenv LANG=en_US`.


[[terminal_copy_paste]]
With the Curses GUI, how can I copy/paste text without pasting nicklist?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can use a terminal with rectangular selection (like rxvt-unicode,
konsole, ...). Key is usually ctrl + alt + mouse selection.

Another solution is to move nicklist to top or bottom, for example:

* with WeeChat < = 0.2.6: `set look_nicklist_position = top`
* with WeeChat > = 0.3.x: `/bar set nicklist position top`


[[highlight_notification]]
How can I be warned when someone highlights me on a channel?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can use the script 'sound.pl' (available on scripts page), and then setup a
system command (to play sound, display message, ..) with this command:

* with WeeChat < = 0.2.6:
  `/setp perl.sound.cmd_highlight = "/path/command arguments"`
* with WeeChat > = 0.3.x:
  `/set plugins.var.perl.sound.cmd_highlight "/path/command arguments"`

Many other scripts exist for notification, please look at plugins/scripts page:
http://weechat.flashtux.org/plugins.php


[[filter_irc_join_part_quit]]
How can I filter join/part/quit messages on IRC channels?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

According to WeeChat version:

* with WeeChat < = 0.2.6: +
  `/ignore * join #weechat freenode` +
  `/ignore * part #weechat freenode` +
  `/ignore * quit #weechat freenode` +
  (channel and/or server may be "*", `/help ignore` for help)

* with WeeChat > = 0.3.x:

** smart filter (keep join/part/quit from users who spoke recently): +
   `/set irc.look.smart_filter on` +
   `/filter add irc_smart * irc_smart_filter *` +
   (`/help irc.look.smart_filter` and `/help filter` for help)

** global filter (hide *all* join/part/quit): +
   `/filter add jpk * irc_join,irc_part,irc_quit *` +
   (`/help filter` for help)


[[ignore_vs_filter]]
What is the difference between the /ignore and /filter commands?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The `/ignore` command is an IRC command, so it applies only for IRC buffers
(servers and channels).
It lets you ignore some nicks or hostnames of users for a server or channel
(command will not apply on content of messages).
Matching messages are deleted by IRC plugin before display (so you'll
never see them).

The `/filter` command is a core command, so it applies to any buffer.
It lets you filter some lines in buffers with tags or regular expression for
prefix and content of line.
Filtered lines are only hidden, not deleted, and you can see them if you
disable filters (by default, the key alt + "=" toggles filters).


Development
-----------


[[bug_task_patch]]
How should I report bugs, ask for new features or send patches?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

There are 3 ways:

. you can join us on IRC: 'irc.freenode.net', channel '#weechat'
. you can use the savannah website:
  * report a bug: https://savannah.nongnu.org/bugs/?group=weechat
  * request a new feature: https://savannah.nongnu.org/task/?group=weechat
  * send a patch: https://savannah.nongnu.org/patch/?group=weechat
. you can mail developers, look at support page for developer's mails:
  http://weechat.flashtux.org/support.php
  (you can subscribe and send to "support" mailing list)


[[supported_os]]
What is the list of supported platforms for WeeChat? Will it be ported to other operating systems?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The full list is on this page:
http://weechat.flashtux.org/download.php?view=supported_os

We do our best to run on as many platforms as possible. Help is welcome for
some OS' we don't have, to test WeeChat.


[[help_developers]]
I want to help WeeChat developers. What can I do?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

There's many tasks to do (testing, code, documentation, ...)

Please contact us via IRC or mail, look at support page:
http://weechat.flashtux.org/support.php


[[donate]]
Can I give money or other things to WeeChat developers?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can give us money to help development.
Details on http://weechat.flashtux.org/donate.php
