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.
713 lines
30 KiB
713 lines
30 KiB
15 years ago
|
1. PROJECT RELATED QUESTIONS
|
||
|
|
||
|
1.1 What is KVIrc ? What the "KVIrc" name stands for ?
|
||
|
1.2 Why KVIrc is not totally integrated in KDE ?
|
||
|
|
||
|
|
||
|
2. COMPILATION
|
||
|
|
||
|
2.1 I can't compile kvirc from cvs, what's wrong?
|
||
|
2.2 Internal Compiler Errors ?
|
||
|
2.3 On Mandrake 10.0 (or other) KVIrc fails to start
|
||
|
saying that it can't find libkvisetup.so.
|
||
|
2.4 I got 'amarokInterface.cpp:29:31: amarokInterface.moc: No such file or directory'. Whats going wrong?
|
||
|
2.5 Configure complains about a missing libdl.so but I seem to have it
|
||
|
|
||
|
|
||
|
3. INSTALLATION
|
||
|
|
||
|
3.1 There is a problem during package installation/creation
|
||
|
file /usr/share/services/irc.protocol from install
|
||
|
kvirc-version.package conflicts with file from package xxx
|
||
|
|
||
|
|
||
|
4. IRC
|
||
|
|
||
|
4.1 How do i join a channel ?
|
||
|
4.2 How do i autojoin channels ?
|
||
|
4.3 How do I enable automatic NickServ identification ?
|
||
|
4.4 I can't see my national characters, what's wrong ?
|
||
|
4.5 I can't connect to an IPV6 server, what's wrong ?
|
||
|
4.6 /me doesn't support the '$' character, what's wrong ?
|
||
|
4.7 /me doesn't support the '"' (double quote) character, what's wrong ?
|
||
|
4.8 /me can't contain the ';' character, what's wrong ?
|
||
|
4.9 I try to do a /whois on nick blah\ but i get the reply for blah (without the slash)
|
||
|
4.10 What is AVATAR protocol ? Is there any documentation about it ?
|
||
|
4.11 The log files seem to be saved randomly, when I open a log
|
||
|
I can see only a part of the text that actually should be there
|
||
|
4.12 The DCC transfers seem to be interrupted after the first few bytes:
|
||
|
KVIrc says that the remote end has closed the connection.
|
||
|
|
||
|
|
||
|
5. ADVANCED IRC FEATURES
|
||
|
|
||
|
5.1 How do I connect to an SSL-enabled IRC server ?
|
||
|
5.2 How do I use DCC over SSL ?
|
||
|
5.3 Do I need a SSL certificate ?
|
||
|
5.4 How do I create a SSL certificate ?
|
||
|
5.5 I can't get KVIrc to use my SSL certificate in a DCC, what's wrong ?
|
||
|
5.6 KVIrc crashes when a certificate is used under Windows, what's wrong ?
|
||
|
5.7 How do I enable mircryption (encryption in general) for a specific channel ?
|
||
|
5.8 How do I execute a process and send its output to a channel ?
|
||
|
5.9 How do I keep channels and queries open after a disconnect ?
|
||
|
5.10 I have an unreliable ISP connection but KVIrc takes a really long
|
||
|
time to detect a disconnection and reconnect.
|
||
|
5.11 I'm in a LAN and KVIrc uses a wrong IP address in dcc transfers
|
||
|
|
||
|
6. APPAREANCE
|
||
|
|
||
|
6.1 On Windows KVIrc seems to slow-down sometimes, what's wrong ?
|
||
|
6.2 I don't see the channel popup menus anymore, what's wrong ?
|
||
|
6.3 Does KVIrc support Themes?
|
||
|
6.4 I hate all that colors, what can I do about it ?
|
||
|
6.5 On Windows, how do I use firefox/opera/any_other_browser to open links instead of explorer ?
|
||
|
|
||
|
|
||
|
7. CRASHES
|
||
|
|
||
|
7.1 KVIrc crashes when the multiline text input is opened (obsolete)
|
||
|
7.2 What the heck is a gdb stack trace and how do I get it ?
|
||
|
7.3 KVIrc hangs up, but doesn't crash. How do i report debug informations ?
|
||
|
7.4 KVIrc exits by itself or simply "disappears" without any apparent reason.
|
||
|
7.5 KVIrc dies randomly and "Alarm Clock" is printed in the console
|
||
|
7.6 KVIrc dies when using alias(identify){ identify password; }
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
1. PROJECT RELATED QUESTIONS
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
|
||
|
1.1 What is KVIrc ?
|
||
|
|
||
|
KVIrc is a cross-platform Internet Relay Chat client.
|
||
|
The name stands for K Visual Internet Relay Chat client.
|
||
|
The K prefix comes from the old times, when KVIrc was bound to the
|
||
|
KDE project and depended on the KDE libraries to run. Actually this
|
||
|
is not true anymore since KVIrc depends only on the Qt library from
|
||
|
TrollTech and runs also on platforms where KDE can't run.
|
||
|
|
||
|
|
||
|
1.2 Why KVIrc is not totally integrated in KDE ?
|
||
|
|
||
|
First of all read the answer for question 1.1.
|
||
|
We could provide a more complete integration by the means of conditional
|
||
|
compilation but since it would require additional efforts to synchronize
|
||
|
the KVIrc sources with the KDE library changes we choose not to do it.
|
||
|
If you wish to contribute some code that better integrates KVIrc with
|
||
|
KDE you're welcome to do so: we will happily accept your patches as long
|
||
|
as you promise to mantain them :)
|
||
|
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
2. COMPILATION
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
2.1 I can't compile kvirc from svn, what's wrong?
|
||
|
|
||
|
Have you checked the requirements ?
|
||
|
*Carefully* read the INSTALL file that comes with the distribution:
|
||
|
it contains the informations to solve 95% of the problems that
|
||
|
you may encounter. You may also try digging in our mailing list
|
||
|
archive: many problems have been solved there.
|
||
|
If you still can't get it to work please either subscribe to the KVIrc
|
||
|
mailing list (see www.kvirc.net) and report the problem there or join #kvirc
|
||
|
on IRCNet and ask the channel members for a hint.
|
||
|
|
||
|
|
||
|
2.2 Internal Compiler Errors ?
|
||
|
|
||
|
Compile errors like this:
|
||
|
In file [somefile]:[someline] internal error:
|
||
|
Segmentation fault
|
||
|
Please submit a full bug report,
|
||
|
with preprocessed source if appropriate.
|
||
|
See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.
|
||
|
|
||
|
This error can have multiple reasons.
|
||
|
1) A compiler bug: my GCC 3.2 20020903 (default on RH 8.0) spits
|
||
|
out 5-6 of them daily. Usually it is solved by simply restarting the "make" command.
|
||
|
If it doesn't go away or if it gets really frequent and annoying you might try to upgrade the compiler.
|
||
|
2) A memory corruption: this is really frequent: one of your memory banks is spitting random bytes
|
||
|
sometimes. Usually the problems come out under heavy system load (kernel, KDE or kvirc compilation for example).
|
||
|
You can check for memory corruption by trying different RAM modules (or removing them one at a time to discover
|
||
|
the broken bank). You can also try a program called memtest and a kernel
|
||
|
patch that can force the broken memory banks to be ignored by the kernel (allocated permanently to a dummy kernel task).
|
||
|
These tools can be found by digging the web with your favorite search engine.
|
||
|
3) A deeper hardware problem: if upgrading the compiler and changing memory banks doesn't help then
|
||
|
it *might* be a deeper hardware problem: bus errors , faulty IDE (or SCSI) controller or even buggy CPU...
|
||
|
Well....
|
||
|
|
||
|
|
||
|
2.3 On Mandrake 10.0 (or other) KVIrc fails to start
|
||
|
saying that it can't find libkvisetup.so.
|
||
|
|
||
|
Mandrake 10.0 default libtool package is broken. Either upgrade
|
||
|
the libtool package or try to run ./autogen.sh --bundled-libtool
|
||
|
and then recompile (./configure, make, make install).
|
||
|
This *might* apply to other systems too.
|
||
|
|
||
|
|
||
|
2.4 I got 'amarokInterface.cpp:29:31: amarokInterface.moc: No such file or directory'. Whats going wrong?
|
||
|
|
||
|
You have to install qt3 devel tools which include uic and moc. If installed, be sure that uic and moc are in PATH.
|
||
|
|
||
|
|
||
|
2.5 Configure complains about a missing libdl.so but I seem to have it
|
||
|
|
||
|
The most common causes are two:
|
||
|
|
||
|
1) You have libdl.so.X (where X is usually a number or a set of numbers) but not libdl.so
|
||
|
|
||
|
You need to do a symbolic link from libdl.so.X to libdl.so. You do it by entering the directory
|
||
|
where libdl.so.X is and issuing a ln -s command, for example:
|
||
|
|
||
|
# cd /lib
|
||
|
# ls libdl*
|
||
|
# ln -s libdl.so.2 libdl.so
|
||
|
|
||
|
Then try to ./configure again
|
||
|
|
||
|
2) You don't have a c++ compiler installed
|
||
|
|
||
|
The libdl test is the first ./configure test made with a c++ compiler.
|
||
|
The confirmation for this error can be found in the config.log file
|
||
|
where you can find lines similar to the following:
|
||
|
|
||
|
configure:21637: g++ -o conftest conftest.cc -rdynamic -ldl >&5
|
||
|
./configure: line 1: g++: command not found
|
||
|
configure:21643: $? = 127
|
||
|
configure: failed program was:
|
||
|
...
|
||
|
|
||
|
Your distribution probably ships the c++ frontend to gcc in a package
|
||
|
separated from gcc itself. The package might be also named g++.
|
||
|
Look it up on your installation CD and install it, then ./configure again.
|
||
|
|
||
|
-------------------------------------------------------------------------------
|
||
|
3. INSTALLATION
|
||
|
-------------------------------------------------------------------------------
|
||
|
|
||
|
3.1 There is a problem during package installation/creation
|
||
|
file /usr/share/services/irc.protocol from install
|
||
|
kvirc-version.package conflicts with file from package xxx
|
||
|
|
||
|
This is a known issue with all types of packages that handle
|
||
|
file conflicts. KVIrc installs the irc protocol handler for KDE
|
||
|
and the same is done by ksirc and kopete (and maybe others).
|
||
|
There is no particular reason for KVIrc to fix it in the core
|
||
|
distribution (and there is also no simple way to do it).
|
||
|
Either the package maker must exclude the irc.protocol
|
||
|
file from installation or mark it as "optional" in some way or the
|
||
|
users must use some sort of "force" flag during the installation.
|
||
|
|
||
|
|
||
|
-------------------------------------------------------------------------------
|
||
|
4. IRC
|
||
|
-------------------------------------------------------------------------------
|
||
|
|
||
|
4.1 How do i join a channel ?
|
||
|
|
||
|
Type "/join #channelname"
|
||
|
|
||
|
|
||
|
4.2 How do i autojoin channels?
|
||
|
|
||
|
There are many ways to do it.
|
||
|
For example:
|
||
|
Select "Scripting/Events" from the KVIrc menu.
|
||
|
Lookup the "OnIrc" entry in the left pane of the window that pops up.
|
||
|
Right-click on that entry and select "Add handler".
|
||
|
A "default" handler will be created. In the right pane write:
|
||
|
join #kvirc
|
||
|
join #kde-users
|
||
|
join #somechannel
|
||
|
....
|
||
|
Now click OK and you're done: you have just created a handler for an event.
|
||
|
Reconnect to a server and KVIrc will autojoin the channels that you have selected.
|
||
|
Another option (nicer, if you use several servers) is to go to the servers options
|
||
|
page and click the button labeled 'Advanced' on the entry for the single server.
|
||
|
There is a server-specific "On connect execute..." event.
|
||
|
|
||
|
|
||
|
4.3 How do I enable automatic NickServ identification ?
|
||
|
|
||
|
KVIrc supports two kind of NickServ identification rules: per-network and global.
|
||
|
The per-network rules can be accessed from the server options page.
|
||
|
You need to select a network in the list view (not a server!) and then click
|
||
|
"Advanced...". In the dialog that appears there is a NickServ tab
|
||
|
on that you can add your identification rules. Adding a rule
|
||
|
should be straightforward (if you stop the mouse over an item you will likely get a small
|
||
|
tool tip with the explaination). Each rule is composed of:
|
||
|
- the nickname that is being identified: the rule will be applied only
|
||
|
when your current nickname corresponds to this one.
|
||
|
- a nick server user mask that must be matched by the NickServ user
|
||
|
in order for him to be recognized as the real NickServ asking for
|
||
|
identification. You will probably use something like NickServ!service@*
|
||
|
- a message regular expression that must be matched by the message
|
||
|
that the NickServ sends when requesting the identification.
|
||
|
You will probably use something like "If this is your nick,
|
||
|
identify yourself with /ns IDENTIFY password"
|
||
|
- an identification command that will be executed when all the rules
|
||
|
above match. You will probably use something like "ns IDENTIFY yourpassword"
|
||
|
The global rules can be created in the IRC::NickServ page of the options dialog
|
||
|
(accessible from the Settings/Configure KVIrc... menu). The main difference
|
||
|
is that each rule has a server mask that must be matched by the current
|
||
|
server name for the rule to be applied.
|
||
|
KVIrc first looks in the per-network rules and if none matches it looks
|
||
|
in the global rules.
|
||
|
|
||
|
|
||
|
4.4 I can't see my national characters, what's wrong ?
|
||
|
|
||
|
There are several ways to fix your national characters display.
|
||
|
General encoding:
|
||
|
Open the options dialog and go to the "Encoding" page.
|
||
|
You can set explicitly the encoding to be used for the whole application.
|
||
|
If you choose "Use Language Encoding" KVIrc will try to guess the
|
||
|
encoding from your system settings. If this doesn't work then the reasons
|
||
|
may be:
|
||
|
- Your system settings are wrong
|
||
|
You need to fix them
|
||
|
- Your server applies some specific encoding to the data
|
||
|
See "Server encoding"
|
||
|
- You're chatting with people that have different system settings
|
||
|
See "Channel & Query encoding"
|
||
|
Server encoding
|
||
|
Besides the general encoding you can set one encoding per server.
|
||
|
This is done in the server options dialog (Click Advanced...).
|
||
|
The encoding will be applied to all the text that comes from
|
||
|
and goes to the server. If you choose "Use system encoding"
|
||
|
then the server will inherit the "General encoding" value above.
|
||
|
If this doesn't work then you have either set it incorrectly or
|
||
|
you are chatting with people that use different encodings.
|
||
|
In this case see "Channel & Query encoding"
|
||
|
The server encoding is used also to decode nicknames and
|
||
|
channel names on servers that support it.
|
||
|
Channel & Query encoding
|
||
|
Besides the general and server encoding you can set also per-window
|
||
|
encoding in channels and queries. This encoding will be applied
|
||
|
ONLY to the text sent to or received from that channel or query.
|
||
|
This feature is useful when chatting over a non unicode aware
|
||
|
IRC server (nearly all at the time of writing) with people
|
||
|
that have settings different than your general defaults or
|
||
|
the server default.
|
||
|
|
||
|
Keep in mind that IRC has a MAJOR problem with character encoding
|
||
|
and in fact the formal definition of the protocol requires it
|
||
|
to be only 7bit safe. This means that on some servers you may
|
||
|
see your national characters eaten by the IRC network and there
|
||
|
is almost nothing you can do about that...
|
||
|
|
||
|
UTF-8 is the best encoding we can get on IRC. Try to convince
|
||
|
other people to use it :)
|
||
|
|
||
|
|
||
|
4.5 I can't connect to an IPV6 server, what's wrong ?
|
||
|
|
||
|
First of all make sure that your IPV6 stack is setup correctly.
|
||
|
Can you ping6 other IPV6 other machines ?
|
||
|
|
||
|
# ping6 www.6bone.net
|
||
|
|
||
|
Is the IPV6 support enabled in your kvirc executable ?
|
||
|
To find it out , try
|
||
|
|
||
|
/echo $features
|
||
|
|
||
|
in the KVIrc commandline. You should get a comma separated list of
|
||
|
features compiled in the executable. If the list contains "IPv6" then
|
||
|
the support is compiled in, otherwise you must check your compilation
|
||
|
stage to guess what went wrong.
|
||
|
To connect to an IPV6 server you can use /server -i <servername>
|
||
|
If you can ping other IPV6 machines, the IPv6 support is compiled in your
|
||
|
executable and you still can't connect to an *existing* IPv6 server then
|
||
|
you may have found a bug :) Report it.
|
||
|
|
||
|
|
||
|
4.6 /me doesn't support the '$' character, what's wrong ?
|
||
|
|
||
|
This is NOT a bug : this is a feature : kvirc supports (and substitutes!) variables in all the commands.
|
||
|
You can escape your $ sign by using the backslash character: /me has gained \$100 will work correctly
|
||
|
|
||
|
|
||
|
4.7 /me doesn't support the '"' (double quote) character, what's wrong ?
|
||
|
|
||
|
This is NOT a bug : this is a feature : a string enclosed in double quotes will have its whitespace preserved
|
||
|
while the other strings will have the whitespace simplified. This is valid for ANY command.
|
||
|
You can escape your " sign by using the backslash character: /me feels a bit \"foo\" will work correctly
|
||
|
|
||
|
|
||
|
4.8 /me can't contain the ';' character, what's wrong ?
|
||
|
|
||
|
This is NOT a bug : this is a feature : kvirc supports multiple commands on a single line and uses ';' as a command
|
||
|
separator. You can escape your ';' sign by using the backslash character: /me is hungry \;) will work correctly.
|
||
|
|
||
|
|
||
|
4.9 I try to do a /whois on nick blah\ but i get the reply for blah (without the slash)
|
||
|
|
||
|
In KVIrc /whois is a scripting command and the nickname is a command parameter.
|
||
|
In scripting commands the backslash is a special character with several "escape"
|
||
|
meanings. To include a literal backslash inside a parameter you MUST double it,
|
||
|
thus the correct command to issue is /whois blah\\
|
||
|
|
||
|
|
||
|
4.10 What is AVATAR protocol? Is there any documentation about it ?
|
||
|
|
||
|
AVATAR is a simple CTCP based protocol that allows associating images (avatars)
|
||
|
to IRC users. The protocol definition is simple:
|
||
|
|
||
|
- CTCP AVATAR QUERY:
|
||
|
:<source> PRIVMSG <target> :<0x01>AVATAR<0x01>
|
||
|
Queries the avatar of the <target>.
|
||
|
- CTCP AVATAR REPLY:
|
||
|
:<source> NOTICE <target> :<0x01>AVATAR <avatar_url><0x01>
|
||
|
Asserts that the <source> user's avatar is located at <avatar_url>
|
||
|
that usually will be something like http://server.domain.top/avatarimage.jpg.
|
||
|
|
||
|
KVIrc supports also DCC based avatars that are simply "offered" to the
|
||
|
remote users. In this case the <avatar_url> does not contain the http://
|
||
|
prefix but is a simple file name. The remote users request the avatars
|
||
|
by issuing a DCC GET command. This is an useful but secondary extension
|
||
|
and can be ignored by simple implementations. If you need more informations
|
||
|
about this method please write to pragma at kvirc dot net.
|
||
|
|
||
|
|
||
|
4.11 The log files seem to be saved randomly, when I open a log
|
||
|
I can see only a part of the text that actually should be there
|
||
|
|
||
|
KVIrc does not explicitly flush the log files while writing them. The OS
|
||
|
(or the underlying C library) does the flush operation when necessary.
|
||
|
This means that blocks of the log file will be added to the file on disk
|
||
|
only once in a while. If you really need to see the logs in real time
|
||
|
then you can explicitly flush the log files by scripting.
|
||
|
Just add a script like this to your OnKVIrcStartup event:
|
||
|
|
||
|
timer(flushlogfiles,30000)
|
||
|
{
|
||
|
foreach(%x,$window.list(all,any))
|
||
|
{
|
||
|
if($log.file(%x))
|
||
|
{
|
||
|
echo -w=%x "Flushing log file...";
|
||
|
log.flush -w=%x;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
The script above will flush all the log files every 30 seconds. You may
|
||
|
remove the echo statement if you're annoyed by the output :)
|
||
|
|
||
|
|
||
|
4.12 The DCC transfers seem to be interrupted after the first few bytes:
|
||
|
KVIrc says that the remote end has closed the connection.
|
||
|
|
||
|
Make sure that you don't have activated the "Send ACK for byte 0"
|
||
|
option in "Options->DCC->File Transfer->Advanced".
|
||
|
This option should be used ONLY IF you have problems without.
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
-------------------------------------------------------------------------------
|
||
|
5. ADVANCED IRC FEATURES
|
||
|
-------------------------------------------------------------------------------
|
||
|
|
||
|
|
||
|
5.1 How do I connect to an SSL-enabled IRC server ?
|
||
|
|
||
|
Use /server -s <servername>
|
||
|
It should work also over IPV6.
|
||
|
If it doesn't work then your executable might have no SSL support compiled in.
|
||
|
To find it out type
|
||
|
|
||
|
/echo $features
|
||
|
|
||
|
in the KVIrc commandline. If "SSL" is not in the list then you must go back
|
||
|
to the compilation phase and see what went wrong.
|
||
|
|
||
|
|
||
|
5.1 How do I use DCC over SSL ?
|
||
|
|
||
|
/dcc.chat -s <nickname> should work
|
||
|
|
||
|
|
||
|
5.3 Do I need a SSL certificate ?
|
||
|
|
||
|
No you shouldn't need it, but you can use it if you want.
|
||
|
|
||
|
|
||
|
5.4 How do I create a SSL certificate ?
|
||
|
|
||
|
A test self-signed certificate can be created by using the CA.pl perl script included
|
||
|
in the OpenSSL distribution. It will be something like CA.pl -newcert
|
||
|
|
||
|
|
||
|
5.5 I can't get KVIrc to use my SSL certificate in a DCC, what's wrong ?
|
||
|
|
||
|
The SSL protocol doesn't require the "client" to send the certificate: it is
|
||
|
sent only if the "server side" requests it (it is not the KVIrc case).
|
||
|
The server side may have a certificate and you can set it in the SSL options page.
|
||
|
If your Private Key is stored in the certificate file pass the same filename
|
||
|
to both Certificate and PrivateKey option.
|
||
|
Remember to set the password if needed.
|
||
|
|
||
|
|
||
|
5.6 KVIrc crashes when a certificate is used under Windows, what's wrong ?
|
||
|
|
||
|
This is probably a bug of the SSL dll shipped with the windows version of KVIrc.
|
||
|
You might try with a different version of this dll.
|
||
|
|
||
|
|
||
|
5.7 Can I encrypt my messages?
|
||
|
(or: How do I enable mircryption (encryption in general) for a specific channel?)
|
||
|
|
||
|
KVIrc supports encryption for channels, queries and dcc chats by the means
|
||
|
of text transformation engines. You can access the list of the engines
|
||
|
by clicking the button with the yellow lock in the upper right corner
|
||
|
of the window. In the pane that will appear select "use text transformation"
|
||
|
and then choose one of the available engines.
|
||
|
The Mircryption engine is an implementation of the mircryption protocol and
|
||
|
supports both ECB and CBC mode. There is also a wide variety of Rijndael based encryption
|
||
|
engies as well as some funky other text transform tricks.
|
||
|
Most of the engines will need a pair of keys to encrypt and decrypt text
|
||
|
and in most cases you will use the same key for both encrypting and
|
||
|
decrypting. In the particular case of Mircryption you can enable
|
||
|
CBC mode by prefixing your key(s) with the "cbc:" string.
|
||
|
Once you have entered the keys just click on OK and start "talking" in the
|
||
|
window. Any encrypted text will have a "lock" overlay in his icon.
|
||
|
If you want to avoid encrypting a particular text line (maybe because
|
||
|
you want to allow everyone on a channel to read it) you can start
|
||
|
the line with a CTRL+P character.
|
||
|
|
||
|
|
||
|
5.8 How do I execute a process and send its output to a channel ?
|
||
|
|
||
|
The straight way to do this is
|
||
|
|
||
|
/exec("your command here"){ say $1; }
|
||
|
|
||
|
Since it is not too much "user friendly", you can alias it in
|
||
|
the following way:
|
||
|
|
||
|
alias(runandsay)
|
||
|
{
|
||
|
exec($0-){ say $1; }
|
||
|
}
|
||
|
|
||
|
Then you would simply run
|
||
|
|
||
|
/runandsay cat /proc/cpuinfo
|
||
|
|
||
|
in the channel window you want the output sent to.
|
||
|
|
||
|
Keep in mind that this is a "brute" approach and I'm sure that after
|
||
|
reading some documentation (start from /help exec) you will be able to
|
||
|
find more elaborate and nice ways to send a process output to a channel/query.
|
||
|
|
||
|
|
||
|
5.9 How do I keep channels and queries open after a disconnect ?
|
||
|
|
||
|
KVIrc can keep your channels and queries open when the connection terminates
|
||
|
unexpectedly. This will probably make sense only if you plan to
|
||
|
reconnect to the same server or at least the same network (either manually
|
||
|
or automatically).
|
||
|
|
||
|
An "unexpected disconnect" is a connection termination not explicitly caused by
|
||
|
the KVIrc user. This means that the connection is interrupted, either
|
||
|
by the networking stack or by the remote server, without the user
|
||
|
having sent a QUIT message (by the means of the /quit command or by pressing
|
||
|
the "disconnect" button in the toolbar).
|
||
|
|
||
|
All this because the normal behaviour of a /QUIT command is, yes, to quit
|
||
|
your current connection without leaving traces of it.
|
||
|
|
||
|
To keep the channels and queries open you just need to select the
|
||
|
relative options in the "Connection" page of the options dialog
|
||
|
(on unexpected disconnect: "Keep channels open" an/or "Keep queries open").
|
||
|
|
||
|
Then you might also select "Automatically reconnect", "Rejoin channels
|
||
|
after reconnect" and "Reopen queries after reconnect" to bring your
|
||
|
"dead windows" to life again :)
|
||
|
|
||
|
Finally, you can simulate an "unexpected disconnection" by using the -u switch
|
||
|
of the /quit command. This might be useful when you want to explicitly
|
||
|
quit your connection while leaving the channels and queries open... maybe
|
||
|
because you need to renew the connection to your ISP before reconnecting ;)
|
||
|
|
||
|
|
||
|
5.10 I have an unreliable ISP connection but KVIrc takes a really long
|
||
|
time to detect a disconnection and reconnect.
|
||
|
|
||
|
KVIrc doesn't detect itself that the connection has dropped until your
|
||
|
kernel explicitly times out. KVIrc measures lag, instead, that will
|
||
|
probably grow up a lot when the connection has dropped.
|
||
|
You can write a handler for the OnLagCheck event that will detect
|
||
|
the lag growing over a certain threshold and reconnect.
|
||
|
This involves opening the event editor, selecting OnLagCheck
|
||
|
and choosing "Add handler" from the right mouse menu.
|
||
|
In the handler write:
|
||
|
|
||
|
if($1 > 30000){ quit -f -u; }
|
||
|
|
||
|
30000 is just a sample threshold (it means 30000 milliseconds!), replace
|
||
|
it with a value of your choice.
|
||
|
quit -f -u will close the current connection immediately (-f = force)
|
||
|
and will simulate an "unexpected disconnection" condition (-u = unexpected).
|
||
|
If you then enable automatic reconnection (see answer for question 5.9)
|
||
|
in the options dialog, KVIrc will automatically reconnect and rejoin channels.
|
||
|
|
||
|
|
||
|
5.11 I'm in a LAN and KVIrc uses a wrong IP address in dcc transfers
|
||
|
|
||
|
KVIrc supports a couple of methods for guessing the right IP address for
|
||
|
DCC transfers: you only have to guide it a bit :)
|
||
|
|
||
|
The first thing to try is "Guess address from IRC when unroutable" (Options->DCC).
|
||
|
This will perform a lookup on your own IRC mask once you connect
|
||
|
to an IRC server and use the address as source in DCC transfers.
|
||
|
(You need to reconnect to the server to make this option work!)
|
||
|
This trick will fail when your hostmask is cloaked (mode +x on recent IRC servers):
|
||
|
KVIrc will tell you that it couldn't look up the hostname and give up.
|
||
|
|
||
|
In this case you might try to set a fixed address to be sent as source
|
||
|
in the DCC transfers: you just need to fill in the *IP address* of your
|
||
|
router in the option field. This field doesn't support hostname lookups
|
||
|
and it won't update automatically when you router's IP changes.
|
||
|
However, if you router's IP has a dns entry, you can ask KVIrc to fill
|
||
|
this field with a simple script to be performed at every connection.
|
||
|
|
||
|
event(OnIRCConnectionEstabilished,updatedccsource)
|
||
|
{
|
||
|
ahost(yourrouterhostname.dyndns.org)
|
||
|
{
|
||
|
option boolDCCSendFakeAddressByDefault 1
|
||
|
if($1)option stringDefaultDCCFakeAddress $2
|
||
|
else echo "Couldn't look up the router's hostname"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
When transferring files to other KVIrc clients you may also try the
|
||
|
DCC RSEND protocol instead of DCC SEND. It will ask the remote end
|
||
|
to listen instead.
|
||
|
|
||
|
-------------------------------------------------------------------------------
|
||
|
6. APPAREANCE
|
||
|
-------------------------------------------------------------------------------
|
||
|
|
||
|
6.1 On Windows KVIrc seems to slow-down sometimes, what's wrong ?
|
||
|
|
||
|
This is usually caused by the heavy graphics: try removing some graphic effects like the
|
||
|
pseudo-transparency. I have experimented that it happens almost always on 32-bit displays.
|
||
|
Switching to 16 or 24 bits may also help.
|
||
|
|
||
|
|
||
|
6.2 I don't see the channel popup menus anymore, what's wrong ?
|
||
|
|
||
|
If something went wrong with KVIrc settings (a crash when the script settings
|
||
|
were saved ?) or if you have messed with the scripting options and you
|
||
|
want to get back the original behaviour (default script) you can choose
|
||
|
"Scripting/Restore default script" from the KVIrc menu.
|
||
|
(WARNING: It will erase any script modification you have made!)
|
||
|
Update: starting with the cvs of 2005.01.17, KVIrc should be able to
|
||
|
detect such situations and automatically suggest the re-installation of the
|
||
|
default script.
|
||
|
|
||
|
6.3 Does KVIrc support Themes?
|
||
|
|
||
|
Yes, KVIrc now has introduced a Theme Manager. You can find it in the Option dialog.
|
||
|
From there you can change the way KVIrc looks: fonts, colors, windows behaviour,
|
||
|
icons, taskbars, and so on.
|
||
|
Once you have changed the theme, you can save it, archive it (tar.bz2 or zip) and share with your friends,
|
||
|
or send it to the KVIrc staff to see it published on the web site.
|
||
|
|
||
|
|
||
|
6.4 I hate all that colors, what can I do about it ?
|
||
|
|
||
|
By fiddling with the options you can make KVIrc appear even monochromatic.
|
||
|
Go to Options/Theme and select the minimalist theme: it will set white text
|
||
|
on black background and will disable the displaying of a lot of icons.
|
||
|
This is a good starting point for you console addicted hackerz :D
|
||
|
|
||
|
|
||
|
6.5 On Windows, how do I use firefox/opera/any_other_browser to open links instead of explorer ?
|
||
|
|
||
|
Go to the "URL Handlers" options page and set
|
||
|
|
||
|
run "C:\\path\\to\\your\\browser.exe" "$0"
|
||
|
|
||
|
as url handler for the protocol you're interested in (maybe in all).
|
||
|
|
||
|
Suepahfly suggests to use
|
||
|
|
||
|
rundll32 url.dll,FileProtocolHandler "$0"
|
||
|
|
||
|
as url handler to open the url in the default windows browser.
|
||
|
|
||
|
|
||
|
-------------------------------------------------------------------------------
|
||
|
7. CRASH
|
||
|
-------------------------------------------------------------------------------
|
||
|
|
||
|
7.1 KVIrc crashes when the multiline text input is opened (obsolete)
|
||
|
|
||
|
If you have installed a new version of KVIrc over a previous installation
|
||
|
br if you have changed the Qt libraries that KVIrc is linked to then
|
||
|
it might be caused by a broken multiline text editor config.
|
||
|
Try removing $HOME/.kvircssexeditorrc and starting KVIrc again.
|
||
|
Update: this problem has been completely removed during late 2004 developments
|
||
|
by completely rewriting the multiline input.
|
||
|
|
||
|
|
||
|
7.2 What the heck is a gdb stack trace and how do I get it ?
|
||
|
|
||
|
A gdb stack trace is a "photography" of the state of the KVIrc internals
|
||
|
taken when a certain event has occured. The most common event
|
||
|
is a program crash (Segmentation Fault).
|
||
|
The stack trace helps (or even allows) the developers to locate the
|
||
|
crash cause in the program sources.
|
||
|
To obtain a gdb stack trace you must:
|
||
|
|
||
|
- Compile KVIrc with the --enable-debug ./configure option.
|
||
|
Without this switch the stack trace is USELESS.
|
||
|
- Have a working installation of gdb (the gnu debugger)
|
||
|
This is usually available on your distribution cd
|
||
|
and you may already have it installed.
|
||
|
- Run KVirc:
|
||
|
# gdb kvirc
|
||
|
When the gdb prompt appears write:
|
||
|
# (gdb) run -f
|
||
|
Make KVIrc crash: gdb will tell something about
|
||
|
a signal received by the program. Write then:
|
||
|
# (gdb) bt
|
||
|
The text you see is the stack trace you wanted :)
|
||
|
Copy+Paste+Send it to pragma at kvirc dot net or the mailing list.
|
||
|
|
||
|
|
||
|
7.3 KVIrc hangs up, but doesn't crash. How do i report debug informations ?
|
||
|
|
||
|
Use gdb to get a stack trace as in answer to question 7.2.
|
||
|
Since your KVIrc doesn't crash you will have to interrupt the execution
|
||
|
manually while it is hung up. You can do it by pressing CTRL+C in gdb.
|
||
|
|
||
|
|
||
|
7.4 KVIrc exits by itself or simply "disappears" without any apparent reason.
|
||
|
|
||
|
Yes. It probably crashed but you haven't noticed that.
|
||
|
We NEED a gdb stack trace or a working procedure to reproduce the
|
||
|
behaviour in order to hunt it.
|
||
|
|
||
|
|
||
|
7.5 KVIrc dies randomly and "Alarm Clock" is printed in the console
|
||
|
|
||
|
Try recompiling kvirc by adding the --with-ignore-sigalarm switch to
|
||
|
./configure. (Note: the reason of the incoming SIGALARM signals
|
||
|
on certain systems is acually unknown. Please send hints to pragma at kvirc dot net).
|
||
|
|
||
|
|
||
|
7.6 KVIrc dies when using alias(identify){ identify password; };
|
||
|
|
||
|
This is infinite recursion: a programming error.
|
||
|
Take a look at http://en.wikipedia.org/wiki/Infinite_loop , learn
|
||
|
that once for all and fix your script.
|
||
|
|