XCHAT FAQ

# X-Chat 2 Frequently Asked Questions

Some of these answers may be relevant to 1.8.x, but you're on your own!

## 1. Section One: Compiling and Installing.

1. I get this error: /bin/sh: no: command not found
2. How do I compile X-Chat on my Sun OS system?

## 2. Section Two: Using X-Chat.

1. How do I enable identd in X-Chat? (How do I get rid of the ~ infront of my username?)
2. How do I auto join more than one channel with keys?
3. How do I autoconnect and join a channel when X-Chat loads?
4. How do I cut and paste in X-Chat?
5. How do I connect through a proxy?
6. How do I show @ and + infront of nicknames that are Op and Voice when they talk?
7. How do I change the Op and Voice icons in the userlist?
8. How do I set different ban types?
9. Why can't I see accented-letters/umlauts/upper-ascii-chars in X-Chat?
10. Why does the timestamp overlap some nicknames?
11. How do I turn on Conference mode where I will not see join or part messages?
12. How can I run the /dccserver command?
13. Why doesn't DCC send work behind IPNat or IPMasq?
14. How do I execute multiple commands in one line?
15. How do I enable Emacs keybindings in XChat 2.0?
16. I get this error: "Unknown file type abc.yz. Maybe you need to install the Perl or Python plugin?"
17. How do I play sound files on certain events?

## 3. Section Three: Contributions, Development and Bugs.

1. Why does X-Chat leak so much memory?
2. My copy of X-Chat crashes, what can I do?
3. Can I write a new language translation for X-Chat?

## 1. Section One: Compiling and Installing.

### 1. I get this error: /bin/sh: no: command not found

If you get an error something like:

