KVirc – next generation IRC client
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

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