]>
Commit | Line | Data |
---|---|---|
757b17ce STS |
1 | 1. PROJECT RELATED QUESTIONS |
2 | ||
3 | 1.1 What is KVIrc ? What the "KVIrc" name stands for ? | |
4 | 1.2 Why KVIrc is not totally integrated in KDE ? | |
5 | ||
6 | ||
7 | 2. COMPILATION | |
8 | ||
4179a02c | 9 | 2.1 I can't compile kvirc from svn, what's wrong? |
757b17ce STS |
10 | 2.2 Internal Compiler Errors ? |
11 | 2.3 On Mandrake 10.0 (or other) KVIrc fails to start | |
12 | saying that it can't find libkvisetup.so. | |
13 | 2.4 I got 'amarokInterface.cpp:29:31: amarokInterface.moc: No such file or directory'. Whats going wrong? | |
14 | 2.5 Configure complains about a missing libdl.so but I seem to have it | |
15 | ||
16 | ||
17 | 3. INSTALLATION | |
18 | ||
19 | 3.1 There is a problem during package installation/creation | |
20 | file /usr/share/services/irc.protocol from install | |
21 | kvirc-version.package conflicts with file from package xxx | |
22 | ||
23 | ||
24 | 4. IRC | |
25 | ||
26 | 4.1 How do i join a channel ? | |
27 | 4.2 How do i autojoin channels ? | |
28 | 4.3 How do I enable automatic NickServ identification ? | |
29 | 4.4 I can't see my national characters, what's wrong ? | |
30 | 4.5 I can't connect to an IPV6 server, what's wrong ? | |
31 | 4.6 /me doesn't support the '$' character, what's wrong ? | |
32 | 4.7 /me doesn't support the '"' (double quote) character, what's wrong ? | |
33 | 4.8 /me can't contain the ';' character, what's wrong ? | |
34 | 4.9 I try to do a /whois on nick blah\ but i get the reply for blah (without the slash) | |
35 | 4.10 What is AVATAR protocol ? Is there any documentation about it ? | |
36 | 4.11 The log files seem to be saved randomly, when I open a log | |
37 | I can see only a part of the text that actually should be there | |
38 | 4.12 The DCC transfers seem to be interrupted after the first few bytes: | |
39 | KVIrc says that the remote end has closed the connection. | |
40 | ||
41 | ||
42 | 5. ADVANCED IRC FEATURES | |
43 | ||
44 | 5.1 How do I connect to an SSL-enabled IRC server ? | |
45 | 5.2 How do I use DCC over SSL ? | |
46 | 5.3 Do I need a SSL certificate ? | |
47 | 5.4 How do I create a SSL certificate ? | |
48 | 5.5 I can't get KVIrc to use my SSL certificate in a DCC, what's wrong ? | |
49 | 5.6 KVIrc crashes when a certificate is used under Windows, what's wrong ? | |
50 | 5.7 How do I enable mircryption (encryption in general) for a specific channel ? | |
51 | 5.8 How do I execute a process and send its output to a channel ? | |
52 | 5.9 How do I keep channels and queries open after a disconnect ? | |
53 | 5.10 I have an unreliable ISP connection but KVIrc takes a really long | |
54 | time to detect a disconnection and reconnect. | |
55 | 5.11 I'm in a LAN and KVIrc uses a wrong IP address in dcc transfers | |
56 | ||
57 | 6. APPAREANCE | |
58 | ||
59 | 6.1 On Windows KVIrc seems to slow-down sometimes, what's wrong ? | |
60 | 6.2 I don't see the channel popup menus anymore, what's wrong ? | |
61 | 6.3 Does KVIrc support Themes? | |
62 | 6.4 I hate all that colors, what can I do about it ? | |
63 | 6.5 On Windows, how do I use firefox/opera/any_other_browser to open links instead of explorer ? | |
64 | ||
65 | ||
66 | 7. CRASHES | |
67 | ||
68 | 7.1 KVIrc crashes when the multiline text input is opened (obsolete) | |
69 | 7.2 What the heck is a gdb stack trace and how do I get it ? | |
70 | 7.3 KVIrc hangs up, but doesn't crash. How do i report debug informations ? | |
71 | 7.4 KVIrc exits by itself or simply "disappears" without any apparent reason. | |
72 | 7.5 KVIrc dies randomly and "Alarm Clock" is printed in the console | |
73 | 7.6 KVIrc dies when using alias(identify){ identify password; } | |
74 | ||
75 | -------------------------------------------------------------------------------- | |
76 | 1. PROJECT RELATED QUESTIONS | |
77 | -------------------------------------------------------------------------------- | |
78 | ||
79 | ||
80 | 1.1 What is KVIrc ? | |
81 | ||
82 | KVIrc is a cross-platform Internet Relay Chat client. | |
83 | The name stands for K Visual Internet Relay Chat client. | |
84 | The K prefix comes from the old times, when KVIrc was bound to the | |
85 | KDE project and depended on the KDE libraries to run. Actually this | |
86 | is not true anymore since KVIrc depends only on the Qt library from | |
87 | TrollTech and runs also on platforms where KDE can't run. | |
88 | ||
89 | ||
90 | 1.2 Why KVIrc is not totally integrated in KDE ? | |
91 | ||
92 | First of all read the answer for question 1.1. | |
93 | We could provide a more complete integration by the means of conditional | |
94 | compilation but since it would require additional efforts to synchronize | |
95 | the KVIrc sources with the KDE library changes we choose not to do it. | |
96 | If you wish to contribute some code that better integrates KVIrc with | |
97 | KDE you're welcome to do so: we will happily accept your patches as long | |
98 | as you promise to mantain them :) | |
99 | ||
100 | ||
101 | -------------------------------------------------------------------------------- | |
102 | 2. COMPILATION | |
103 | -------------------------------------------------------------------------------- | |
104 | ||
26738bdd | 105 | 2.1 I can't compile kvirc from svn, what's wrong? |
757b17ce STS |
106 | |
107 | Have you checked the requirements ? | |
108 | *Carefully* read the INSTALL file that comes with the distribution: | |
109 | it contains the informations to solve 95% of the problems that | |
110 | you may encounter. You may also try digging in our mailing list | |
111 | archive: many problems have been solved there. | |
112 | If you still can't get it to work please either subscribe to the KVIrc | |
113 | mailing list (see www.kvirc.net) and report the problem there or join #kvirc | |
114 | on IRCNet and ask the channel members for a hint. | |
115 | ||
116 | ||
117 | 2.2 Internal Compiler Errors ? | |
118 | ||
119 | Compile errors like this: | |
120 | In file [somefile]:[someline] internal error: | |
121 | Segmentation fault | |
122 | Please submit a full bug report, | |
123 | with preprocessed source if appropriate. | |
124 | See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions. | |
125 | ||
126 | This error can have multiple reasons. | |
127 | 1) A compiler bug: my GCC 3.2 20020903 (default on RH 8.0) spits | |
128 | out 5-6 of them daily. Usually it is solved by simply restarting the "make" command. | |
129 | If it doesn't go away or if it gets really frequent and annoying you might try to upgrade the compiler. | |
130 | 2) A memory corruption: this is really frequent: one of your memory banks is spitting random bytes | |
131 | sometimes. Usually the problems come out under heavy system load (kernel, KDE or kvirc compilation for example). | |
132 | You can check for memory corruption by trying different RAM modules (or removing them one at a time to discover | |
133 | the broken bank). You can also try a program called memtest and a kernel | |
134 | patch that can force the broken memory banks to be ignored by the kernel (allocated permanently to a dummy kernel task). | |
135 | These tools can be found by digging the web with your favorite search engine. | |
136 | 3) A deeper hardware problem: if upgrading the compiler and changing memory banks doesn't help then | |
137 | it *might* be a deeper hardware problem: bus errors , faulty IDE (or SCSI) controller or even buggy CPU... | |
138 | Well.... | |
139 | ||
140 | ||
141 | 2.3 On Mandrake 10.0 (or other) KVIrc fails to start | |
142 | saying that it can't find libkvisetup.so. | |
143 | ||
144 | Mandrake 10.0 default libtool package is broken. Either upgrade | |
145 | the libtool package or try to run ./autogen.sh --bundled-libtool | |
146 | and then recompile (./configure, make, make install). | |
147 | This *might* apply to other systems too. | |
148 | ||
149 | ||
150 | 2.4 I got 'amarokInterface.cpp:29:31: amarokInterface.moc: No such file or directory'. Whats going wrong? | |
151 | ||
152 | You have to install qt3 devel tools which include uic and moc. If installed, be sure that uic and moc are in PATH. | |
153 | ||
154 | ||
155 | 2.5 Configure complains about a missing libdl.so but I seem to have it | |
156 | ||
157 | The most common causes are two: | |
158 | ||
159 | 1) You have libdl.so.X (where X is usually a number or a set of numbers) but not libdl.so | |
160 | ||
161 | You need to do a symbolic link from libdl.so.X to libdl.so. You do it by entering the directory | |
162 | where libdl.so.X is and issuing a ln -s command, for example: | |
163 | ||
164 | # cd /lib | |
165 | # ls libdl* | |
166 | # ln -s libdl.so.2 libdl.so | |
167 | ||
168 | Then try to ./configure again | |
169 | ||
170 | 2) You don't have a c++ compiler installed | |
171 | ||
172 | The libdl test is the first ./configure test made with a c++ compiler. | |
173 | The confirmation for this error can be found in the config.log file | |
174 | where you can find lines similar to the following: | |
175 | ||
176 | configure:21637: g++ -o conftest conftest.cc -rdynamic -ldl >&5 | |
177 | ./configure: line 1: g++: command not found | |
178 | configure:21643: $? = 127 | |
179 | configure: failed program was: | |
180 | ... | |
181 | ||
182 | Your distribution probably ships the c++ frontend to gcc in a package | |
183 | separated from gcc itself. The package might be also named g++. | |
184 | Look it up on your installation CD and install it, then ./configure again. | |
185 | ||
186 | ------------------------------------------------------------------------------- | |
187 | 3. INSTALLATION | |
188 | ------------------------------------------------------------------------------- | |
189 | ||
190 | 3.1 There is a problem during package installation/creation | |
191 | file /usr/share/services/irc.protocol from install | |
192 | kvirc-version.package conflicts with file from package xxx | |
193 | ||
194 | This is a known issue with all types of packages that handle | |
195 | file conflicts. KVIrc installs the irc protocol handler for KDE | |
196 | and the same is done by ksirc and kopete (and maybe others). | |
197 | There is no particular reason for KVIrc to fix it in the core | |
198 | distribution (and there is also no simple way to do it). | |
199 | Either the package maker must exclude the irc.protocol | |
200 | file from installation or mark it as "optional" in some way or the | |
201 | users must use some sort of "force" flag during the installation. | |
202 | ||
203 | ||
204 | ------------------------------------------------------------------------------- | |
205 | 4. IRC | |
206 | ------------------------------------------------------------------------------- | |
207 | ||
208 | 4.1 How do i join a channel ? | |
209 | ||
210 | Type "/join #channelname" | |
211 | ||
212 | ||
213 | 4.2 How do i autojoin channels? | |
214 | ||
215 | There are many ways to do it. | |
216 | For example: | |
217 | Select "Scripting/Events" from the KVIrc menu. | |
218 | Lookup the "OnIrc" entry in the left pane of the window that pops up. | |
219 | Right-click on that entry and select "Add handler". | |
220 | A "default" handler will be created. In the right pane write: | |
221 | join #kvirc | |
222 | join #kde-users | |
223 | join #somechannel | |
224 | .... | |
225 | Now click OK and you're done: you have just created a handler for an event. | |
226 | Reconnect to a server and KVIrc will autojoin the channels that you have selected. | |
227 | Another option (nicer, if you use several servers) is to go to the servers options | |
228 | page and click the button labeled 'Advanced' on the entry for the single server. | |
229 | There is a server-specific "On connect execute..." event. | |
230 | ||
231 | ||
232 | 4.3 How do I enable automatic NickServ identification ? | |
233 | ||
234 | KVIrc supports two kind of NickServ identification rules: per-network and global. | |
235 | The per-network rules can be accessed from the server options page. | |
236 | You need to select a network in the list view (not a server!) and then click | |
237 | "Advanced...". In the dialog that appears there is a NickServ tab | |
238 | on that you can add your identification rules. Adding a rule | |
239 | should be straightforward (if you stop the mouse over an item you will likely get a small | |
240 | tool tip with the explaination). Each rule is composed of: | |
241 | - the nickname that is being identified: the rule will be applied only | |
242 | when your current nickname corresponds to this one. | |
243 | - a nick server user mask that must be matched by the NickServ user | |
244 | in order for him to be recognized as the real NickServ asking for | |
245 | identification. You will probably use something like NickServ!service@* | |
246 | - a message regular expression that must be matched by the message | |
247 | that the NickServ sends when requesting the identification. | |
248 | You will probably use something like "If this is your nick, | |
249 | identify yourself with /ns IDENTIFY password" | |
250 | - an identification command that will be executed when all the rules | |
251 | above match. You will probably use something like "ns IDENTIFY yourpassword" | |
252 | The global rules can be created in the IRC::NickServ page of the options dialog | |
253 | (accessible from the Settings/Configure KVIrc... menu). The main difference | |
254 | is that each rule has a server mask that must be matched by the current | |
255 | server name for the rule to be applied. | |
256 | KVIrc first looks in the per-network rules and if none matches it looks | |
257 | in the global rules. | |
258 | ||
259 | ||
260 | 4.4 I can't see my national characters, what's wrong ? | |
261 | ||
262 | There are several ways to fix your national characters display. | |
263 | General encoding: | |
264 | Open the options dialog and go to the "Encoding" page. | |
265 | You can set explicitly the encoding to be used for the whole application. | |
266 | If you choose "Use Language Encoding" KVIrc will try to guess the | |
267 | encoding from your system settings. If this doesn't work then the reasons | |
268 | may be: | |
269 | - Your system settings are wrong | |
270 | You need to fix them | |
271 | - Your server applies some specific encoding to the data | |
272 | See "Server encoding" | |
273 | - You're chatting with people that have different system settings | |
274 | See "Channel & Query encoding" | |
275 | Server encoding | |
276 | Besides the general encoding you can set one encoding per server. | |
277 | This is done in the server options dialog (Click Advanced...). | |
278 | The encoding will be applied to all the text that comes from | |
279 | and goes to the server. If you choose "Use system encoding" | |
280 | then the server will inherit the "General encoding" value above. | |
281 | If this doesn't work then you have either set it incorrectly or | |
282 | you are chatting with people that use different encodings. | |
283 | In this case see "Channel & Query encoding" | |
284 | The server encoding is used also to decode nicknames and | |
285 | channel names on servers that support it. | |
286 | Channel & Query encoding | |
287 | Besides the general and server encoding you can set also per-window | |
288 | encoding in channels and queries. This encoding will be applied | |
289 | ONLY to the text sent to or received from that channel or query. | |
290 | This feature is useful when chatting over a non unicode aware | |
291 | IRC server (nearly all at the time of writing) with people | |
292 | that have settings different than your general defaults or | |
293 | the server default. | |
294 | ||
295 | Keep in mind that IRC has a MAJOR problem with character encoding | |
296 | and in fact the formal definition of the protocol requires it | |
297 | to be only 7bit safe. This means that on some servers you may | |
298 | see your national characters eaten by the IRC network and there | |
299 | is almost nothing you can do about that... | |
300 | ||
301 | UTF-8 is the best encoding we can get on IRC. Try to convince | |
302 | other people to use it :) | |
303 | ||
304 | ||
305 | 4.5 I can't connect to an IPV6 server, what's wrong ? | |
306 | ||
307 | First of all make sure that your IPV6 stack is setup correctly. | |
308 | Can you ping6 other IPV6 other machines ? | |
309 | ||
310 | # ping6 www.6bone.net | |
311 | ||
312 | Is the IPV6 support enabled in your kvirc executable ? | |
313 | To find it out , try | |
314 | ||
315 | /echo $features | |
316 | ||
317 | in the KVIrc commandline. You should get a comma separated list of | |
318 | features compiled in the executable. If the list contains "IPv6" then | |
319 | the support is compiled in, otherwise you must check your compilation | |
320 | stage to guess what went wrong. | |
321 | To connect to an IPV6 server you can use /server -i <servername> | |
322 | If you can ping other IPV6 machines, the IPv6 support is compiled in your | |
323 | executable and you still can't connect to an *existing* IPv6 server then | |
324 | you may have found a bug :) Report it. | |
325 | ||
326 | ||
327 | 4.6 /me doesn't support the '$' character, what's wrong ? | |
328 | ||
329 | This is NOT a bug : this is a feature : kvirc supports (and substitutes!) variables in all the commands. | |
330 | You can escape your $ sign by using the backslash character: /me has gained \$100 will work correctly | |
331 | ||
332 | ||
333 | 4.7 /me doesn't support the '"' (double quote) character, what's wrong ? | |
334 | ||
335 | This is NOT a bug : this is a feature : a string enclosed in double quotes will have its whitespace preserved | |
336 | while the other strings will have the whitespace simplified. This is valid for ANY command. | |
337 | You can escape your " sign by using the backslash character: /me feels a bit \"foo\" will work correctly | |
338 | ||
339 | ||
340 | 4.8 /me can't contain the ';' character, what's wrong ? | |
341 | ||
342 | This is NOT a bug : this is a feature : kvirc supports multiple commands on a single line and uses ';' as a command | |
343 | separator. You can escape your ';' sign by using the backslash character: /me is hungry \;) will work correctly. | |
344 | ||
345 | ||
346 | 4.9 I try to do a /whois on nick blah\ but i get the reply for blah (without the slash) | |
347 | ||
348 | In KVIrc /whois is a scripting command and the nickname is a command parameter. | |
349 | In scripting commands the backslash is a special character with several "escape" | |
350 | meanings. To include a literal backslash inside a parameter you MUST double it, | |
351 | thus the correct command to issue is /whois blah\\ | |
352 | ||
353 | ||
354 | 4.10 What is AVATAR protocol? Is there any documentation about it ? | |
355 | ||
356 | AVATAR is a simple CTCP based protocol that allows associating images (avatars) | |
357 | to IRC users. The protocol definition is simple: | |
358 | ||
359 | - CTCP AVATAR QUERY: | |
360 | :<source> PRIVMSG <target> :<0x01>AVATAR<0x01> | |
361 | Queries the avatar of the <target>. | |
362 | - CTCP AVATAR REPLY: | |
363 | :<source> NOTICE <target> :<0x01>AVATAR <avatar_url><0x01> | |
364 | Asserts that the <source> user's avatar is located at <avatar_url> | |
365 | that usually will be something like http://server.domain.top/avatarimage.jpg. | |
366 | ||
367 | KVIrc supports also DCC based avatars that are simply "offered" to the | |
368 | remote users. In this case the <avatar_url> does not contain the http:// | |
369 | prefix but is a simple file name. The remote users request the avatars | |
370 | by issuing a DCC GET command. This is an useful but secondary extension | |
371 | and can be ignored by simple implementations. If you need more informations | |
372 | about this method please write to pragma at kvirc dot net. | |
373 | ||
374 | ||
375 | 4.11 The log files seem to be saved randomly, when I open a log | |
376 | I can see only a part of the text that actually should be there | |
377 | ||
378 | KVIrc does not explicitly flush the log files while writing them. The OS | |
379 | (or the underlying C library) does the flush operation when necessary. | |
380 | This means that blocks of the log file will be added to the file on disk | |
381 | only once in a while. If you really need to see the logs in real time | |
382 | then you can explicitly flush the log files by scripting. | |
383 | Just add a script like this to your OnKVIrcStartup event: | |
384 | ||
385 | timer(flushlogfiles,30000) | |
386 | { | |
387 | foreach(%x,$window.list(all,any)) | |
388 | { | |
389 | if($log.file(%x)) | |
390 | { | |
391 | echo -w=%x "Flushing log file..."; | |
392 | log.flush -w=%x; | |
393 | } | |
394 | } | |
395 | } | |
396 | ||
397 | The script above will flush all the log files every 30 seconds. You may | |
398 | remove the echo statement if you're annoyed by the output :) | |
399 | ||
400 | ||
401 | 4.12 The DCC transfers seem to be interrupted after the first few bytes: | |
402 | KVIrc says that the remote end has closed the connection. | |
403 | ||
404 | Make sure that you don't have activated the "Send ACK for byte 0" | |
405 | option in "Options->DCC->File Transfer->Advanced". | |
406 | This option should be used ONLY IF you have problems without. | |
407 | ||
408 | ||
409 | ||
410 | ||
411 | ------------------------------------------------------------------------------- | |
412 | 5. ADVANCED IRC FEATURES | |
413 | ------------------------------------------------------------------------------- | |
414 | ||
415 | ||
416 | 5.1 How do I connect to an SSL-enabled IRC server ? | |
417 | ||
418 | Use /server -s <servername> | |
419 | It should work also over IPV6. | |
420 | If it doesn't work then your executable might have no SSL support compiled in. | |
421 | To find it out type | |
422 | ||
423 | /echo $features | |
424 | ||
425 | in the KVIrc commandline. If "SSL" is not in the list then you must go back | |
426 | to the compilation phase and see what went wrong. | |
427 | ||
428 | ||
429 | 5.1 How do I use DCC over SSL ? | |
430 | ||
431 | /dcc.chat -s <nickname> should work | |
432 | ||
433 | ||
434 | 5.3 Do I need a SSL certificate ? | |
435 | ||
436 | No you shouldn't need it, but you can use it if you want. | |
437 | ||
438 | ||
439 | 5.4 How do I create a SSL certificate ? | |
440 | ||
441 | A test self-signed certificate can be created by using the CA.pl perl script included | |
442 | in the OpenSSL distribution. It will be something like CA.pl -newcert | |
443 | ||
444 | ||
445 | 5.5 I can't get KVIrc to use my SSL certificate in a DCC, what's wrong ? | |
446 | ||
447 | The SSL protocol doesn't require the "client" to send the certificate: it is | |
448 | sent only if the "server side" requests it (it is not the KVIrc case). | |
449 | The server side may have a certificate and you can set it in the SSL options page. | |
450 | If your Private Key is stored in the certificate file pass the same filename | |
451 | to both Certificate and PrivateKey option. | |
452 | Remember to set the password if needed. | |
453 | ||
454 | ||
455 | 5.6 KVIrc crashes when a certificate is used under Windows, what's wrong ? | |
456 | ||
457 | This is probably a bug of the SSL dll shipped with the windows version of KVIrc. | |
458 | You might try with a different version of this dll. | |
459 | ||
460 | ||
461 | 5.7 Can I encrypt my messages? | |
462 | (or: How do I enable mircryption (encryption in general) for a specific channel?) | |
463 | ||
464 | KVIrc supports encryption for channels, queries and dcc chats by the means | |
465 | of text transformation engines. You can access the list of the engines | |
466 | by clicking the button with the yellow lock in the upper right corner | |
467 | of the window. In the pane that will appear select "use text transformation" | |
468 | and then choose one of the available engines. | |
469 | The Mircryption engine is an implementation of the mircryption protocol and | |
470 | supports both ECB and CBC mode. There is also a wide variety of Rijndael based encryption | |
471 | engies as well as some funky other text transform tricks. | |
472 | Most of the engines will need a pair of keys to encrypt and decrypt text | |
473 | and in most cases you will use the same key for both encrypting and | |
474 | decrypting. In the particular case of Mircryption you can enable | |
475 | CBC mode by prefixing your key(s) with the "cbc:" string. | |
476 | Once you have entered the keys just click on OK and start "talking" in the | |
477 | window. Any encrypted text will have a "lock" overlay in his icon. | |
478 | If you want to avoid encrypting a particular text line (maybe because | |
479 | you want to allow everyone on a channel to read it) you can start | |
480 | the line with a CTRL+P character. | |
481 | ||
482 | ||
483 | 5.8 How do I execute a process and send its output to a channel ? | |
484 | ||
485 | The straight way to do this is | |
486 | ||
487 | /exec("your command here"){ say $1; } | |
488 | ||
489 | Since it is not too much "user friendly", you can alias it in | |
490 | the following way: | |
491 | ||
492 | alias(runandsay) | |
493 | { | |
494 | exec($0-){ say $1; } | |
495 | } | |
496 | ||
497 | Then you would simply run | |
498 | ||
499 | /runandsay cat /proc/cpuinfo | |
500 | ||
501 | in the channel window you want the output sent to. | |
502 | ||
503 | Keep in mind that this is a "brute" approach and I'm sure that after | |
504 | reading some documentation (start from /help exec) you will be able to | |
505 | find more elaborate and nice ways to send a process output to a channel/query. | |
506 | ||
507 | ||
508 | 5.9 How do I keep channels and queries open after a disconnect ? | |
509 | ||
510 | KVIrc can keep your channels and queries open when the connection terminates | |
511 | unexpectedly. This will probably make sense only if you plan to | |
512 | reconnect to the same server or at least the same network (either manually | |
513 | or automatically). | |
514 | ||
515 | An "unexpected disconnect" is a connection termination not explicitly caused by | |
516 | the KVIrc user. This means that the connection is interrupted, either | |
517 | by the networking stack or by the remote server, without the user | |
518 | having sent a QUIT message (by the means of the /quit command or by pressing | |
519 | the "disconnect" button in the toolbar). | |
520 | ||
521 | All this because the normal behaviour of a /QUIT command is, yes, to quit | |
522 | your current connection without leaving traces of it. | |
523 | ||
524 | To keep the channels and queries open you just need to select the | |
525 | relative options in the "Connection" page of the options dialog | |
526 | (on unexpected disconnect: "Keep channels open" an/or "Keep queries open"). | |
527 | ||
528 | Then you might also select "Automatically reconnect", "Rejoin channels | |
529 | after reconnect" and "Reopen queries after reconnect" to bring your | |
530 | "dead windows" to life again :) | |
531 | ||
532 | Finally, you can simulate an "unexpected disconnection" by using the -u switch | |
533 | of the /quit command. This might be useful when you want to explicitly | |
534 | quit your connection while leaving the channels and queries open... maybe | |
535 | because you need to renew the connection to your ISP before reconnecting ;) | |
536 | ||
537 | ||
538 | 5.10 I have an unreliable ISP connection but KVIrc takes a really long | |
539 | time to detect a disconnection and reconnect. | |
540 | ||
541 | KVIrc doesn't detect itself that the connection has dropped until your | |
542 | kernel explicitly times out. KVIrc measures lag, instead, that will | |
543 | probably grow up a lot when the connection has dropped. | |
544 | You can write a handler for the OnLagCheck event that will detect | |
545 | the lag growing over a certain threshold and reconnect. | |
546 | This involves opening the event editor, selecting OnLagCheck | |
547 | and choosing "Add handler" from the right mouse menu. | |
548 | In the handler write: | |
549 | ||
550 | if($1 > 30000){ quit -f -u; } | |
551 | ||
552 | 30000 is just a sample threshold (it means 30000 milliseconds!), replace | |
553 | it with a value of your choice. | |
554 | quit -f -u will close the current connection immediately (-f = force) | |
555 | and will simulate an "unexpected disconnection" condition (-u = unexpected). | |
556 | If you then enable automatic reconnection (see answer for question 5.9) | |
557 | in the options dialog, KVIrc will automatically reconnect and rejoin channels. | |
558 | ||
559 | ||
560 | 5.11 I'm in a LAN and KVIrc uses a wrong IP address in dcc transfers | |
561 | ||
562 | KVIrc supports a couple of methods for guessing the right IP address for | |
563 | DCC transfers: you only have to guide it a bit :) | |
564 | ||
565 | The first thing to try is "Guess address from IRC when unroutable" (Options->DCC). | |
566 | This will perform a lookup on your own IRC mask once you connect | |
567 | to an IRC server and use the address as source in DCC transfers. | |
568 | (You need to reconnect to the server to make this option work!) | |
569 | This trick will fail when your hostmask is cloaked (mode +x on recent IRC servers): | |
570 | KVIrc will tell you that it couldn't look up the hostname and give up. | |
571 | ||
572 | In this case you might try to set a fixed address to be sent as source | |
573 | in the DCC transfers: you just need to fill in the *IP address* of your | |
574 | router in the option field. This field doesn't support hostname lookups | |
575 | and it won't update automatically when you router's IP changes. | |
576 | However, if you router's IP has a dns entry, you can ask KVIrc to fill | |
577 | this field with a simple script to be performed at every connection. | |
578 | ||
579 | event(OnIRCConnectionEstabilished,updatedccsource) | |
580 | { | |
581 | ahost(yourrouterhostname.dyndns.org) | |
582 | { | |
583 | option boolDCCSendFakeAddressByDefault 1 | |
584 | if($1)option stringDefaultDCCFakeAddress $2 | |
585 | else echo "Couldn't look up the router's hostname" | |
586 | } | |
587 | } | |
588 | ||
589 | When transferring files to other KVIrc clients you may also try the | |
590 | DCC RSEND protocol instead of DCC SEND. It will ask the remote end | |
591 | to listen instead. | |
592 | ||
593 | ------------------------------------------------------------------------------- | |
594 | 6. APPAREANCE | |
595 | ------------------------------------------------------------------------------- | |
596 | ||
597 | 6.1 On Windows KVIrc seems to slow-down sometimes, what's wrong ? | |
598 | ||
599 | This is usually caused by the heavy graphics: try removing some graphic effects like the | |
600 | pseudo-transparency. I have experimented that it happens almost always on 32-bit displays. | |
601 | Switching to 16 or 24 bits may also help. | |
602 | ||
603 | ||
604 | 6.2 I don't see the channel popup menus anymore, what's wrong ? | |
605 | ||
606 | If something went wrong with KVIrc settings (a crash when the script settings | |
607 | were saved ?) or if you have messed with the scripting options and you | |
608 | want to get back the original behaviour (default script) you can choose | |
609 | "Scripting/Restore default script" from the KVIrc menu. | |
610 | (WARNING: It will erase any script modification you have made!) | |
611 | Update: starting with the cvs of 2005.01.17, KVIrc should be able to | |
612 | detect such situations and automatically suggest the re-installation of the | |
613 | default script. | |
614 | ||
615 | 6.3 Does KVIrc support Themes? | |
616 | ||
617 | Yes, KVIrc now has introduced a Theme Manager. You can find it in the Option dialog. | |
618 | From there you can change the way KVIrc looks: fonts, colors, windows behaviour, | |
619 | icons, taskbars, and so on. | |
620 | Once you have changed the theme, you can save it, archive it (tar.bz2 or zip) and share with your friends, | |
621 | or send it to the KVIrc staff to see it published on the web site. | |
622 | ||
623 | ||
624 | 6.4 I hate all that colors, what can I do about it ? | |
625 | ||
626 | By fiddling with the options you can make KVIrc appear even monochromatic. | |
627 | Go to Options/Theme and select the minimalist theme: it will set white text | |
628 | on black background and will disable the displaying of a lot of icons. | |
629 | This is a good starting point for you console addicted hackerz :D | |
630 | ||
631 | ||
632 | 6.5 On Windows, how do I use firefox/opera/any_other_browser to open links instead of explorer ? | |
633 | ||
634 | Go to the "URL Handlers" options page and set | |
635 | ||
636 | run "C:\\path\\to\\your\\browser.exe" "$0" | |
637 | ||
638 | as url handler for the protocol you're interested in (maybe in all). | |
639 | ||
640 | Suepahfly suggests to use | |
641 | ||
642 | rundll32 url.dll,FileProtocolHandler "$0" | |
643 | ||
644 | as url handler to open the url in the default windows browser. | |
645 | ||
646 | ||
647 | ------------------------------------------------------------------------------- | |
648 | 7. CRASH | |
649 | ------------------------------------------------------------------------------- | |
650 | ||
651 | 7.1 KVIrc crashes when the multiline text input is opened (obsolete) | |
652 | ||
653 | If you have installed a new version of KVIrc over a previous installation | |
654 | br if you have changed the Qt libraries that KVIrc is linked to then | |
655 | it might be caused by a broken multiline text editor config. | |
656 | Try removing $HOME/.kvircssexeditorrc and starting KVIrc again. | |
657 | Update: this problem has been completely removed during late 2004 developments | |
658 | by completely rewriting the multiline input. | |
659 | ||
660 | ||
661 | 7.2 What the heck is a gdb stack trace and how do I get it ? | |
662 | ||
663 | A gdb stack trace is a "photography" of the state of the KVIrc internals | |
664 | taken when a certain event has occured. The most common event | |
665 | is a program crash (Segmentation Fault). | |
666 | The stack trace helps (or even allows) the developers to locate the | |
667 | crash cause in the program sources. | |
668 | To obtain a gdb stack trace you must: | |
669 | ||
670 | - Compile KVIrc with the --enable-debug ./configure option. | |
671 | Without this switch the stack trace is USELESS. | |
672 | - Have a working installation of gdb (the gnu debugger) | |
673 | This is usually available on your distribution cd | |
674 | and you may already have it installed. | |
675 | - Run KVirc: | |
676 | # gdb kvirc | |
677 | When the gdb prompt appears write: | |
678 | # (gdb) run -f | |
679 | Make KVIrc crash: gdb will tell something about | |
680 | a signal received by the program. Write then: | |
681 | # (gdb) bt | |
682 | The text you see is the stack trace you wanted :) | |
683 | Copy+Paste+Send it to pragma at kvirc dot net or the mailing list. | |
684 | ||
685 | ||
686 | 7.3 KVIrc hangs up, but doesn't crash. How do i report debug informations ? | |
687 | ||
688 | Use gdb to get a stack trace as in answer to question 7.2. | |
689 | Since your KVIrc doesn't crash you will have to interrupt the execution | |
690 | manually while it is hung up. You can do it by pressing CTRL+C in gdb. | |
691 | ||
692 | ||
693 | 7.4 KVIrc exits by itself or simply "disappears" without any apparent reason. | |
694 | ||
695 | Yes. It probably crashed but you haven't noticed that. | |
696 | We NEED a gdb stack trace or a working procedure to reproduce the | |
697 | behaviour in order to hunt it. | |
698 | ||
699 | ||
700 | 7.5 KVIrc dies randomly and "Alarm Clock" is printed in the console | |
701 | ||
702 | Try recompiling kvirc by adding the --with-ignore-sigalarm switch to | |
703 | ./configure. (Note: the reason of the incoming SIGALARM signals | |
704 | on certain systems is acually unknown. Please send hints to pragma at kvirc dot net). | |
705 | ||
706 | ||
707 | 7.6 KVIrc dies when using alias(identify){ identify password; }; | |
708 | ||
709 | This is infinite recursion: a programming error. | |
710 | Take a look at http://en.wikipedia.org/wiki/Infinite_loop , learn | |
711 | that once for all and fix your script. | |
712 |