>     Making all in po
>     make[2]: Entering directory `/home/zed/xchat/files/xchat-1.8.7/po'
>     file=./`echo ca | sed 's,.*/,,'`.gmo \
>       && rm -f $file && PATH=../src:$PATH no -o $file ca.po
>     /bin/sh: no: command not found
>     make[2]: *** [ca.gmo] Error 127
>     make[2]: Leaving directory `/home/zed/xchat/files/xchat-1.8.7/po'
>     make[1]: *** [all-recursive] Error 1
>     make[1]: Leaving directory `/home/zed/xchat/files/xchat-1.8.7'
>     make: *** [all-recursive-am] Error 2

It means you don't have GNU gettext installed. There are two solutions:

- Install GNU gettext and try again.
- Use ./configure --disable-nls. This will disable foreign language support and all menus and GUI will be in english only.

### 2. How do I compile X-Chat on my Sun OS system?

X-Chat uses GNU gettext which in turn requires gmake, either install that and or use ./configure --disable-nls with Sun's own make.

## 2. Section Two: Using X-Chat.

### 1. How do I enable identd in X-Chat?

UNIX:
Identd isn't actually apart of X-Chat. You will need to download and install your own ident server. Most distributions, including RedHat, come with an ident server program called pidentd. Make sure it is enabled in /etc/xinetd.conf or read you distribution's documentation. As an alternative, you can try this experimental identd server: xchat_auth
WINDOWS:
The win32 version of X-Chat comes with a builtin identd server. It is enabled by default, but can be disabled with /set identd 0.

### 2. How do I auto join more than one channel with keys?

In the Serverlist's channel column enter multiple channels and separate them by commas, eg: "#linux,#warez,#chat". Do not put spaces between the channels. If the channels also have keys (passwords), then the syntax is: "#channel1,#channel2,#channel3 key1,key2,key3"

Example: If you want to join #abc and #talk without keys, but #linux with a key of "secret", you would enter: "#linux,#abc,#talk secret".

### 3. How do I autoconnect and join a channel when X-Chat loads?

In the Serverlist, enable "Edit Mode", select the Network to want to auto-connect to, and turn ON the "Auto connect at startup" checkbox.

### 4. How do I cut and paste in X-Chat?

It's exactly the same as any other X application. You simply mark the text you want, and then press middle mouse button to paste (if you only have a 2 button mouse, press left and right buttons at once).

### 5. How do I connect through a proxy?

Go to the menus, Settings -> Preferences -> Network Setup and fill in the requested information there. There is currently no support for using a username and password to authenticate to proxies.
Update: HTTP authentication was added in 2.0.6.

### 6. How do I show @ and + infront of nicknames that are Op and Voice when they talk?

To display @ and + characters next to nicknames as they talk, do the following:

In the menus, open up Settings -> Lists -> Text Events. Find the Channel Message event in the list. The $3 code can be inserted to print the user's mode-character (e.g. @ or +). For example, you might want to change the default:
%C2<%O$1%C2>%O$t$2%O
To:
%C2<%O$3%O$1%C2>%O$t$2%O
Don't forget to press Enter, so the changes take effect in the list at the top of the window.

### 7. How do I change the Op and Voice icons in the userlist?

The default icons are hardcoded (compiled) in. You can override them by creating some PNG files in ${PREFIX}/share/xchat. ${PREFIX} is usually /usr, so that would translate to /usr/share/xchat. If you compiled from source tarball without specifying a prefix, it will be /usr/local instead.
Call the files op.png, hop.png, voice.png, red.png and purple.png. Red and Purple are used for Channel Owner and Founder. They will be loaded at the next startup.

### 8. How do I set different ban types?

Three ways:

- Right click the nickname in the userlist, and choose a bantype from the "Kick/Ban" submenu.
- You can also do it manually: /ban <nick> <bantype> where the <bantype> is a number from 0 to 3.
- /set irc_ban_type <bantype> sets the default ban type to use for all bans. The different types are:
  - 0 *!*@*.host
  - 1 *!*@domain
  - 2 *!*user@*.host
  - 3 *!*user@domain

### 9. Why can't I see accented-letters/umlauts/upper-ascii-chars in X-Chat?

Refer to http://xchat.org/encoding.html.
Note: Log files are always written in UTF-8/Unicode.

### 10. Why does the timestamp overlap some nicknames?

Some networks allow very long nicknames (up to 32 letters). It can be annoying to have the separator bar move too far to the right, just for one long nick. Therefore, it has a set limit for the distance it will move to the right. If you use a large font, you may need to adjust this distance. It is set in pixels, for example:

>           /set text_max_indent 320

Once you adjust this setting high enough, overlapping timestamps and nicknames should not occur. The adjustment will not take effect immediately, a restart may be needed.

### 11. How do I turn on Conference mode where I will not see join or part messages?

Right-click on the tab you want to change. In the submenu of the channel name, there's a toggle-item "Show join/part messages", simply turn this off.

### 12. How can I run the /dccserver command?

In short you can not do this (easily). This is a mIRC only proprietary feature that is quite nonstandard. There is no code for doing this, mainly because /dccserver runs on port 59 which in turn would require running X-Chat as root. Why do you need this anyway? Just use normal DCC.
Unofficial patches are available here.

### 13. Why doesn't DCC send work behind IPNat or IPMasq?

If you are behind a IP-NAT or IP-Masqeraude system, you will most likely have an address like 192.168.0.0. This address is not useable on the internet, and must be translated.

When offering a DCC file, xchat will tell the receiver your address. If it says 192.168.0.0, the receiver will not be able to connect. One way to make it send your "real" address is to enable the "Get my IP from IRC Server" option in xchat. In version 2.0, it's available in Prefereces -> File Transfers. When you turn this option ON, you will have to relogin to the server before it'll take effect.

### 14. How do I execute multiple commands in one line?

There are two ways to do this:

- You can create two UserCommands, with the same name, and then execute the UserCommand. It will be executed in the same order as it's written in the UserCommands gui.
- /LOAD -e <textfile>, where <textfile> is a full pathname to a file containing commands on each line.

### 15. How do I enable Emacs keybindings in XChat 2.0?

The standard Emacs keybindings, such as ctrl-w, ctrl-u etc, are supported by GTK+ 2.0, but normally disabled. If you run Gnome 2, you can reenable them in your Gnome menu under: Preferences -> Keyboard Shortcuts.

If you don't use Gnome 2, but still want Emacs keybindings, it's beyond the scope of this document. You might find some hints here: GTK+ 2.2.0 release notes.

Note, X-Chat versions 2.0.0 and 2.0.1 used the ctrl-w key for "Close Tab". Ctrl-w is recommended by the H.I.G for this purpose, but it conflicts with Emacs bindings. Version 2.0.2 changed the "Close Tab" binding to shift-ctrl-w, to avoid this conflict. In 2.0.3, ctrl-w is used for "Close Tab" when Emacs key bindings are disabled, and shift-ctrl-w when they are enabled. This solution should satisfy everyone.

### 16. I get this error: "Unknown file type abc.yz. Maybe you need to install the Perl or Python plugin?"

If you get this error when trying to load a Perl or Python script, it means the plugin for running those scripts isn't loaded.

- The Perl, Python and TCL plugins come with XChat in the same archive.
- During ./configure, it will check for Perl, Python and TCL libs and headers, you should check if it failed there.
- The plugins directory can be found by issuing the shell command

      strings `which xchat` | grep plugins

  Be sure to use the correct quotes.
- All *.so files are autoloaded at startup (*.dll on Windows).
- If you downloaded a binary package, maybe the packager decided to exclude the Perl or Python plugins.

### 17. How do I play sound files on certain events?

You can configure xchat to play a sound file (wave) on almost any event.
Example: Say you want to play dcc.wav whenever someone offers a DCC file.

1. Open the setup window under Settings -> Lists -> Text Events.
2. Find the DCC SEND Offer event in the list, they are in alphabetical order.
3. Click the row and then enter /home/user/dcc.wav in the "Sound file:" entry box. PRESS ENTER WHEN DONE!

That's it, it should now play /home/user/dcc.wav whenever the DCC SEND Offer message is printed. By default, it will use the "esdplay" program to play sound files. If you don't have it (most Linux distros do!) then you can nominate another program, for example:
/set sound_command soxplay
On Windows, you do not need to nominate a sound playing program, it will work automatically, if you have xchat 2.0.6b or higher.

## 3. Section Three: Contributions, Development and Bugs.

### 1. Why does X-Chat leak so much memory?

The simple answer is, it doesn't! There are some GTK+ pixmap based themes around that leak alot of memory. Please try using a different theme and see if that resolves the problem. X-Chat itself only allocates about 40kb of memory through malloc()!

### 2. My copy of X-Chat crashes, what can I do?

Firstly, make sure it's the latest stable version of X-Chat. Stable versions have an EVEN middle number, e.g.: 2.0.1 or 2.0.2. Often late fixes are placed in this directory: 2.0.x patches

If you still experience crashes, you should consider running it through GDB. This will help us find a fix quickly, and it's easy to do! See here.

### 3. Can I write a new language translation for X-Chat?

You sure can, but I don't accept translations directly. They must be done through the Translation Project. All the relevant information should be on that page.