     _______ __             ___ _______ _______  _______       __
    |       |__.-----.--.--|   |   _   |   _   ||   _   .-----|  |_.---.-.
    |.|   | |  |     |  |  |.  |.  |   |.  |___||.  |   |  -__|   _|  _  |
    `-|.  |-|__|__|__|___  |.  |.  _   |.  |___ |.  _   |_____|____|___._|
      |:  |          |_____|:  |:  |   |:  |   ||:  |    \
      |::.|                |::.|::.|:. |::.. . ||::.. .  /
      `---'                `---`--- ---`-------'`-------'


I've tried to update this Read Me, finally. Some information may still be
missing or incomplete. Please check the forums at http://forums.tinyirc.net/
before asking for help. The best place for support is also the forums,

                            -=[ 1. Introduction ]=-

TinyIRC is an IRC client for Windows of miniscule proportions, weighing in at
only 83K for the main executable.

TinyIRC began when I got fed up with the existing IRC clients not working the
way I wanted them to and being overly bloated with useless features. Another
pretty common feature seemed to be frequent and annoying crashes. After whining
about it for a while, I decided to put my money where my mouth was and TinyIRC
was born. 3 years down the road, and it's a nice, stable and above all usable
IRC client that many, including me, are using every day as their main (and in
some cases, only) IRC client.

TinyIRC needs your help! Please donate at http://www.tinyirc.net/donations.shtml
and help fund future development.

                          -=[ 2. Version Numbers ]=-

When reporting bugs or suggestions, I will need to know what version you are
using. To accomplish this, TinyIRC has a pretty simple version numbering system
that you would do well to learn.

TinyIRC's version number can be found in the main window title, and in the about box,
and looks like: 1.0 Beta 5 (Build 1027)

This tells you the version number is 1, the revision number is 0 (e.g. the
first revision of that particular version), that it is a beta version and the
beta number is 5, and finally it's build 1027 of TinyIRC.

The build number is most important. At the time of writing, the rest is pretty
meaningless. So, when reporting bugs, make sure you give me the build number,
else I wont know what version you're using.

                           -=[ 3. Prerequisites ]=-

TinyIRC runs only on 32bit Windows. The crappiest system its been tested on is
a 486/SX33 with 16MB of RAM running Windows 95. The crappiest system it's been
tested on *RECENTLY* is a P133 with 32MB of RAM running Windows 98. Your
mileage may vary, but it should run on anything from a 486/SX33 with 16MB to >
2.4Ghz dual CPU with 1+Gb of RAM. Basically, anything that will run Win95, it
will run on.

I won't bother to mention HD space, because frankly if you don't have 80K of
free space you have a lot more things to worry about then being able to run
TinyIRC.

On Windows XP, Windows 2000 and Windows ME, you shouldnt need anything extra.

On Windows 98, you will probably need RichEdit 3.0 which is available on the
website. I think IE5 also gives you it, so you may not need it at all.

On Windows 95, you will need the same as for Win98 and in addition Windows
Sockets 2.0. This is also available on the web site.

The best way to find out if you need anything extra is to run TinyIRC. If it
complains about missing DLLs, the display fudges or it cant connect, then you
need to install one of the above. Note: do NOT install the above redists on
anything other then 95 or 98 (and in the case of Windows Sockets, only on 95).
That is, unless you feel like breaking your OS and reinstalling it.

You might even have some success running this under Wine on Linux if you use
the above redists. This is not supported and I havent tried it for a while, so
as always, your mileage may vary.

                         -=[ 4. Connecting to IRC ]=-

To connect to IRC, the only way is to use the Quick Connect (shortcut Alt+C)
dialog. The /server command is *NOT* currently supported. To connect to
multiple servers, simply connect more then once. At present you cannot reuse
server windows, so to reconnect you'll have to connect again and rejoin by
hand.

If you have an IPv6 stack installed and configured, you can connect to IPv6
servers. If you don't know what IPv6 is, go to www.ipv6.org. Note that
TinyIdentD also supports IPv6 so you will be idented on both IPv6 and IPv4.

                            -=[ 5. Preferences ]=-

Yes, I know the default colour scheme and fonts suck. You have two choices:
Live with it, or change it!

Use the Style prefs to change it. NOTE: When changing styles, you may need to
close/reopen all server/channel/query windows. This bug will not be fixed for a
very long time since it's not much of a problem unless you're changing styles
daily, in which case you should probably see a shrink.

The login script is basically a list of IRC commands to send to the server when
you connect. It's not actually a script per se, since all you can do is
whatever you could do as if you typed in the server window. Information on it
is in the login script prefs page, so I wont repeat.

The plugins page is now pretty much finished, and is completely operational. Please
see section 14 for more info.

                        -=[ 6. IRC Command Changes ]=-

TinyIRC provides some commands to ease IRCing slightly, mostly to do with
channels. You need to be aware of all of these.

                              DEBUGGING COMMANDS

Debugging commands are mostly only of use to me, but you may find them handy.

/dbgserver .............. Show information about currently connected server
/dbgchan ................ Show information about current channel
/dbgdns <host> .......... Perform a DNS lookup on <host>. Forward only, no reverse.
/dbgplugins ............. List currently active plugins

                               CHANNEL COMMANDS

DO NOT specify channel name on any of these commands unless you typed the
command in the server window. When typed in server window, you will need to
insert the channel name in the appropriate place (not listed below)

/topic <topic> .......... Changes topic.
/names .................. Show who's on channel.
/kick <user> <reason> ... Kick <user> for <reason>
/mode <modes...> ........ Change channel modes

                                OTHER COMMANDS

/umode <modes> .......... Change user modes. DO NOT specify your nick.
/msg <nick> <msg> ....... Send a message
/query <nick> ........... Open a query window with <nick>
/ctcp <nick> <ctcp...> .. Send a CTCP <ctcp> to <nick> (do not use for pings)
/ping <nick> ............ CTCP Ping <nick>
/ctcpreply <nick> <ctcp>  Send a CTCP <ctcp> reply to <nick>
/me <msg> ............... Do an action in a channel or query
/clear .................. Clear the current window

All other commands are passed on to the server verbatim.

                     -=[ 7. Things that arent done yet ]=-

Please remember that this is still a beta. Many things arent done yet. Please
see the forums at http://forums.tinyirc.net/ for more information.

                             -=[ 8. Known Bugs ]=-

There's not that many of them that I can remember. If you find bugs, please
report them on the forums at http://forums.tinyirc.net/

                -=[ 9. Little things you will want to know ]=-

Pressing Alt+up/down arrows will move around the tree view
/m, /um, /t, /n are "aliases" for /mode, /umode, /topic and /names

                      -=[ 10. Bug/Suggestion Reports ]=-

If you find bugs, please report them on the forums at http://forums.tinyirc.net/

Be sure to include the Build number in your bug report and an exact description
of what you did to provoke the bug and how I can reproduce it. Also include
what Operating System you are using, and whether you are using a multi-CPU
system.

                           -=[ 11. The .ini file ]=-

I'm assuming you have TinyIRC in C:\TinyIRC, if you dont then you'll need to
change the paths.

To override the path to plugins, add the following to tinyirc.ini:

[Options]
PluginPath=C:\TinyIRC\Plugins

Note that this should not be necessary, as TinyIRC will usually find the
plugins by itself. This is only useful to start TinyIRC with a different set
of plugins.

The options section isnt added by default at the moment (since everything in it
is unfinished and has no editor), so you might have to add it yourself.

Also, if you want to turn off timestamping, add:

Timestamp=0

under [Options] also. To turn it back on, change the 0 to a 1 or remove the line
completely.

To turn off auto open queries, add to the [Options] section:

AutoQuery=0

Changes to the plugin directory currently require you to restart TI completely.

Changes to timestamping takes place immediately.

                             -=[ 12. Plugins ]=-

The public beta of TinyIRC ships with two plugins, Tiny IdentD (which is an
updated version of the standalone Tiny IdentD) and Junk, which provides an option
to change where whois replies are displayed and a minimise to tray option.

There are more plugins in the works, see www.tinyirc.net for more information.

                            -=[ 13. TinyIdentD ]=-

Specify your username in the username box. This version of the IdentD will allow
you to log, if you turn logging on and specify a log filename. Note that at present
the built in log viewer is not functional, so to view logs you'll have to open the
log in a text editor. The "enable only while connecting" option is currently disabled
as the events it relies on are not currently sent by TinyIRC, so it has no way of
working. Thus, you can only enable or disable the IdentD.

Note that if another IdentD is running, Tiny IdentD will disable itself. You will
then have to disable the other identd and re-enabled Tiny IdentD in order for it
to be used. Or you can leave it disabled and just enable the other one, it's upto you.

Tiny IdentD supports IPv4 and IPv6, so if you're using IPv6 you can now ident.

                          -=[ 14. TIPI Version 2 ]=-

Most of this section is out of date now, but the information is kept for future
usefulness.

With Beta 6, build 1052 the TIPI Version upped to 2. TIPI is the TinyIRC Plugin
system, and has a seperate version number. This allows the client to
selectively support plugins based on the TIPI version, which can cover any
number of versions of the client itself. This means that, e.g. if some major
change to the plugin system happens that would break old plugins, the client
can prevent those from loading.

The TIPI version numbers are currently as follows:

Builds <= 1049 = TIPI Version 1
Builds >= 1050 = TIPI Version 2

Version 2 adds GUID (Globally Unique Identifier) support to the plugin system,
which allows easy detection of whether a plugin is loaded without relying on an
arbitrary string. This also allows an easy way to identify plugins in config files,
e.g. for setting priorities. The GUID for plugins that support them is shown in the
plugins prefs page.

Other important changes with TIPI 2 is an extra function call for preferences
and changed flag meanings. This means that all old plugins can *NOT* be
unloaded at runtime. They can, however, still be loaded. Only a TIPI 2 plugin can be
unloaded completely.

Updated plugins are now available on the beta site. You are advised to use the
new plugins with all builds after 1050, using the old plugins could result in
crashes. Also, using the new plugins with a build earlier then 1050 may result
in crashes. TinyIRC does try and support TIPI 1 plugins still, but this support
will go away soon to save a few bytes in the exe.

(Note for public version: Updated plugins are included in the zip)
