only print debug output when XCHATDEBUG env variable is set
[rofl0r-ixchat.git] / faq.html
blob4f4c1cdedd0a63ad68c8dcf6c7fbe20dbf8fe20d
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head>
3 <title>XCHAT FAQ</title>
4 <style type="text/css">
5 <!--
6 body {
7 font-family: sans-serif;
8 background-color: #FFFBF0;
10 h2 { color: #336701;
11 background-color: #F4F0E5;
13 h3 { color: #005A9C;
14 background-color: #F0EAE1;
16 a:link { color: blue; }
17 p { margin: 3% }
18 -->
19 </style>
20 </head>
21 <body>
23 <h1>X-Chat 2.8 Frequently Asked Questions</h1>
25 <h2>1. Section One: Compiling and Installing.</h2>
26 <p>
27 <a href="#q11">1. I get this error: /bin/sh: no: command not found</a>
28 <br><br>
29 <a href="#q12">2. How do I compile X-Chat on my Sun OS system?</a>
30 <br><br>
31 </p>
33 <h2>2. Section Two: Using X-Chat.</h2>
34 <p>
35 <a href="#q21">1. How do I enable identd in X-Chat? (How do I get rid of the ~ in front of my username?)</a>
36 <br><br>
37 <a href="#q22">2. How do I auto join more than one channel with keys?</a>
38 <br><br>
39 <a href="#q23">3. How do I autoconnect and join a channel when X-Chat loads?</a>
40 <br><br>
41 <a href="#q24">4. How do I cut and paste in X-Chat?</a>
42 <br><br>
43 <a href="#q25">5. How do I connect through a proxy?</a>
44 <br><br>
45 <a href="#q26">6. How do I show @ and + in front of nicknames that are Op and Voice when they talk?</a>
46 <br><br>
47 <a href="#q27">7. How do I change the Op and Voice userlist icons and Tree View icons?</a>
48 <br><br>
49 <a href="#q28">8. How do I set different ban types?</a>
50 <br><br>
51 <a href="#q29">9. Why can't I see accented-letters/umlauts/upper-ascii-chars in X-Chat?</a>
52 <br><br>
53 <a href="#q210">10. Why does the timestamp overlap some nicknames?</a>
54 <br><br>
55 <a href="#q211">11. How do I turn on Conference mode where I will not see join or part messages?</a>
56 <br><br>
57 <a href="#q212">12. How can I run the /dccserver command?</a>
58 <br><br>
59 <a href="#q213">13. Why doesn't DCC send work behind a router (IPNat/ADSL)?</a>
60 <br><br>
61 <a href="#q214">14. How do I execute multiple commands in one line?</a>
62 <br><br>
63 <a href="#q215">15. How do I enable Emacs key bindings in XChat?</a>
64 <br><br>
65 <a href="#q216">16. I get this error: "Unknown file type abc.yz. Maybe you need to install the Perl or Python plugin?"</a>
66 <br><br>
67 <a href="#q217">17. How do I play sound files on certain events?</a>
68 <br><br>
69 <a href="#q218">18. How do I auto-load scripts at startup?</a>
70 <br><br>
71 <a href="#q219">19. How do I minimize X-Chat to the System Tray (Notification Area)?</a>
72 <br><br>
73 <a href="#q220">20. Can I select and copy text with the time stamps?</a>
74 <br><br>
75 <a href="#q221">21. What's the deal with opening URLs in XChat on Linux/Unix?</a>
76 <br><br>
77 <a href="#q222">22. Where are the log files saved to?</a>
78 <br><br>
79 <a href="#q223">23. How do I rotate log files every so often?</a>
80 <br><br>
81 <a href="#q224">24. How do I enable graphical smilies (emoticons)?</a>
82 <br><br>
83 </p>
85 <h2>3. Section Three: Contributions, Development and Bugs.</h2>
86 <p>
87 <a href="#q31">1. Why does X-Chat leak so much memory?</a>
88 <br><br>
89 <a href="#q32">2. My copy of X-Chat crashes, what can I do?</a>
90 <br><br>
91 <a href="#q33">3. Can I write a new language translation for X-Chat?</a>
92 </p>
94 <br><br>
96 <h2>1. Section One: Compiling and Installing.</h2>
98 <br><h3><a name="q11">1. I get this error: /bin/sh: no: command not found</a></h3>
99 <p>
100 If you get an error something like:
101 </p>
102 <blockquote><pre>
103 Making all in po
104 make[2]: Entering directory `/home/zed/xchat/files/xchat-1.8.7/po'
105 file=./`echo ca | sed 's,.*/,,'`.gmo \
106 &amp;&amp; rm -f $file &amp;&amp; PATH=../src:$PATH no -o $file ca.po
107 /bin/sh: no: command not found
108 make[2]: *** [ca.gmo] Error 127
109 make[2]: Leaving directory `/home/zed/xchat/files/xchat-1.8.7/po'
110 make[1]: *** [all-recursive] Error 1
111 make[1]: Leaving directory `/home/zed/xchat/files/xchat-1.8.7'
112 make: *** [all-recursive-am] Error 2
113 </pre></blockquote>
115 It means you don't have GNU gettext installed. There are two solutions:
116 </p>
117 <ul>
118 <li>Install GNU gettext and try again.</li>
119 <li>Use <i>./configure --disable-nls</i>. This will disable foreign
120 language support and all menus and GUI will be in English only.</li>
121 </ul>
123 <br><h3><a name="q12">2. How do I compile X-Chat on my Sun OS system?</a></h3>
125 X-Chat uses GNU gettext which in turn requires gmake, either install that
126 and or use ./configure --disable-nls with Sun's own make.
127 </p>
129 <br><h2>2. Section Two: Using X-Chat.</h2>
131 <br><h3><a name="q21">1. How do I enable identd in X-Chat?</a></h3>
133 <u>UNIX:</u><br>
134 Identd isn't actually apart of X-Chat. You will need to download and install
135 your own ident server. Most distributions, including Fedora, come with an
136 ident server program called oidentd. Make sure it is enabled in
137 /etc/xinetd.conf or read you distribution's documentation.
139 As an alternative, you can try this experimental identd server: <a href="http://xchat.org/auth/">xchat_auth</a>
141 <br><br><u>WINDOWS:</u><br>
142 The win32 version of X-Chat comes with a built-in identd server. It is
143 enabled by default, but can be disabled with <i>/set identd 0</i>.
144 </p>
146 <br><h3><a name="q22">2. How do I auto join more than one channel with keys?</a></h3>
148 In the Server list's channel column enter multiple channels and separate
149 them by commas, eg: "#linux,#warez,#chat". Do not put spaces between the
150 channels. If the channels also have keys (passwords), then the syntax is:
151 "#channel1,#channel2,#channel3 key1,key2,key3"
152 </p>
154 Example: If you want to join #abc and #talk without keys, but #linux with
155 a key of "secret", you would enter: "#linux,#abc,#talk secret".
156 </p>
158 <br><h3><a name="q23">3. How do I autoconnect and join a channel when X-Chat loads?</a></h3>
160 In the Server list, select the Network you want to auto-connect to, click Edit
161 and turn ON the "Auto connect to this network at startup" checkbox.
162 </p>
164 <br><h3><a name="q24">4. How do I cut and paste in X-Chat?</a></h3>
166 It's exactly the same as any other X application. You simply mark the text
167 you want, and then press middle mouse button to paste (if you only have a
168 2 button mouse, press left and right buttons at once).
169 </p>
171 <br><h3><a name="q25">5. How do I connect through a proxy?</a></h3>
173 Go to the menus, Settings -> Preferences -> Network Setup and fill in the requested
174 information there. Authentication (using a username and password) is
175 only supported for HTTP and Socks5.
176 </p>
178 <br><h3><a name="q26">6. How do I show @ and + in front of nicknames that are Op and Voice when they talk?</a></h3>
180 To display @ and + characters next to nicknames as they talk, do the following:
181 </p>
183 In the menus, open up Settings -> Advanced -> Text Events. Find the
184 <i>Channel Message</i> event in the list. The $3 code can be inserted to
185 print the user's mode-character (e.g. @ or +). For example, you might want
186 to change the default:
188 <br><br>%C18%H&lt;%H$4$1%H>%H%O$t$2<br><br>To:
189 <br><br>%C18%H&lt;%H$4<b>$3</b>$1%H>%H%O$t$2
190 <br><br>Don't forget to press Enter, so the changes take effect in the
191 list at the top of the window.
192 </p>
194 <br><h3><a name="q27">7. How do I change the Op and Voice userlist icons and Tree View icons?</a></h3>
196 <u>Unix/Linux</u>
197 <br>The default icons are hard coded (compiled) in. You can override them by creating
198 some PNG files in ${PREFIX}/share/xchat. ${PREFIX} is usually /usr, so that
199 would translate to /usr/share/xchat. If you compiled from source tarball without
200 specifying a prefix, it will be /usr/local instead.
201 <br>
202 <br>
203 <u>Windows</u>
204 <br>Your own custom icons can be placed in C:\Program Files\XChat\Icons. Image format
205 may be PNG or ICO. PNG support on Windows 2000 may require installing GDI+, but it's
206 standard on XP or newer.
207 </p>
209 <blockquote>
210 <table border="1" cellpadding="3" rules="all">
211 <tr bgcolor="#dddddd"><td>Name</td><td>Description</td></tr>
212 <tr><td>op.png</td><td>Userlist: Op</td></tr>
213 <tr><td>hop.png</td><td>Userlist: Half-Op</td></tr>
214 <tr><td>voice.png</td><td>Userlist: Voice</td></tr>
215 <tr><td>red.png</td><td>Userlist: Owner</td></tr>
216 <tr><td>purple.png</td><td>Userlist: Founder</td></tr>
217 <tr><td></td><td></td></tr>
218 <tr><td>server.png</td><td>Tree: Server</td></tr>
219 <tr><td>channel.png</td><td>Tree: Channel</td></tr>
220 <tr><td>dialog.png</td><td>Tree: Dialog/Query</td></tr>
221 <tr><td>util.png</td><td>Tree: Utility (Channel List, DCC etc)</td></tr>
222 <tr><td></td><td></td></tr>
223 <tr><td>message.png</td><td>Tray: Message</td></tr>
224 <tr><td>highlight.png</td><td>Tray: Highlighted Message</td></tr>
225 <tr><td>fileoffer.png</td><td>Tray: DCC</td></tr>
226 <tr><td></td><td></td></tr>
227 <tr><td>xchat.png</td><td>Main XChat icon</td></tr>
228 </table>
229 </blockquote>
231 <br><b>Tree View icons</b>: Type <b>/set tab_icons 1</b> to enable them and then restart XChat.
232 <br>
234 <br><h3><a name="q28">8. How do I set different ban types?</a></h3>
236 Three ways:
237 </p>
238 <ul>
239 <li>
240 Right click the nickname in the userlist, and choose a ban type from the
241 "Kick/Ban" submenu.
242 </li>
243 <li>
244 You can also do it manually:
246 /ban &lt;nick> &lt;ban type>
248 where the &lt;ban type> is a number from 0 to 3.
249 </li>
251 <li>
252 /set irc_ban_type &lt;ban type>
253 sets the default ban type to use for all bans. The different types are:
255 <ul>
256 <li>0 *!*@*.host</li>
257 <li>1 *!*@domain</li>
258 <li>2 *!*user@*.host</li>
259 <li>3 *!*user@domain</li>
260 </ul>
262 </li>
263 </ul>
265 <br><h3><a name="q29">9. Why can't I see accented-letters/umlauts/upper-ascii-chars in X-Chat?</a></h3>
267 Refer to <a href="http://xchat.org/encoding/">http://xchat.org/encoding/</a>.<br>
268 Note: Log files are always written in UTF-8/Unicode.
269 </p>
271 <br><h3><a name="q210">10. Why does the timestamp overlap some nicknames?</a></h3>
273 Some networks allow very long nicknames (up to 32 letters). It can be annoying to have
274 the separator bar move too far to the right, just for one long nick. Therefore, it has
275 a set limit for the distance it will move to the right. If you use a large font, you
276 may need to adjust this distance. It is set in pixels, for example:
277 </p>
278 <blockquote><pre>
279 /set text_max_indent 320
280 </pre></blockquote>
283 Once you adjust this setting high enough, overlapping timestamps and nicknames should
284 not occur. The adjustment will not take effect immediately, a restart may be needed.
285 </p>
287 <br><h3><a name="q211">11. How do I turn on Conference mode where I will not see join or part messages?</a></h3>
289 Right-click on the tab you want to change. In the submenu of the channel
290 name, there's a toggle-item "Show join/part messages", simply turn this off.
291 </p><p>If you want to turn this option on globally, type:</p>
292 <blockquote><pre>/set irc_conf_mode 1</pre></blockquote>
293 <p>Then all channels you join after setting this will start with "Show join/part messages" turned off.</p>
295 <br><h3><a name="q212">12. How can I run the /dccserver command?</a></h3>
297 In short you can not do this (easily). This is a mIRC only proprietary feature
298 that is quite nonstandard. There is no code for doing this, mainly because
299 /dccserver runs on port 59 which in turn would require running X-Chat as
300 root. Why do you need this anyway? Just use normal DCC.
301 <br><br>
302 Unofficial unix <a href="http://dfx.at/xchat/">patches are available here</a>.
303 <br><br><u><b>Update</b></u>: DCC Server feature has been added in the official Windows release 2.4.1b.
304 </p>
306 <br><h3><a name="q213">13. Why doesn't DCC send work behind a router (IPNat/ADSL)?</a></h3>
308 If you are behind a IP-NAT or ADSL router, you will most likely have
309 an address like 192.168.0.1. This address is not usable on the Internet, and
310 must be translated.
311 </p><p>
312 When offering a DCC file, xchat will tell the receiver your address. If it says
313 192.168.0.1, the receiver will not be able to connect. One way to make it send
314 your "real" address is to enable the "Get my IP from IRC Server" option in xchat.
315 This option is available in Preferences -> File Transfers. When you turn it
316 ON, you will have to re-login to the server before it'll take effect.
317 </p><p>
318 You will also need to forward some ports for use in DCC send. You may pick almost
319 any port range you wish, for example, in xchat set:
320 </p>
321 <pre> <b>First DCC send port</b>: 4990
322 <b>Last DCC send port</b>: 5000
323 </pre>
325 This will allow you to send up to ten files at the same time, which should be plenty
326 for most people. Lastly, configure your router/modem to forward ports 4990-5000 to
327 your PC's address. You'll have to consult your router/modem's manual on how to do this.
328 </p>
330 <br><h3><a name="q214">14. How do I execute multiple commands in one line?</a></h3>
332 There are three ways to do this:
333 </p>
334 <ul>
335 <li>/LOAD -e &lt;textfile>, where &lt;textfile> is a full pathname to a file
336 containing commands on each line.</li>
337 <li>
338 Separate your commands with CTRL-SHIFT-u-a (CTRL-SHIFT-a on older GTK+ and Windows). This will appear as a little box with numbers on it.</li>
339 <li>You can create two UserCommands, with the same name, and then execute
340 the UserCommand. It will be executed in the same order as it's written
341 in the UserCommands GUI.</li>
342 </ul>
344 <br><h3><a name="q215">15. How do I enable Emacs key bindings in XChat?</a></h3>
346 The standard Emacs key bindings, such as CTRL-w, CTRL-u etc, are supported by
347 GTK+ 2.0, but normally disabled. If you run Gnome 2, you can re-enable them in
348 your Gnome menu under: Preferences -> Keyboard Shortcuts.
349 </p>
351 <i>Note</i>: This doesn't work in the latest Gnome (2.8 and newer). In this case, you need
352 to run "gconf-editor", and directly change the key /desktop/gnome/interface/gtk_key_theme
353 from "Default" to "Emacs". Then you need to re-start XChat.
354 </p>
356 If you don't use Gnome 2, but still want Emacs key bindings, it's beyond the
357 scope of this document. You might find some hints here:
358 <a href="http://www.gtk.org/gtk-2.4.0-notes.html">GTK+ 2.4.0 release notes</a>.
359 </p>
361 <br><h3><a name="q216">16. I get this error: "Unknown file type abc.yz. Maybe you need to install the Perl or Python plugin?"</a></h3>
363 If you get this error when trying to load a Perl or Python script, it means
364 the plugin for running those scripts isn't loaded.
365 </p>
366 <ul>
367 <li>The Perl, Python and TCL plugins come with XChat in the same archive.</li>
368 <li>During ./configure, it will check for Perl, Python and TCL libs and headers, you should check if it failed there.</li>
369 <li>The plugins directory can be found by issuing the shell command
370 <pre>xchat -p</pre>
371 </li>
372 <li>All *.so files are auto-loaded at startup (*.dll on Windows).</li>
373 <li>If you downloaded a binary package, maybe the packager decided to exclude the Perl or Python plugins.</li>
374 </ul>
376 <br><h3><a name="q217">17. How do I play sound files on certain events?</a></h3>
378 In the menus, go to: Settings > Preferences > Sound.
379 Select the event you want to make a sound on, then type in a
380 sound filename (or use the Browse button).
381 </p>
383 <br><h3><a name="q218">18. How do I auto-load scripts at startup?</a></h3>
385 You just have to place the scripts into XChat's data directory. XChat
386 will auto-load scripts if they have the right extension .e.g If a filename
387 ends in .pl, it will be loaded as a Perl script.
388 This data directory is different on each platform:
389 <br><br>
390 <u>Windows</u>
391 <br><br>
392 It depends on your version of Windows and where it stores the
393 <i><b>Application Data</b></i> folder. On Windows XP it is usually:
394 <br><br>
395 C:\Documents and Settings\<i><b>username</b></i>\Application Data\X-Chat 2\
396 <br><b>or simply:</b>
397 <br>
398 C:\Program Files\XChat\Plugins\
399 <br><br><br>
400 <u>UNIX</u>
401 <br><br>
402 ~/.xchat2/
403 Where "~" represents your home directory i.e.: $HOME/.xchat2/
404 </p>
406 <br><h3><a name="q219">19. How do I minimize X-Chat to the System Tray (Notification Area)?</a></h3>
408 There are two plugins available that allow this:
409 <br>Unix: <a href="http://www.blight.tk/">SysTray Plugin</a>
410 <br>Windows: <a href="http://www.sinisterdevelopments.com/">xTray</a>
411 </p>
413 Note that XChat 2.8.0+ has its own tray feature, but you can disable it
414 in <b>Settings &gt; Preferences &gt; Alerts</b> and still run these plugins, if you prefer.
415 </p>
417 <br><h3><a name="q220">20. Can I select and copy text with the time stamps?</a></h3>
419 Yes, but this requires at least XChat 2.6.3. Simply hold down SHIFT while marking
420 the text and the time stamps will be included.
421 </p>
423 <br><h3><a name="q221">21. What's the deal with opening URLs in XChat on Unix/Linux?</a></h3>
425 Right-clicking on a URL and selecting <i>Open Link in Browser</i> will open the link
426 in your "preferred browser". In Gnome, your preferred browser can be changed in System > Preferences > More Preferences > Preferred Applications.
427 <br><br>
428 <b><u>Notes for 2.8.0 or newer:</u></b>
429 <br><br>
430 Everything should just work automatically without any changes from you. Here's how the current
431 logic works:
432 </p>
434 <ul>
435 <li>First, it tries to run xdg-open, which is a universal URL handler from freedesktop.org. Most modern Linux desktops will have this now, or in the near future.</li>
436 <li>If xdg-open doesn't exist, it will try to detect a running Gnome or KDE desktop. This is done via the environment variables GNOME_DESKTOP_SESSION_ID and KDE_FULL_SESSION.</li>
437 <li>If Gnome is detected, it will execute: gnome-open &lt;url></li>
438 <li>If KDE is detected, it will execute: kfmclient exec &lt;url></li>
439 </ul>
442 <b><u>Notes for 2.6.8 or older:</u></b>
443 <br><br>
444 If you're not using Gnome, e.g KDE or some other desktop environment, you're fresh out of luck!
445 <br><u>Note for Debian and Ubuntu</u>: Integration with Gnome is broken on this distro! Please set
446 <i>sensible-browser</i> instead. We have no control over what the Debian packagers do, so complain
447 to them for this screw up. Example:
448 <i>sudo update-alternatives --set x-www-browser /usr/bin/firefox</i>
450 <br><br>
451 <b><u>More details</u></b>
452 <br><br>
453 While holding down CTRL you can single left-click a URL to open it in your preferred browser. If you really want to change this to plain left-click you can type: <b>/set gui_url_mod 0</b>, provided you have XChat 2.6.6 or newer.
454 <br><br>
455 You can also add more items to the right-click menu in XChat: <b>Settings &gt; Advanced &gt; URL Handlers</b>.
456 <br>For example, you could add an entry like <b>!firefox -a firefox -remote 'openURL(%s,new-tab)'</b>
457 <br>But this kind of messing around shouldn't be necessary, it just works automatically in Gnome, KDE and Windows with 2.8.0+!
458 </p>
460 <br><h3><a name="q222">22. Where are the log files saved to?</a></h3>
462 <u>UNIX</u>
463 <br>
464 <br>~/.xchat2/xchatlogs/
465 <br>where ~ represents your home directory.
466 <br>
467 <br>
468 <br><u>Windows</u>
469 <br>
470 <br><b>Windows XP/2000</b>: C:\Documents and Settings\<i><b>username</b></i>\Application Data\X-Chat 2\xchatlogs
471 <br><b>Windows Vista/7</b>: C:\Users\<i><b>username</b></i>\AppData\Roaming\X-Chat 2\xchatlogs
472 </p>
474 <br><h3><a name="q223">23. How do I rotate log files every so often?</a></h3>
476 Requires: 2.6.1+
477 <br><br>
478 By default settings, no rotation occurs, your log files will just keep getting larger.
479 <br><br>
480 Go to <b>Settings</b> &gt; <b>Preferences</b> &gt; <b>Logging</b> and change the log filename to any one of these:
481 </p>
482 <blockquote>
483 <table border="1" cellpadding="6" rules="all">
484 <tr><td><b>Setting</b></td><td><b>Example filename that would be written</b></td></tr>
485 <tr><td>%Y-%m-%d/%n-%c.log&nbsp;</td><td>2006-12-30/FreeNode-#channel.log</td></tr>
486 <tr><td>%n/%Y-%m-%d/%c.log</td><td>FreeNode/2006-12-30/#channel.log</td></tr>
487 <tr><td>%n/%c.log</td><td>FreeNode/#channel.log (no rotation)</td></tr>
488 </table>
489 </blockquote>
491 %Y, %m and %d represents the current year, month and day respectively. %n is the
492 network name, e.g. "FreeNode" or "UnderNet", and finally, %c is the channel. In these
493 examples, a new log filename and folder would be created after midnight.
494 <br><br>
495 You can find more possibilities at <a href="http://xchat.org/docs/log/">http://xchat.org/docs/log/</a>.
496 </p>
498 <br><h3><a name="q224">24. How do I enable graphical smilies (emoticons)?</a></h3>
500 This feature is only available in the official Windows XChat release. You have to
501 TICK this feature during installation. If you didn't do this, you can simply run
502 the installer again, and TICK the "<b>Eye Candy Theme</b>" when given the option.
503 </p><p>
504 If you want to use the graphical theme, but disable it just for smilies (i.e leave
505 it ON for things like Join/Part, Modes etc only), type this command and restart:
506 <br><br>
507 <b>/set text_emoticons off</b>
508 </p>
510 <br><h2>3. Section Three: Contributions, Development and Bugs.</h2>
512 <br><h3><a name="q31">1. Why does X-Chat leak so much memory?</a></h3>
514 The simple answer is, it doesn't! There are some GTK+ pixmap based themes around that
515 leak a lot of memory. Please try using a different theme and see if that resolves the
516 problem. X-Chat itself only allocates about 40kb of memory through malloc()!
517 </p>
519 <br><h3><a name="q32">2. My copy of X-Chat crashes, what can I do?</a></h3>
521 Firstly, make sure it's the latest stable version of X-Chat. Stable versions have
522 an EVEN middle number, e.g.: 2.8.0 or 2.8.1. Often late fixes are placed in this
523 directory: <a href="http://xchat.org/files/source/2.8/patches/">2.8.x patches</a>
524 </p><p>
525 If you still experience crashes, you should consider running it through GDB. This
526 will help us find a fix quickly, and it's easy to do! See <a href="http://xchat.org/gdb/">here</a>.
527 </p>
529 <br><h3><a name="q33">3. Can I write a new language translation for X-Chat?</a></h3>
531 You sure can, but I don't accept translations directly. They must be done through the
532 <a href="http://translationproject.org/domain/xchat.html">Translation Project</a>.
533 All the relevant information should be on that page.
534 </p>
536 </body>
537 </html>