Kte v1.3
--------------------------------------------------- - -  -    -

MTS Home page: http://www.mircscripts.org/mts.php

Features:
- Compatible with MTS 1.0 and 1.1 themes
- Works on mIRC 5.91, 6.0 and 6.01
- Supports most events
- Supports schemes, images, nicklist coloring, fonts
- Precompiles themes (slow loading, fast theming)
- Theme preview
- vPak and gzip support
- Your settings are restored if you stop using themes
- You define what you want to be applied

To be available in next releases:
- Sound support


*** To update, replace the files in the Kte directory with
    the new ones. If you are updating from Kte 1.0, you should
    do it while mIRC is NOT running. If you are updating from
    Kte 1.1 or 1.2, you can just /load the script file again if
    mIRC is running. After that, you should reload the current
    theme (if any) in order to update your compiled script file.


Loading a theme
--------------------------------------------------- - -  -    -
  To load a theme in Kte, you may use /theme.load or /kte.load (both do the same). For example, to load the theme called "Sample" (which should be in your themes directory if the path isn't specified), use the syntax '/theme.load Sample'. Kte supports simple MTS themes and vPak archives. If you specify a path for nGZIPn.dll, it will also support gzipped versions of the mentioned formats. As result, the supported extensions will be .mts, .mts.gz, .vpk and .vpk.gz.
  If you prefer, you may open a theme loading dialog by typing just '/theme.load'.
  Some themes include schemes, which are small variations to their appearance. To use, for example, the 5th scheme from the Sample theme, use '/theme.load -s5 Sample'.
  You can define what you want and what you don't want to be loaded on the load dialog. You can't, however, use this to mix settings from different themes.
  Theme loading in Kte may take a little long, since it compiles the theme into a scripting file for best performance.


Changing schemes
--------------------------------------------------- - -  -    -
  If you want to use a different scheme from the current theme, you may use /theme.scheme or /kte.scheme. It's a bit faster than using /theme.load again, as /theme.scheme skips some steps of loading a whole new theme.
  To list all the schemes from the current theme, type just '/theme.scheme'.
  To load a new scheme, you may specify its number (for example, to load the 3rd scheme, use '/theme.scheme 3') or its name (to load the scheme named 'Blue', type '/theme.scheme blue').
  If you want to load the default scheme, you may use '/theme.scheme -d'.


Unloading a theme
--------------------------------------------------- - -  -    -
  When you load a theme, the previous one is automatically unloaded; however, if you don't want to use any theme, type '/theme.unload' or '/kte.unload'.
  Kte restores your colors, RGB values, nicklist colors, fonts and timestamp settings when you use /theme.unload. However, due to a bug in mIRC, some cases of nicklist coloring can't be restored correctly: if you have one or more color settings which refer to the same nickname (does not apply to "Any nick"), only one of them will be restored. Also, font recovery is not complete: misc windows, like Notify and URL List, use the same font as the status window when restored (which is enough for most users).
  Anyway, I hope the current restoring helps you with most (if not all) of the problems of quitting using any themes. If you would like to see some improvements, please contact me.


Settings
--------------------------------------------------- - -  -    -
  To change engine settings, type '/theme.load', and click the File\Settings menu.
  You can, for example, set up the default path for your themes folder, clear your cache directory, or even hide the /names list you get when joining a channel.


Misc notes
--------------------------------------------------- - -  -    -
  You can get nGZIPn on http://www.mircscripts.org/ (DLLs section), and some themes on the Themes section.

  If you want to quit using Kte, just type '/unload -rs kte.mrc'. If you are using a theme, it will prompt for unloading it first.

  Kte reads where some events should be displaed from mirc.ini and caches the information. In case you have changed something and wants to force Kte to read mirc.ini again, you may use '/kte.refresh'.

  If you want to use Kte in your script, you can use two small functions which may ease information output: /kte.echo and /kte.error.
  The syntax is simple: '/kte.echo <window> <text>', where <window> is the window where you want to echo (can be -a for active window or -s for status window), and <text> is the text you want to output. It's a shortcut for using the Echo MTS event. /kte.error works the same way, but for the Error event.
  If you're writing an add-on, I wouldn't recommend using these aliases, though, or your add-on will only work if the user has Kte.


Theme problems
--------------------------------------------------- - -  -    -
  These are common theme problems:
  - When you preview a theme, it echoes something to the status
    window. This is because the theme is using /echo directly
    instead of %:echo, defined by the standard, and needs
    fixing.
  - Kte simply says "invalid theme file". Possible causes are
    that the theme doesn't have a Name line, doesn't define the
    version of the MTS standard it's made for (MTSVersion line)
    or defines it as something different than 1.0 or 1.1 (there
    are a few themes still based on early 0.9x standards)

  In both cases, you should check if there isn't a newer version of the theme available.


Version history
--------------------------------------------------- - -  -    -
1.0 - First public release.
1.1 - Added more information to Readme.
    - Fixed bugs related to:
      - Events: kick, /names, part, /whois
      - General: scheme loading, theme unloading, loading
        packed/gzipped themes, loading themes with background
        pictures.
      - Kte on directories containing spaces.
    - Caching improvement:
      - Compiled themes are now cached.
      - Each different scheme in a theme will have its own
        cached bitmap now.
    - New options:
      - It's now possible to hide some messages and events that
        appear when you're connecting to a server or joining a
        channel.
      - You can set what you want to be cached now.
      - Now you can skip some stuff from being applied while
        loading themes.
    - Changed the way the preview works. There won't be any
      problems related to previewing themes with background
      pictures anymore.
    - Kte will perform some cleanup now when unloaded.
    - CTCP replies are now echoed to the Status window, like
      mIRC does by default.
    - Settings restoration now takes your timestamp back.
    - Added an Edit command to the File menu in the loading
      dialog. If you have KThm (K Theme Editor) loaded, it will
      be used for editing. If not, Notepad will be called.
    - Some minor changes.
1.2 - JoinSelf is now supported.
    - Fixed problem with themes which don't use a Prefix line.
    - Fixed problems related to:
      - Events: Join
      - Timestamp: %::timestamp, base colors on timestamps.
    - Added /kte.* commands, which do just the same as their
      /theme.* counterparts.
    - Kte now reads mirc.ini to determine the target of the
      events. This includes the "Show in active" group in mIRC
      Options and the Events settings for channels. To force a
      refresh, use '/kte.refresh' (this is the first Kte-
      specific command, by the way).
    - Improved how the Load event is displayed.
    - Added a Font Replacement section to the options dialog.
      If you don't have IBMPC or GwdTE_437 installed, Kte will
      automatically set up replacements for them with Terminal.
      If you have Microsoft Sans Serif installed, it will be
      set as a replacement for MS Sans Serif.
    - Kte.dll now has a few more built-in functions.
      Previeweing themes became much faster.
    - Numerous minor fixes.
1.3 - DCC Chat connections are themed now.
      Kte won't theme DCC Chats if you have more than one chat
      with the same person, to avoid conflicts and problems.
    - Kte now fully works on mIRC 6.0 and 6.01 (but it's still
      compatible with mIRC 5.91).
    - Fixed %::cmode in events.
    - Improved how numeric replies (raws) are handled.
    - In mIRC 6.01, Kte will detect the "Show Away in active"
      option.
    - Fixed (hopefully) preview not working for some people.
    - Kte should work properly now with fserves.
    - Several, really numerous other bugfixes.


Author
--------------------------------------------------- - -  -    -
Nickname: Kamek
Channels: #IRCzone on BRASnet (irc.brasnet.org)
          #mircscripts.org on undernet (eu.undernet.org)
Contact:  talk to me on IRC or on MSN Messenger
          (ircweb@hotmail.com, no e-mails please) or send me a
          private message on mircscripts.org.


Thanks
--------------------------------------------------- - -  -    -
Without these people, Kte wouldn't be the same...

mIRC creator: Khaled Mardam-Bey
They helped!: crazy2k, Dark_Greg, Eric^^, nacitar, outbreak, Ymar
A bug hunter: blue-elf
Oh, and also: all the other people who reported bugs
Annoying guy: fubar
vPak support: Variant (vPak addon)
gzip support: Necroman (nGZIPn.dll)
Numeric info: pai (Numeric replies reference)
Compiler boy: tabo
Hosting this: mircscripts.org
Of course...: you, for using it :)
