@DATABASE STRICQ.guide
@$VER: v0.1300 Series
@(C) (C) 1998,1999 Douglas F. McLaughlin
@AUTHOR Douglas F. McLaughlin
@MASTER DH0:STRICQ/STRICQ.Guide
@WIDTH 81
@FONT xen.font 8

@REMARK Created with Guided by Linus McCabe


@NODE "main" "STRICQ - The Ultimate ICQ Clone for the Amiga!"


@{FG SHINE}
                               STRICQ 0.1371ß

                Copyright © 1998, 1999 Douglas F McLaughlin
                ICQ Protocol Copyright © 1996 Mirabilis LTD


                            All Rights Reserved




                        @{" About STRICQ               " link "STRAbout"}
                        @{" System Requirements        " link "STRNeeded"}
                        @{" Frequently Asked Questions " link "STRFAQ"}
                        @{" Menus                      " link "STRMenus"}
                        @{" Windows                    " link "STRWindows"}
                        @{" History                    " link "STRHistory"}
                        @{" Support                    " link "STRSupport"}

                        @{" ARexx                      " link "STRARexx"}












@ENDNODE
@NODE "STRAbout" "Everything you wanted to know, but were afraid to ask"

@{U}About@{UU}

  STRICQ is (C) Copyright 1998,1999 Douglas F. McLaughlin

  The ICQ protocol is (C) Copyright 1996 by Mirabilis LTD.


@{U}Feature Highlights@{UU}

  Fully an Amiga program.  Not a Unix/Linux port.

  Supports all @{B}Modern@{UB} Amiga @{"TCP/IP" LINK "STRNeeded"} stacks.

  Author is an independent developer.

  Supports most of the main features of the Mirabilis client:

    o On/Offline and status change notification.

    o Direct server messages.

    o Mirabilis @{"System Messages" LINK "STRMiscWin" 140}.

    o Personal information storage and retreival.

    o @{"UIN search" LINK "STRMiscWin" 158}.

    o @{"URL" LINK "STRContactWin" 94}, @{"Web Pager" LINK "STRMiscWin" 116}, and @{"EMail Pager" LINK "STRMiscWin" 116} messaging.

    o Direct client to client messaging.

    o Direct client to client @{"Chat" LINK "STRChatWin"}.

    o Direct client to client @{"File Transfer" LINK "STRFileWin"}.


@{U}Development System@{UU}

  Amiga 3000; 68030 @ 25MHz; 16 Meg Fast, 2 Meg Chip

  CygnusEd v4.20

  SAS/C v6.58

  MUI v3.8

  GVP I/O Extender

  CyberVision64 4 Meg (Using CyberGraphics v3 r70a)

  ASTVision 5n 15" Monitor

  Buddha+Catweasel (Using IDEFix)

    o Maxtor 2.8 Gig (EIDE)

    o Maxtor 7.0 Gig (EIDE)

  Hydra Ethernet (Using MiamiDx v0.9h)

  HP 6020 CD-R (Using MakeCD v3.2)

  Pioneer DRM-602x (Using AsimCDFS v3)

  Epson GT-8500 Color Scanner (Using ScanQuix3)

  Epson Stylus Color 800 (Using Studio v2.2)
@ENDNODE
@NODE "STRNeeded" "So, you think you have what it takes?"

@{U}Requireds@{UU}

  AmigaOS v2.1, v3.x

  About 1 Meg RAM, As the number of contacts in the contact list goes up
    RAM usage goes up.


@{U}External Libraries@{UU}

  asyncio.library (v39) (Aminet)

  openurl.library (v1+) (Aminet)


@{U}TCP/IP Stack@{UU}

  Miami v2.1p, v3.0+

  MiamiDexluxe v0.9+

  AmiTCP v4.0+

    o Genisis

    o NetConnect

  TermiteTCP - It does work, but not very well.  You have to open windows
    to make the packet routines function.


@{U}MUI@{UU}

  NList.mcc v0.84+    (Available from Aminet)

  Textinput.mcc       (http://www.vapor.com/ Misc Downloads Section)

  Textinputscroll.mcc (Part of the Textinput archive.)

  Lamp.mcc            (Aminet)

  Busy.mcc            (Aminet)

  TWFmultiLED.mcc     (Aminet)
@ENDNODE
@NODE "STRFAQ" "Frequently Asked Questions"

 @{B}Q: Will you do a chat mode?@{UB}

 A: It's finished!  Enjoy!  Still working on multi-chat mode.


 @{B}Q: Why can't I change my password?@{UB}

 A: Mirabilis disabled all password changes in late 1998.  A hacker
    program was released that would grab your password from the net, and use
    it to change your password, effectively stealing your UIN.


 @{B}Q: How do I use those notify thingies?@{UB}

 A: You need a sound player program like Play16.  Then put this command in
    your prefs:  Run >NIL: Play 16 Sounds/Message.wav You can also use one
    of the notify scripts provided in the Rexx directory, read them for more
    information.  I did not write them and can't answer questions about them.


 @{B}Q: Why do I get the message "Rx: Command not found"?@{UB}

 A: For some reason, STRICQ is not getting your Workbench path so you need
    to put the full path in:  SYS:Rexxc/Rx


 @{B}Q: What does STR stand for?@{UB}

 A: ST = Star Trek, R = Robotech.  I came up with this after needing a name
    for  my BBS that I had started writing for my C64.  If you can remember,
    I am the author of ST/R BBS for the C64.  I still get reports from time
    to time that people are still using ST/R as a BBS even now in 1998!!!!


 @{B}Q: When  will  the next release come out?  And, What new options have you@{UB}
@{B}    added?@{UB}

 A: Always check my userinfo on ICQ, I put new updates there as I make them.
@ENDNODE
@NODE "STRMenus" "Where do you think you are?  A restaurant?"

@{U}Project@{UU}

  @{B}Register UIN@{UB} - Use this command if you have never used ICQ before and you
    do not have your own ICQ "Universal Internet Number."  To create
    your new UIN, follow these steps:

    1.  Start your preferred @{"TCP/IP" LINK "STRNeeded"} stack and go online with your ISP.

    2.  Start STRICQ.

    3.  Open the @{"Prefs" LINK "STRPrefsWin"} Window.

    4.  With the exeption of the User ID Number, fill in as much information
        on the ICQ Tab, @{"Basic Info Tab" LINK "STRPrefsWin" 5} as desired.  @{B}Password is required@{UB}, all
        the rest are @{U}optional@{UU}.

    5.  Fill in as much information as desired on the ICQ Tab, @{"Extended Info" LINK "STRPrefsWin" 50}
        Tab.  All information is @{U}optional@{UU}.

    6.  Choose a server on the ICQ Tab, @{"Servers Tab" LINK "STRPrefsWin" 82}.  I recommend using the
        icq.mirabilis.com:4000 server to start, it should already be the
        default server chosen for you.

    7.  Switch back to the ICQ Tab, Basic Info Tab.

    8.  Now select this menu item and STRICQ will show "Creating New UIN" at
        the top of the @{"Contact List" LINK "STRMainWin"} window.

    9.  Your new UIN should appear at the top of the Contact List window and
        in the User ID Number on the ICQ Tab, Basic Info Tab within @{B}thirty@{UB}
        @{B}seconds@{UB}.  If your new UIN does appear, you are finished.  Welcome to
        the world of ICQ!

    10. If your UIN does not appear and the "Creating New UIN" message at the
        top of the Contact List window does not change to your chosen nick,
        there may be a problem.  Continue on with these steps.

    11. First, open the @{"STRICQ Log" LINK "STRMiscWin" 70} window.  If any item reads "No" in the 
        ACK column, the server may be busy.  Go back to step 6 and choose a
        different server.  If, after several attempts with a different server,
        and still no new UIN, continue with the next step.

    12. Join the @{"STRICQ Mailing List" LINK "STRSupport"} if you have not already done so and ask
        for help there.  There are many experienced people there that can help
        solve your problem.

    13. If you don't want to join the mailing list, send an email directly to
        @{"STRICQ's author" LINK "STRSupport"}.  Be sure to include as much information as possible,
        the exact steps taken, what appears in the STRICQ Log window, any
        debug information that may appear, etc.  The more information given
        increases the chances of someone solving your problem very quickly.

  @{B}Search UIN@{UB} - This command opens the @{"Search UIN" LINK "STRMiscWin" 158} window.  This is the same
    function as the Add button on the @{"Contact List" LINK "STRMainWin"} window.

  ---

  @{B}About@{UB} - This opens a window which shows the version and compile date of the
    STRICQ program.  Use this information for all bug reports sent to the author
    and the mailing list.

  @{B}About MUI@{UB} - This opens a window giving information about your installed MUI
    system.

  ---

  @{B}Quit@{UB} - This will shutdown STRICQ.  If you are currently online STRICQ will
    remember your status mode and the next time STRICQ is started, it will
    attempt to go back online in the same status.  This the @{"Auto-Online" LINK "STRMainWin" 42} feature.


@{U}Settings@{UU}

  @{B}Prefs@{UB} - This opens the @{"STRICQ Preferences" LINK "STRPrefsWin"} window.

  @{B}Save Prefs@{UB} - This will save all your preferences including any changes made to
    all users information in the Contact List.  STRICQ normally saves all prefs
    at program shutdown.  If your computer crashes before STRICQ can be properly
    shutdown, any prefs changes will be lost.  Therefore it is important to use
    this command after makeing any changes to your prefs that you wish to become
    permanent.

  ---

  @{B}MUI@{UB} - This opens the MUI Settings window which will specifically only affect
    STRICQ.  As STRICQ uses many @{"MUI Custom Classes" LINK "STRNeeded"}, a lot of the look, feel, and
    functionality of STRICQ can be configured here.


@{U}Messages@{UU}

  @{B}Save Messages@{UB} - This command specifically applies to the @{"Incoming Messages" LINK "STRMessageWin"}
    window.  Choosing this command will open a file requestor asking for a save
    filename.  All messages in the Incoming Messages window will be saved to the
    chosen file.


@{U}Windows@{UU}

  @{" Activity Log      " LINK "STRMiscWin" 0}

  @{" Active Sockets    " LINK "STRMiscWin" 23}

  @{" Message History   " LINK "STRHistoryWin" 0}

  @{" STRICQ Log        " LINK "STRMiscWin" 70}

  @{" Incoming Messages " LINK "STRMessageWin" 0}

  @{" Pager Messages    " LINK "STRMiscWin" 116}

  @{" System Message    " LINK "STRMiscWin" 140}

  @{" User Information  " LINK "STRUINfoWin"}
@ENDNODE
@NODE "STRWindows" "Yuck!  Windows is a PC thing!"

  @{" STRICQ                " link "STRMainWin" 0}  STRICQ Main Program Window
  @{" User Windows          " link "STRContactWin" 0}  Individual Contact Window
  @{" ICQ Preferences       " link "STRPrefsWin" 0}  STRICQ Preference Editor Window

  @{" Activity Log          " link "STRMiscWin" 0}  User Activity History Window
  @{" Active Sockets        " link "STRMiscWin" 23}  Active Network Connections Window
  @{" Message History       " link "STRHistoryWin" 0}  Saved Message History Window
  @{" STRICQ Log            " link "STRMiscWin" 70}  ICQ Server Log Window
  @{" Incoming Messages     " link "STRMessageWin" 0}  Incoming User Message Window
  @{" Pager Messages        " link "STRMiscWin" 116}  WebPage and E-Mail Pager Message Window
  @{" System Message        " link "STRMiscWin" 140}  Mirabilis System Message Window
  @{" User Information      " link "STRUINfoWin" 0}  User Information Window

  @{" Search UIN            " link "STRMiscWin" 158}  UIN Search Window
  @{" Search Results        " link "STRMiscWin" 190}  UIN Search Results

  @{" Incoming Chat Request " link "STRChatWin" 0}  Incoming Chat Request Window
  @{" Outgoing Chat Request " link "STRChatWin" 18}  Outgoing Chat Request Window
  @{" Chat Window           " link "STRChatWin" 33}  Realtime Chat Window

  @{" Incoming File Request " link "STRFileWin" 0}  Incoming FileDirect Request Window
  @{" Outgoing File Request " link "STRFileWin" 18}  Outgoing FileDirect Request Window
  @{" FileDirect Request    " link "STRFileWin" 57}  FileDirect Window
@ENDNODE
@NODE "STRMainWin" "STRICQ Main Program Window"

@{U}Status Bar@{UU} 

  The Status Bar is located at the top of the main contact list window.
  The following items will be reflected here:

    @{B}Offline@{UB} - The client is not connected with the ICQ server.

    @{B}Going Online@{UB} - The client is attempting to connect with and login
      to the ICQ server.

    @{B}Creating New UIN@{UB} - The client is attempting to connect with and ask
      the ICQ server for a new UIN.

    @{B}Your Nick (Your UIN)@{UB} - The client has succesfully connected with and
      logged on to the ICQ server.

@{U}Contact List@{UU}

  This listview gives a quick overview of all contacts.  The listview has
  several customisable columns.  The @{"Prefs Window, Options Page, List Page" LINK "STRPrefsWin" 296}
  controls which columns are viewed.  This list also controls the individual
  @{"User Windows" LINK "STRContactWin"} which are the main powerhouse area for each contact.  To open
  a user window, double-click on a contact in the contact list.

  The contact list is a multi-select style list.  Several of the functions
  in the @{"User Window" LINK "STRContactWin"} and user window @{"Command Popup" LINK "STRContactWin" 41} windows are able to act
  on more than one UIN at a time.  Multi-selecting in this list will choose
  which contacts those commands will act upon.

@{U}Add@{UU}

  This button opens the @{"UIN Search Window" LINK "STRMiscWin" 158}.  It is used to search for and add
  new contacts to the contact list.

@{U}Remove@{UU}

  This button will permanantly remove a UIN (or UINs if more than one are
  selected) from the contact list.  After this button is pressed a requestor
  will open asking for confirmation of deletion for each contact selected.

@{U}Status and Auto-Online@{UU}

  This cycle button is used to tell the client to go online and offline.  It
  is also used to set the clients 'away' status while online.  If the client
  is not already online then switching to any of the 'away' modes will cause
  the client to go online in the selected mode.  If STRICQ is quit before
  switching the client offline, the currently selected status will be remembered
  the next time STRICQ is started and the client will automatically attempt to
  connect with the ICQ server.  The following status modes are currently 
  supported:

    @{B}Online@{UB} - This causes the client to go to the Online mode.

    @{B}Invisible@{UB} - In this mode, anyone that has your UIN in their contact list
      will not see you online.  Instead, you will be shown as offline.  You
      will still be able to see who is online and receive/send messages but
      won't be seen.  When you send a message to another user that is online
      you're status will change to either online (PC Client) or invisible
      (STRICQ).

    @{B}Not Available@{UB}
    @{B}Occupied@{UB}
    @{B}Away@{UB}
    @{B}Do Not Disturb@{UB} - These four modes are generally up to user interpretation
      and used accordingly.  There is a web page on the Mirabilis web site
      which gives a general description of how these modes should be used.

    @{B}Free For Chat@{UB} - While in this mode, you are indicating to other people
      that you are immediately avaliable to talk with and also that you would
      like to enter @{"Chat Mode" LINK "STRChatWin"}.  Also, this mode indicates to the ICQ server
      that you would like to be found in a random fashion by other people
      who just want to talk.  STRICQ will be getting more support for this
      capability in the future.

    @{B}Offline@{UB} - This causes the client to log off the ICQ server.  However, as
      long as your TCP stack is still connected with your ISP, you will still
      be able to send messages to other people with TCP mode capable clients.
      Also, any @{"Chat Mode" LINK "STRChatWin"} and @{"File Direct" LINK "STRFileWin"} connections will still remain active.
@ENDNODE
@NODE "STRContactWin" "Individual Contact Window"

@{U}User Windows@{UU}

  The user windows are divided up into several different tabbed pages.


  @{U}Dialogue Tab@{UU}

    @{B}Message Listview@{UB} - Displays the current incoming and outgoing messages.
      It also displays URL messages as well as authorization requests.  With
      @{"openurl.library" LINK "STRNeeded"} installed, double-clicking the underlined URL will open
      your configured browser and point it to the URL just clicked on.

      To forward a message, click on a message in the listview, open the command
      popup menu and click the forward button.  To forward a URL, click on the
      (underlined) URL itself.

    @{B}Message Entry@{UB} - This text gadget is where you type a message to be sent to
      the recipient.  Type your message and press enter.  The message will be
      sent either through the ICQ server or directly to the recipient's client.
      If the message is sent directly, a busy bar will appear between the
      message entry gadget and the multi-send tick gadget.  When the message is
      received by the other client, the busy bar will disappear.  If the message
      is not acknowledged after six minutes, the message will be sent through
      the ICQ server, and the busy bar will disappear.

    @{B}Send@{UB} - This button only appears when the @{"multi-line input" LINK "STRPrefsWin" 258} option is ticked
      on in the preferences.  In this mode, pressing return in the message entry
      gadget merely adds a newline vice sending the message to the recipient.
      Clicking this button or pressing TAB+Return from the message entry gadget
      will send the message to the recipient.  Due to an incompatibility with
      NList.mcc, only the first line of the message will appear in your message
      listview, however, the recipient will see the entire message, including
      other STRICQ users.  (STRICQ users will not see the formatted text as all
      returns are removed to avoid the incompatibility with NList.mcc)

    @{B}Multi-Send@{UB} - This checkbox, when ticked, allows you to send to the current
      recipient as well as all contacts that are currently selected in the
      contact list.  This is an easy option to turn on and forget about, take
      care to turn it off when no longer needed.

    @{B}Popup Menu@{UB} - Opens the command popup window which contains the following
      functions:

      o@{B} Authorize@{UB} - When you have @{"Authorization Required" LINK "STRPrefsWin" 25} ticked on in your ICQ
        preferences, you will receive authorization request messages.  These
        messages will include the requestors nick, name, and reason for asking
        for your authorization.  One thing to remember is that only real
        Mirabilis ICQ client users will be asking for your authorization, at the
        time of this writing, none of the ICQ clones, including STRICQ need to
        request authorization.  If you do not wish to allow someone to add your
        UIN to their contact list, simply ignore the request message.

      o@{B} Chat@{UB} - This button will open the @{"Chat Reason" LINK "STRChatWin"} window.  Chat mode is a
        direct client to client real time messaging system.  Each side will see
        each character as its typed on the other end.  Real Mirabilis ICQ clients
        have the capability of sending sounds, graphics, fonts, and colors
        between clients.  STRICQ currently does not support these capabilities,
        but as an acceptable MUI custom class comes available that can handle
        these features, STRICQ will add it in as soon as possible.  If anyone
        wants to attempt to write such an MCC, @{U}@{B}PLEASE@{UU}@{UB} contact me about working
        out the necessary API calls.  There are occasions where STRICQ will not
        be able to initiate chat mode because the receiver is behind a firewall.
        This will be fixed in a future version.

      o@{B} Clear Messages@{UB} - Removes all messages from the Message Listview.

      o@{B} FileDirect@{UB} - This button opens the @{"FileDirect Request" LINK "STRFileWin"} window.  FileDirect
        is a direct client to client method to transfer files.  Multiple files
        can be sent at one time, however, at the time of this writing, STRICQ
        is incapable of sending and receiving files with the same UIN at the
        same time.  If you attempt to do so, STRICQ will promptly crash.  Sending
        or receiving files from different UINs should work fine.  There are
        occasions where STRICQ will not be able to initiate a file send because
        the receiver is behind a firewall.  This will be fixed in a future
        version.

      o@{B} Forward@{UB} - This button forwards a message as described above.  The forward
        function will send the selected message to all selected contacts in the
        contact list.

      o@{B} Ignore@{UB} - This button will add the UIN to the @{"Ignore List" LINK "STRPrefsWin" 310}.  Usually you
        would want to ignore a person if they send annoying messages or are just
        generally bothersome in any manner.  There is currently a bug in STRICQ
        that will allow an ignored UIN to show up in the contact list as a 
        New User, but only if the UIN does not already exist, however, no
        message will be shown.

      o@{B} WhitePage@{UB} - Mirabilis maintains a White Page for every UIN.  There are
        quite a few things to see on the WhitePage, all dealing with ICQ and
        Mirabilis.  Clicking this button assembles the correct URL using the
        current user window's UIN and sends it to your browser.


  @{U}Send URL Tab@{UU}  (This Tab may be going away soon...)

    @{B}Description@{UB} - Text discription for the URL.

    @{B}URL@{UB} - Actual URL to be sent.

    @{B}Send this URL@{UB} - Sends the URL message.  The multi-send checkbox on the
      Dialogue tab also applies to sending URLs.  If it is ticked, the URL will
      be sent to everyone selected in the contact list.


  @{U}User Info Tab@{UU}

    @{U}Basic Info Tab@{UU}

      @{B}Nick@{UB} - User's Nickname.

      @{B}UIN@{UB} - User's UIN.

      @{B}Status@{UB} - User's Online Status.

      @{B}IP@{UB} - User's current or last IP address and message port.  This will show as
        'Hidden' if the user has the @{"Hide IP" LINK "STRPrefsWin" 234} option turned on.

      @{B}First@{UB} - User's First Name.

      @{B}Last@{UB} - Users' Last Name.

      @{B}E-Mail@{UB} - User's E-Mail address.

      @{B}Auth. Req'd@{UB} - Authorization required to add to contact list.  This only
        applies to real Mirabilis clients as all of the ICQ clones, including
        STRICQ, will allow anyone to be added to the contact list regardless of
        the state of this option.

      @{B}Load@{UB} - Load User Info from disk.  This simply replaces the current info with
        what was last saved to disk.

      @{B}Save@{UB} - Save User Info to disk.  The only time this button is needed is when
        the data in one of the Textinput gadgets on the user info tabs is manually
        changed.  It also will apply to the specific prefs settings for the UIN the
        user window belongs to in a future version of STRICQ.

      @{B}Refresh@{UB} - Update user info from server.  This is not done automatically.  The
        only time a user's info is pulled from the server is when the @{"UIN Search" LINK "STRMiscWin" 158}
        window is used.  For some people like myself, as author of STRICQ, I will
        update my userinfo quite often.  So, it can become handy to refresh certain
        people's user info from the ICQ server often.

    @{U}Extended Info Tab@{UU}

      @{B}City@{UB} - User's city.

      @{B}Country Code@{UB} - User's country code followed by the country name.

      @{B}Time Zone@{UB} - Time zone for this user.  This is not always set correctly by the
        user.  The Mirabilis ICQ client seems to have a bug regarding time zones
        which made it difficult to implement this feature exactly correct.

      @{B}State@{UB} - User's state or province.

      @{B}Age@{UB} - User's age.

      @{B}Sex@{UB} - User's sex.

      @{B}Phone@{UB} - User's phone number.

      @{B}Home Page@{UB} - User's home page.  Click this button to send the user's home
        page to your configured web browser.

      @{B}About@{UB} - User's personal comments and notes about themself.


  @{U}Comment Tab@{UU}

    @{B}Textinput Box@{UB} - Your personal comments and notes about the user.  If you
      enter any text or make changes to text in this Textinput box, you will need
      to click on the save button on the ICQ Info Tab, Basic Info Tab.


  @{U}History Tab@{UU}

    @{B}Message Listview@{UB} - This listview will show all messages, URLs, and chat
      mode conversations.  Its important to note that URLs cannot be double-
      clicked in this listview.

    @{B}Load@{UB} - Load message history from disk.

    @{B}Remove Line@{UB} - Removes the currently selected line from the listview.

    @{B}Clear@{UB} - Clears the history from the listview and RAM.

    @{B}Save@{UB} - Saves the complete history listview back to disk.  Useful if the
      remove line button is used to remove lines from the listview.

    @{B}Delete@{UB} - Deletes the history file from disk.  This button is final and there
      is no 'are you sure' requestor.  Be careful.


@ENDNODE
@NODE "STRPrefsWin" "STRICQ Preference Editor Window"

@{U}ICQ Preferences Window@{UU}

  @{U}ICQ Tab@{UU}

    @{U}Basic Info Tab@{UU}

      @{B}User ID Number@{UB} - Shows current UIN, and popup requestor to select alternate
        UIN.  If you are currently online when you change UINs, the client will go
        offline, save prefs/load prefs and go back online.

        If you are @{"creating a new UIN" LINK "STRMenus" 3} do not fill in this item, it will be filled
        in for you by the ICQ server.

        If you already have a UIN, fill in the UIN here and the password, then
        click the fill in userinfo from server button @{B}AFTER@{UB} going online normally.

      @{B}Nickname@{UB} - Nickname associated with current UIN.

      @{B}First Name@{UB} - First Name of user associated with current UIN.

      @{B}Last Name@{UB} - Last Name of user associated with current UIN.

      @{B}E-Mail@{UB} - E-Mail address associated with current UIN.

      @{B}Require Auth@{UB} - This only applies to real Mirabilis ICQ clients.  If this
        option is ticked, a person using one of those clients will have to ask
        for your @{"authorization" LINK "STRContactWin" 44} to add your UIN to their contact list.

      @{B}Password@{UB} - Password associated with current UIN (Hidden.)  Your password
        can be a maximum of eight characters and is case sensitive.

      @{B}Send new Password@{UB} - Send new password to server.  The packet used to change
        your password is no longer supported by the current version of the ICQ
        protocol that STRICQ uses.  When STRICQ changes to the latest version,
        password changes will work again.  For now, password changes do not work.

      @{B}Save User Info Changes@{UB} - Updates the user info for the current UIN.  Do not
        use this button if you have not yet created your own UIN or have not gone
        online.  This button changes your basic info on the ICQ server, not your
        local disk.  Your info is saved to the local disk at STRICQ shutdown or
        with the @{"Save Prefs" LINK "STRMenus" 76} menu command.

      @{B}Fill In Userinfo From Server@{UB} - If you already have created a UIN with
        another client or with another computer, simply fill in the UIN and
        password.  Go online and then click this button.  All the info stored on
        the ICQ server will be fetched and you will see the Basic Info and
        Extended Info Tabs update to the data from the ICQ server.


    @{U}Extended Info Tab@{UU}

      @{B}City@{UB} - City associated with current UIN.

      @{B}Country Code@{UB} - Country code associated with current UIN.  The country list
        popup button allows you to select your country from the built-in list
        without the need to know what your particular country code is.

      @{B}Time Zone@{UB} - Set this to your GMT offset time zone.  ie. Japan is GMT+9.  It
        is very important you set your time zone correctly, the Use Internet Time
        function relies on the time zone being set correctly.

      @{B}State@{UB} - State associated with current UIN.

      @{B}Age@{UB} - Age of user associated with current UIN.

      @{B}Sex@{UB} - Gender of user associated with current UIN.  Can be set to Female,
        Male, or Unspecified.

      @{B}Phone@{UB} - Phone number of user associated with current UIN.

      @{B}Home Page@{UB} - Home page of user associated with current UIN.

      @{B}About@{UB} - Short text message from the user associated with the current UIN.

      @{B}Save Changes@{UB} - Updates the user info for the current UIN.  Do not use this
        button if you have not yet created your own UIN or have not gone online.
        This button changes your extended info on the ICQ server, not your local
        disk.  Your info is saved to the local disk at STRICQ shutdown or with
        the @{"Save Prefs" LINK "STRMenus" 76} menu command.


    @{U}Servers Tab@{UU}

      @{B}Server Listview@{UB} - List of available ICQ servers and associated port.  To
        choose an ICQ server for STRICQ to connect with, simple select a server
        in this listview.  The server and port text gadgets under the listview
        should change to the server and port you just selected.

      @{B}Server And Port Text Gadgets@{UB} - These two gadgets are used to store the
        server and port STRICQ will to connect to ICQ with.  To manually add a
        server and port that is not already in the server listview, change these
        two gadgets to the new data and press the add button to the right.

      @{B}Add@{UB} - After manually changing the contents of the server and port text
        gadgets, press this button to add them to the server listview.

      @{B}Delete@{UB} - Select a server and port in the server listview and then press
        this button to remove them from the listview.


  @{U}Notify Tab@{UU}

    Some people have experienced path problems and you may need to qualify the
    full path to all programs being run or played:

      C:Run >NIL: C:Play16 DH0:STRICQ/Sounds/Message.wav

    Including Arexx scripts:

      C:Run >NIL: SYS:Rexxc/Rx DH0:STRICQ/Rexx/FileServer.rexx

 @{B}**@{UB} IMPORTANT: Any ARexx script started via these commands MUST be started with
    the C:Run command.  If C:Run is not used and the ARexx script attempts to
    use any of @{"STRICQ's ARexx commands" LINK "STRARexx"} a deadlock will occur because the
    script will wait for STRICQ to execute the ARexx command, but STRICQ is
    still waiting for the script to complete.

    @{B}On Startup@{UB} - Command to be executed when STRICQ is starting up.

    @{B}On Shutdown@{UB} - Command to be executed when STRICQ shuts down.  Don't expect
      the STRICQ ARexx port to be available for this script.

    @{B}Message Notify@{UB} - Command to execute when an incoming message is received.
      Add a %ld argument marker after the command to receive the UIN of the
      person logging on to the ICQ server.

    @{B}Message Preparse@{UB} - Command to execute when a message is typed into the
      @{"message entry gadget of a user window" LINK "STRContactWin" 17}.  It is the responsibility of the
      script to use the ARexx @{"SENDMESSAGE" LINK "STRARexx" 123} command to actually send the message
      to the recipient.  This command will receive the same three arguments as
      the message postparse command.

    @{B}Message Postparse@{UB} - Command to execute when an incoming message is received.
      The message postparse command receives three arguments, there is no need
      to add argument markers.  The arguments, in order, are:

        @{B}UIN@{UB} - The UIN of the person sending the message.

        @{B}Message Type@{UB} - There are several message types defined.  The most common
          type is 1 for a normal message or 4 for a URL message.

        @{B}Filename@{UB} - The filename will contain the actual contents of the received
          message.  The message is not modified by STRICQ at all.

          Note:  It is the responsibility of the command/script used by this
          option to delete this file when it is finished processing the message.

    @{B}Online Notify@{UB} - Command to execute when a user in your contact list comes
      online.  Add a %ld argument marker after the command to receive the UIN 
      of the person logging on to the ICQ server.

    @{B}Offline Notify@{UB} - Command to execute when a user in your contact list goes
      offline.  Add a %ld argument marker after the command to receive the UIN
      of the person logging off of the ICQ server.

    @{B}Chat Nofity@{UB} - Command to execute when a user sends a chat request message.
      Add a %ld argument marker after the command to receive the UIN of the 
      person requesting the chat.

    @{B}Chat Beep@{UB} - Command to execute during chat mode when CTRL-G is pressed.

    @{B}FileDirect@{UB} - Command to execute when a user sends a FileDirect request
      message.  Add a %ld argument marker after the command to receive the UIN
      of the person requesting to send a file.

    @{B}System Message@{UB} - Command to execute when a System Message is received.  This
      command receives no arguments.

    @{B}Go URL@{UB} - This command is obsolete, install @{"openurl.library" LINK "STRNeeded"} instead.

    @{B}Download Dir@{UB} - This is the directory that incoming files will be stored.


  @{U}Color Tab@{UU}

    @{B}Online@{UB} - Text color for all users that are listed as Online.

    @{B}Offline@{UB} - Text color for all users that are listed as Offline.

    @{B}Invisible@{UB} - Text color for all users that are listed as Invisible.

    @{B}Not Available@{UB} - Text color for all users that are listed as Not Available.

    @{B}Free For Chat@{UB} - Text color for all users that are listed as Free For Chat.

    @{B}Occupied@{UB} - Text color for all users that are listed as Occupied.

    @{B}Away@{UB} - Text color for all users that are listed as Away.

    @{B}Do Not Disturb@{UB} - Text color for all users that are listed as Do Not Disturb.


  @{U}Auto Reply Tab@{UU}

    Enter an auto-reply message in any of the string gadgets.  The checkbox at the
    end of each line, if ticked, will cause the entered text to be sent back to
    the sender of any message received.

    @{B}Online@{UB} - Text to be sent when you receive a message and are listed as Online.

    @{B}Invisible@{UB} - Text to be sent when you receive a message and are listed as
      Invisible.

    @{B}Not Available@{UB} - Text to be sent when you receive a message and are listed as
      Not Available.

    @{B}Free For Chat@{UB} - Text to be sent when you receive a message and are listed as
      Free For Chat.

    @{B}Occupied@{UB} - Text to be sent when you receive a message and are listed as
      Occupied.

    @{B}Away@{UB} - Text to be sent when you receive a message and are listed as Away.

    @{B}Do Not Disturb@{UB} - Text to be sent when you receive a message and are listed as
      Do Not Disturb.

  @{U}Options Tab@{UU}

    @{U}Options@{UU}

      @{U}Global Options@{UU}

        @{B}Open Log Window@{UB} - Open the @{"STRICQ Log" LINK "STRMiscWin" 70} window at startup.

        @{B}Open Message Win@{UB} - Opens up contact window when a new message is received.
          Otherwise the @{"message lamp" LINK "STRPrefsWin" 317} will display a new message indicator.

        @{B}Activity Name Sort@{UB} - When ticked, the @{"Activity" LINK "STRMiscWin" 0} window list will sort by
          Nick then time of activity.  When off, the list will sort by time of
          activity alone.

        @{B}Hide My IP@{UB} - This option sets a flag when you log in to the ICQ server
          indicating that you do not wish your IP to be seen by other ICQ users.
          This is not a fool proof method, though, and even PC users have hacks
          to view your IP even when hidden.

        @{B}Auto Reconnect@{UB} - Reconnect to server if disconnected by the server.  This
          function does seem to be working at this time.  Future versions may fix
          this problem.

        @{B}Show Message Time@{UB} - Show date and time of received messages.  This option
          affects both the @{"Incoming Messages" LINK "STRMessageWin"} window and the individual @{"user windows" LINK "STRContactWin"}.

          Note:  This flag is checked each time a user window is created and the
          @{"message listview" LINK "STRContactWin" 8} is setup according to this flag.  User windows are
          created on the fly, when the first message arrives from a user or when
          the user is double-click in the @{"contact list" LINK "STRContactWin"} window.  Therefore, turning
          this option on and off can result in different user windows having diff-
          erent settings.  Once the window is created, it will not be changed until
          STRICQ is restarted.

        @{B}Enable Web Presence@{UB} - In future versions of STRICQ, this option will allow 
          users viewing your ICQ website to know whether or not you are currently
          online.  This function does not currently work and future versions may fix
          this problem.

        @{B}Multi-Line Message Input@{UB} - When ticked, this will cause the @{"message textinput" LINK "STRContactWin" 17}
          box to operate in multi-line mode.  The same note from the Show Message
          Time option also applies to this option as well.

        @{B}Use Internet Time@{UB} - This will make STRICQ use the new Internet Time instead
          of your current local time in all message listviews and the @{"Activity Log" LINK "STRMiscWin"}.
          Internet Time was created by Swatch (http://www.swatch.com/) and is also
          used by CNN's website.  Internet Time is the same time all over the world,
          it has no boudaries.  A 24 hour day is divided into 1000 "Beats" ranging
          from 000 to 999 and is normally displayed as '@ 500 Beats' etc.  STRICQ
          drops the word 'Beats' in its display to save a little space.  Each Beat
          is 1 minute 26.4 seconds.

        @{B}Notify Lamp@{UB} - Currently, there are two different MUI custom classes available
          that STRICQ can use to indicate that @{"new messages are waiting" LINK "STRPrefsWin" 317} to be read in
          the contact list.  Lamp.mcc and or TWFmultiLED.mcc must be installed in
          MUI:Libs/mui/ in order to be used.

          Note:  This flag is only checked at program startup and the chosen lamp is
          loaded for use.  If this flag is changed, the lamp will not change until
          STRICQ is shutdown and restarted.


      @{U}Message Options@{UU}

        @{B}Message Pop-up@{UB} - Opens up a @{"user window" LINK "STRContactWin"} when a new message is received.
          Otherwise the @{"contact list notify lamp" LINK "STRPrefsWin" 317} will display a new message indicator.

        @{B}No Message Log@{UB} - When ticked, no messages will be logged to disk.  When ticked
          all messages will be logged to disk.  These message logs can be read from
          two different locations in STRICQ.  The first is from within the user window
          @{"history tab" LINK "STRContactWin" 179}.  The second location is using the @{"Message History" LINK "STRHistoryWin"} window.

        @{B}Screen To Front@{UB} - When ticked, any incoming message will cause the STRICQ
          window to move to the front.


    @{U}Contact List Tab@{UU}

      @{B}Storage@{UB} - This listview is used to store those items you do not desire to see
        in your contact list.

      @{B}Active@{UB} - This listview is used to store those items you wish to see in your
        contact list.

      The following is a description of the available @{"contact list" LINK "STRMainWin" 17} items (The list
        of items is subject to change at any time):

        @{B}Authorization@{UB} - This shows whether or not the user requires authorization
          before you add the UIN to your contact list.  This is meaningless in
          STRICQ as it is ignored, you can add anyone you want into your contact
          list.

        @{B}EMail@{UB} - The email address of the user.

        @{B}IP@{UB} - When logged on, this will show the IP address of the user or Hidden
          if the user has the Hide IP option ticked on.

        @{B}Message Lamp@{UB} - When the Message Pop-up option is turned off and the
          @{"Incoming Messages" LINK "STRMessageWin"} window is not open, the message lamp will be used to
          show that new unread messages are waiting to be read.

        @{B}Name@{UB} - The first and last name of the user.

        @{B}Nick@{UB} - The Nick of the user.

        @{B}Port@{UB} - When logged on, this will show the port of the user or Hidden if the
          user has the Hide IP option ticked on.

        @{B}Status@{UB} - The current @{"status" LINK "STRMainWin" 42} of the user.

        @{B}UIN@{UB} - The UIN of the user.


  @{U}Ignore Tab@{UU}

    @{B}Ignore UINs Listview@{UB} - This listview simply shows those UINs that are being ignored.

    @{B}UIN@{UB} - To manually ignore a UIN, enter the UIN in this string gadget and press the
      Add button.

    @{B}Add@{UB} - After typing a UIN into the string gadget, press this button and the entered
      UIN will be added to the listview.

    @{B}Delete@{UB} - Select a UIN from the listview and click this button to remove it from the
      ignore list.  You will receive messages from this UIN again.

    Note:  Coming soon, I will add the ability see the Nick of the UIN, the day the UIN
      was ignored, a reason why the UIN was ignored, and to be able to set a timeout so
      that the UIN will be removed from the ignore list after a settable amount of time.

@ENDNODE
@NODE "STRMiscWin" "Miscellaneous Windows"

@{U}Activity Log@{UU}

  The Activity Log shows any status mode changes made by all users in your
  @{"Contact List" LINK "STRContactWin"} while you are online with the ICQ Server.  You will see the
  Nick, time the activity arrived at your client, and what the activity
  was.  This will include all @{"Online, Offline, and Status mode" LINK "STRMainWin" 42} changes.

  There is one peculiar thing you may notice.  You can receive offline
  activities from users that were not previously shown as being online in
  any status mode.  These users were Invisible and changed directly from
  the Invisible mode to offline.  This is just a peculiar quirk of the ICQ
  server.

  This log can have two different sort methods.  The default is to only
  sort by time of activity.  The second method is to first sort by the Nick
  and then time of activity.  The sort method is settable in the Preferences
  window, Options Tab, Options Tab, Global Options, @{"Activity Name Sort" LINK "STRPrefsWin" 229}.

  If the @{"Use Internet Time" LINK "STRPrefsWin" 262} option is ticked.  The Activity Log will show
  the time of the activity as Beats instead of the local time.


@{U}Active Sockets@{UU}

  This window shows all of STRICQ's network connectivity.  This includes
  connections with the ICQ server, all direct client to client connections
  and on what ports STRICQ is waiting for incoming connections.  Each
  column is explained below:

    @{B}Socket@{UB} - This is the socket number for the connection as given to
      STRICQ by your TCP/IP stack.  This is a one-up number starting at
      zero.  As connections open and close, the numbers can be re-used
      by the TCP/IP stack, so, unless you have quite a few connections
      all open at once, these numbers should not get very high.

    @{B}Nick@{UB} - This is the Nick that the connection belongs to.  All UDP and
      listening connections will show your Nick.

    @{B}Dir@{UB} - This is the direction in which the connection was made.  There
      are three possibilities:

      o @{B}Out@{UB} - Your client made an outgoing connection.

      o @{B}Listen@{UB} - This is a connection where STRICQ is waiting for other
        ICQ clients to make incoming connections.  Used by direct client
        to client communication.

      o @{B}In@{UB} - This is a connection that was established by another ICQ
        client.

    @{B}IP:Port@{UB} - This is the IP address and port of the other client.  Listen
      connections will always show 0.0.0.0 for the IP address because
      there is no current connection.  The port will be the local port
      that your STRICQ client is using to wait for incoming connections.

      If a user has the @{"Hide My IP" LINK "STRPrefsWin" 233} option set, this column will simply show
      'Hidden'.

    @{B}Type@{UB} - There are several types of connections as explained below:

      o @{B}UDP@{UB} - This is the connection your client has with the ICQ Server.

      o @{B}Message@{UB} - This connection is only used for messages.

      o @{B}Chat@{UB} - This connection is only used during @{"Chat Mode" LINK "STRChatWin"}.

      o @{B}File@{UB} - This connection is only used during @{"FileDirect" LINK "STRFileWin"} sessions.


@{U}STRICQ Log@{UU}

  This window logs all packets sent between the client and the ICQ Server.
  It also logs all message packets sent via direct client to client
  communication.

  @{B}From Client To Server@{UB} - This logs all packets sent by the local client
    to the ICQ Server and other clients directly.

  @{B}From Server To Client@{UB} - This logs all packets sent by the ICQ Server
    and other clients to the local client.

  The column breakouts are as follows:

    @{B}Seq@{UB} - The sequence number of the packet.  All ICQ Server packets will
      have positive numbers counting up.  All direct client to client
      packets will have negative numbers counting down.

    @{B}Command@{UB} - This is the name of the packet being sent or received.  There
      are far to many to explain here, however most are self-explanitory.
      If you wish more information, ask on the @{"mailing list" LINK "STRSupport"}.

    @{B}Packet@{UB} - STRICQ stores all outgoing packets until the receiver sends
      an acknowledgement (ACK) packet in response.  When the ACK arrives,
      the packet is removed from memory.  Also, all incoming packets
      are stored until it is more convienent to process the packet.  When
      the packet is processed, it is removed from RAM.  This column shows
      'Yes' if the packet is still in memory and changes to 'No' when the
      packet is removed memory.

    @{B}Resend@{UB} - This column shows how many times a packet sent to the ICQ
      Server has to be sent before an ACK arrives.  It also shows how many
      times the ICQ Server sends a packet before it receives the client's
      ACK packet.  Direct client to client messages will not use this
      column.

    @{B}ACK@{UB} - This column will say 'No' until the acknowledgement packet
      arrives.  When it does, this column changes to 'Yes'.

  This window can give an indication of network stability between the
  client and the ICQ Server.  Each packet that remains unacknowledged by
  the ICQ server is resent every five seconds for a maximum of six tries.
  At this point STRICQ will go offline due to an apparent loss of 
  communication with the ICQ Server.


@{U}Pager Messages@{UU}

  Pager messages are sent via two different methods but arrive at the
  client in the same format.  The first method is the Web Pager.  The
  best place to see the Web Pager is at your ICQ homepage.  The URL
  is http://wwp.icq.com/<UIN>/ where the <UIN> is your personal UIN.
  The second method is via email.  The email address to use is
  <UIN>@pager.mirabilis.com where <UIN> is, again, your personal UIN.
  And, of course, you can substitute anyone's UIN in order to send a
  pager message to that person.  When an EMail or Web Pager message
  arrives, this window will open.  The layout is as follows:

    @{B}Name@{UB} - This will be the name entered into the form on the Web Pager
      or the From: address of the email.

    @{B}EMail@{UB} - This will be the email address entered into the form on the
      Web Pager or the From: address of the email.

    @{B}Message@{UB} - This listview will contain the actual message sent.  The
      first line will always contain the subject of the message.  If the
      Web Pager format was used, the second line will contain the IP
      address of the sender.  This will be followed by the actual message.


@{U}System Message@{UU}

  The System Message is used by Mirabilis, so far, to announce new features
  to their website.  STRICQ requests a System Message the first login after
  program startup.  Historically, there are about 7 System Messages.  Once
  you have seen all seven, no more will pop up.  At least until Mirabilis
  adds a new message.

    @{B}Message Listview@{UB} - This listview displays the ad message or whatever
      Mirabilis wants you to know about.

    @{B}URL Button@{UB} - Mirabilis will set up a webpage giving more information
      about this ad.  Click this button to open your configured browser
      with the specified webpage.

    @{B}OK@{UB} - This simply closes the System Message window.


@{U}Search For User@{UU}

  This window is opened by the @{"Search UIN" LINK "STRMenus" 53}  menu item or the @{"Add" LINK "STRMainWin" 30} button
  on the main contact list window.  Using this window, you can search for
  other ICQ users three different ways.  The first is simply a UIN search
  if you already know the user's UIN.  The next is using E-Mail, and the
  final method is using a combination of Nick, First, and Last name.

    @{B}Search UIN@{UB} - Tick this checkbox and you are searching for a specific
      UIN.  The other entry boxes will be ghosted.

    @{B}UIN@{UB} - Enter the UIN you want to add to you contact list here.

    @{B}Search E-Mail@{UB} - Tick this checkbox and you are searching for a specific
      E-Mail address.  All other boxes will be ghosted.

    @{B}E-Mail@{UB} - Enter the E-Mail address of the person you are searching for.
      Enter the whole address, no partial or wildcard searches are allowed.

    @{B}Search Name@{UB} - Tick this checkbox and you are searching any combination
      of Nick, First, or Last name.

    @{B}Nick@{UB} - Enter the nick of the person you are searching for.

    @{B}First@{UB} - Enter the first name of the person you are searching for.

    @{B}Last@{UB} - Enter the last name of the person you are searching for.

    @{B}Start Search@{UB} - After entering the search parameters, click this button
      to start the search process on the ICQ Server.


@{U}Search Results@{UU}

  This window will show the results of searches for E-Mail, Nick, First, or
  Last name.  No more than 40 hits will ever be returned by the ICQ Server.
  If the person you are looking for is not in the 40 search hits returned,
  there is no way to find the person.  Try refining the search by adding
  more specific information, if known.

    @{B}Search Hits Listview@{UB} - This is where the information about the found
      search hits will be listed.  The fields returned are UIN, Nick,
      First and Last name, E-Mail address, and finally, the user's
      authorization required flag.  Remember, STRICQ ignores the auth-
      orization flag when adding a user to your contact list.

    @{B}Search Status Textbox@{UB} - This box will show how many search hits were
      found and will also show search complete when the last packet is
      returned by the ICQ Server.

    @{B}Add / Update Contact List@{UB} - Select a returned search hit in the list-
      view and click this button to add the user to your contact list.  If
      the user is already in your contact list, the current information will
      be added to the contact's information stored on your local disk.

    @{B}Get Userinfo@{UB} - Select a returned search hit in the listview and click
      this button to grab all available details stored on the ICQ Server.
      This will open the User Information window where the info will be
      displayed.
@ENDNODE
@NODE "STRHistoryWin" "Message History Window"

@{U}Message History@{UU}

  More controls will be added to this window at a later date to give the same
  functionality here as given in the user window @{"History Tab" LINK "STRContactWin" 174}.

  @{B}Current UIN/Nick@{UB} - This text box is at the top of the window and shows the
    UIN and Nick of the message log currently displayed in the listview.

  @{B}Stored Log Listview@{UB} - This listview is on the left side of the window and
    shows all currently stored message logs.  To view a log, double-click the
    entry in the listview.

  @{B}Displayed Log Listview@{UB} - This listview is on the right side of the window
    will display the currently selected message log.
@ENDNODE
@NODE "STRMessageWin" "Incoming Message Window"

@{U}Incoming Messages@{UU}

  @{B}Message Display@{UB} - Shows all sent and received messages since STRICQ
    started.  Here are the column breakouts:

      @{B}Sender@{UB} - Shows who sent the message, including yourself.

      @{B}Time@{UB} - Shows the time the message was sent locally or the time
        the message was received locally.  This column can optionally be
        configured to be shown or not.  @{"Preferences window" LINK "STRPrefsWin"}, Options Tab,
        Options Tab, @{"Show Message Time" LINK "STRPrefsWin" 242}.

      @{B}Message@{UB} - This column shows the message sent or received.  Since this
        is a global message window, all sent messages are also tagged with
        an extra line showing who the message was sent to.

        Underlined URLs can be double-clicked to open your configured web
        browser with the received URL.

        In order to designate who to send a message to, click on the line
        containing the message with which you wish to reply.  As new messages
        are received, the highlight line will change to the new message which
        changes the message and nick with which you will be replying.  Once
        have started typing something into the Message Textinput box, the
        highlight will @{B}NOT@{UB} move to any new messages that might be received.
        This 'reply message lock' prevents you from sending messages to the
        wrong receiver in most cases.

  @{B}Reply@{UB} - This button opens a seperate window which can be used to enter
    messages containing more than one line to be sent to the currently
    highlighted message's sender.  Here is the description of this window:

      @{B}Reply To Textbox@{UB} - This shows the UIN and Nick of the recipient of the
        message.

      @{B}Message Entry Textinput Box@{UB} - This is where you type your message.
        Multiple lines are allowed.  However, as of this writing, only the
        first line of the message will be seen locally, but the recipient
        will see the whole message.  Press TAB+Enter to send the message.

      @{B}Send This Message@{UB} - Click this button to send the message to the
        recipient.

  @{B}Get Info@{UB} - Select and highlight a message in the message display listview
    then click this button.  This will open the @{"User Information" LINK "STRUINfoWin"} window
    which will be filled with the information stored on the ICQ Server.

  @{B}Remove Message@{UB} - Remove the currently selected message from the message
    display listview.

  @{B}Clear Messages@{UB} - Clears all messages from the message display listview.

  @{B}Authorize@{UB} - @{"Authorize" LINK "STRPrefsWin" 26} the sender of the currently selected message to add
    you to UIN to their contact list.

  @{B}Send URL@{UB} - This button opens a seperate window which can be used to enter
    a URL and its description to the currently highlighted message's sender.
    Here is the description of this window:

      @{B}Send URL Textbox@{UB} - This shows the UIN and Nick of the recipient of the
        URL message.

      @{B}Description@{UB} - This will be the description of the URL to be sent.

      @{B}URL@{UB} - This is the actual URL to be sent.

      @{B}Send This URL@{UB} - Click this button to send the URL message to the
        recipient.

  @{B}Reply Message@{UB} - Highlight a received message in the message display listview
    then enter a reply message into this Textinput box.  Pressing return will
    send the message to the recipient.

  @{B}Sent To@{UB} - Displays UIN and nickname of the recipient of your next message.
    This text box changes each time a new message is received and you have not
    started entering a message into the reply message Textinput box.  Also,
    clicking on messages in the message display listview will cause this text
    box to change.

@ENDNODE
@NODE "STRUINfoWin" "User Information Window"

@{U}User Information@{UU}

  This window appears when you press the @{"Refresh" LINK "STRContactWin" 137} button on a user's contact
  window, the @{"User Info" LINK "STRMessageWin" 44} button on the Incoming Message's window, or the
  @{"User Info" LINK "STRMiscWin" 190} button on the Search Results window.

    @{U}Basic Information Tab@{UU}

      @{B}UIN@{UB} - The UIN of the user being displayed.

  @{B}    Nick@{UB} - The user's nickname.

    @{B}  First@{UB} - The user's first name.

    @{B}  Last@{UB} - The user's last name.

      @{B}E-Mail@{UB} - The user's e-mail address.

  @{B}    Auth. Required@{UB} - Does the user require authorization for Mirabilis client's
        to add his/her UIN to the contact list?  This does not apply to STRICQ.

    @{U}Extended Information Tab@{UU}

      @{B}City@{UB} - User's City.

      @{B}Country Code@{UB} - User's Country.

      @{B}Time Zone@{UB} - User's GMT offset time zone.

      @{B}State@{UB} - User's state or province.

      @{B}Age@{UB} - User's age

      @{B}Sex@{UB} - User's gender.

      @{B}Phone@{UB} - User's phone number.

      @{B}Home Page@{UB} - User's home page.  Click on this button to open your configured
        browser with the user's home page.

      @{B}About@{UB} - A short message the user entered about him/herself.

    @{B}Add / Update Contact List@{UB} - This button will either add the user to your contact
      list or update the contact with the current information if the contact is
      already in your contact list.


@ENDNODE
@NODE "STRChatWin" "Chat Mode Related Windows"

@{U}Incoming Chat Request@{UU}

  This window appears when a user sends you a chat request.

    @{B}Chat Reason Text Box@{UB} - The reason why the user wants to chat with you
      will appear in this area.

    @{B}Reason For Refusal Textinput Box@{UB} - If you do not want to accept the
      chat request, enter a short text why you do not want to chat.

    @{B}Accept@{UB} - Click this button to accept the chat request and enter into
      chat mode.

    @{B}Refuse@{UB} - Click this button after entering a refusal reason to notify
      the requesting user of your refusal.


@{U}Outgoing Chat Request@{UU}

  This window appears after selecting the @{"Chat" LINK "STRContactWin" 53} button from a users individual
  contact window.

    @{B}Enter Reason For Chat Textinput Box@{UB} - Enter a short reason here for why you
      are requesting a chat.

    @{B}Send@{UB} - After entering a reason for chat, click this button to actually
      request the chat with the other user.

    @{B}Cancel@{UB} - This button closes the Chat Request window and cancels the 
      request.


@{U}Chat Mode@{UU}

  The Chat Mode window is divided into two halves.  The upper half is where
  you will see the other end or incoming half of the conversation.  The bottom
  half of the window is where you, the sender, will type your half of the
  conversation.

    @{B}Incoming Text Box@{UB} - The nick of the person you are currently chatting with
      will appear in this area.

    @{B}Incoming Textinput Box@{UB} - This is where all conversation entered on the
      other end will appear.  Do not type or click into this window.  The scroll
      bars on the incoming box will work normally.

    @{B}Outgoing Text Box@{UB} - Your nick will always appear in this area.

    @{B}Outgoing Textinput Box@{UB} - This is where you will type all your end of the 
      conversation.  Do not change the cursor location, as this will also change
      the location of new entered text.  To beep the other end, press CTRL-G.
      The scroll bars on this outgoing box do not work.

    @{B}Clear Recv@{UB} - This clears all text in the Incoming Textinput box.  Use this
      if, after a long conversation, the window becomes sluggish.

    @{B}Clear Send@{UB} - This clears all text in the Outgoing Textinput box.  Use this
      if, after a long converstaion, the window becomes sluggish.

    @{B}Wrap at 70@{UB} - This sets the word wrap column.  It defaults to 70 everytime.

    @{B}End Chat@{UB} - This button will end chat mode.  Chat mode will also end if the
      other end clicks this (or equivelant) button as well.  The Chat Mode
      window's close gadget also has the same effect.

      When the End Chat process occurs, a requestor will appear asking if you
      would like to save the chat mode conversation.  If you do want to save
      the conversation's text, answer 'Yes' and the text will be saved to the
      UIN's history file which can be read from the @{"History Tab" LINK "STRContactWin" 179} of the user's
      individual contact window, or from the main @{"History" LINK "STRHistoryWin"} window.
@ENDNODE
@NODE "STRFileWin" "FileDirect Related Windows"

@{U}Incoming FileDirect Request@{UU}

  This window appears when a user sends you a FileDirect request.

    @{B}FileDirect Text Box@{UB} - The name of the file to be sent to you, or, if
      more than one file, the number of files to be sent, followed by
      a short description of the file(s) will appear in this area.

    @{B}Reason For Refusal Textinput Box@{UB} - If you do not want to accept the
      files, enter a short text why you do not want them here.

    @{B}Accept@{UB} - Click this button to accept the file(s) and begin the transfer.

    @{B}Refuse@{UB} - Click this button after entering a refusal reason to notify
      the requesting user of your refusal.


@{U}Outgoing FileDirect Request@{UU}

  This window appears when you choose the @{"FileDirect" LINK "STRContactWin" 67} button from the command
  popup from an individual contact window.  Use this window to choose the
  files to be sent.

    @{B}File List Listview@{UB} - This listview displays the path, filename and number
      of bytes of each file you have chosen to send.

    @{B}File Count Text Box@{UB} - This is directly under the File List listview on the
      left side.  This area keeps a running count of all the files you have
      chosen to send.

    @{B}File Size Text Box@{UB} - This is directly under the File List listview on the
      right side.  This area kees a running total of all the file's sizes that
      you have chosen to send.

    @{B}Add File(s)@{UB} - Clicking on this button brings up a mult-selectable file
      requestor.  You can choose as many files as you want.  Also, you can
      click this button multiple times to add files from different directories
      as many times as needed before actually sending the files to the recipient.

    @{B}Remove File@{UB} - If you decide you do not want to send a particular file to
      the recipient, just click the file in the File List listview and then
      click this button to remove the file.

    @{B}File Description Textinput Box@{UB} - Enter a short description of the files 
      that you are sending.

    @{B}Send@{UB} - Click this button to actually begin the filetransfer process.  A
      message will be sent to the recipient asking for acknowledgement.  If the
      recipient refuses the files, a requestor will open with the refusal
      reason.  Otherwise, the actual FileDirect transfer will open and display
      the current status of the transfer.

    @{B}Cancel@{UB} - Click this button to cancel the FileDirect request, the window
      will close.


@{U}FileDirect Transfer@{UU}

  This window shows the progress of any incoming or outgoing file transfer.
  Quite a few items are tracked in this window, here is there description:

    @{B}Filename@{UB} - This is the current filename of the file being transferred.

    @{B}Files@{UB} - This shows which file is currently being transferred.  You will
      normally see displays of 1/1 or 1/3 then 2/3 then 3/3, etc.

    @{B}Directory@{UB} - This is the directory and path of the file that is currently
      being transferred.  On incoming transfers, this is the directory where
      the file is being stored.

    @{B}Status@{UB} - This is the status of the transfer.  There are several listed
      below:

        @{B}Listening@{UB} - The transfer is still in the initialization phase.

        @{B}Sending / Receiving@{UB} - Indicates you are either sending or receiving
          files.

        @{B}Skipping@{UB} - Either the sender or the receiver has decided to skip the
          current file before the transfer is finished and to go on to the
          next file.

        @{B}Aborted@{UB} - The entire transfer process was aborted.

        @{B}Paused@{UB} - The Speed slider has been moved all the way to zero.

        @{B}Finished@{UB} - All files have been transferred sucessfully.

    @{B}File@{UB} - This gauge indicates visually and in percentages how much of the
      current file has been transferred.

    @{B}Size@{UB} - This indicates in the form 'xx Bytes of xx' how much of the
      current file has been transferred.

    @{B}Batch@{UB} - This gauge indicates visually and in percentages how much of all
      files to transferred has been transferred.

    @{B}Size@{UB} - This indicates in the form 'xx Bytes of xx' how much of all files
      to be transferred has been transferred.

    @{B}Elapsed@{UB} - This keeps track of how much time the transfer of all files has
      taken in the form of HH:MM:SS.

    @{B}Remaining@{UB} - This gives a rough estimate of how much time the transfer of
      all files will take in the form of HH:MM:SS.

    @{B}CPS@{UB} - This gives a rough estimate of the current characters (or bytes)
      per second the transfer is acheiving.

    @{B}Speed@{UB} - This sets the speed of the file transfer.  It ranges in percent
      from 100%, no packet delay, to 0% which is 'Paused' mode.  Starting at
      99% a .05 second delay between each packet sent will slow the transfer.
      So, 98% is a .1 second delay, 97% is .15 second delay and so on.

    @{B}Skip File@{UB} - During transfers of only one file, this button will be ghosted.
      When sending more than one file, this will cause the sender to stop the
      current file and continue on to the next file to be sent.

    @{B}Abort@{UB} - This will stop the entire transfer process.  The FileDirect
      Transfer window's close gadget has the same effect.
@ENDNODE
@NODE "STRHistory" "Long, long ago in a galaxy far, far away..."

@{B}0.136@{UB}:

  @{U}Added@{UU}:

  o Ignores duplicate packets from the server
  o Ignores previous searches if another is started before the last completed


@{B}0.138@{UB}:

  @{U}Bugs@{UU}:

  o Oops, introduced a bug that the current search is ignored as well


@{B}0.146@{UB}:

  @{U}Bugs@{UU}:

  o Contact list now updates when a new person is added after going online
  o No more strange IP, Port, or Status numbers

  @{U}Added@{UU}:

  o Now calls Intuition's DisplayBeep() function when a message arrives


@{B}0.149@{UB}:

  @{U}Bugs@{UU}:

  o Ok, NOW the status shows up properly instead of strange numbers


@{B}0.166@{UB}:

  @{U}Added@{UU}:

  o Password change button on prefs window to change your pw on the server
  o Put a Notify Command in prefs, will be called each time a message arrives
  o Put a one line Textinput box at the bottom of the message window, now
    you can send messages without using the mouse (Thanks to Bjorn Hagstrom)


@{B}0.171@{UB}:

  @{U}Bugs@{UU}:

  o The one line Textinput and Send To Text box may have bugs associated,
    I've fixed one, but there may be more


@{B}0.186@{UB}:

  @{U}Bugs@{UU}:

  o if The total length of Nick + UIN + 1 was greater than 20, a GURU was
    sure to come

  @{U}Added@{UU}:

  o Status changes, and yes, Invisible == Offline


@{B}0.239@{UB}:

  @{U}Added@{UU}:

  o Colors for each status type to easily know who is what
  o Message to user lock, while typing a message to someone, a new message
    won't cause you to send to the wrong person
  o Send URL messages appear in the Message History list, double-click to
    execute the send to browser command
  o You need to edit the SendBrowser.rexx script to fit your system paths
  o AutoOnline config item added to prefs
  o Authorization messages including an Authorize button, click on the
    line in the Message History window then click Authorize
  o Log window no longer opens on startup
  o New status line above Contact List shows current status, Online == UIN
  o If a user is shown as Offline, but an online message appears from that
    user, the status will change to Invisible

  @{U}Open@{UU}:

  o Offline messages do not seem to be coming in, this could be STRICQ
    or Mirabilis' server, I do not know which
  o Going offline while in a status other than Online then going back
    online will cause the status cycle gadget to reflect the wrong state

  @{U}Untested@{UU}:

  o URL Messages and send to browser script
  o Authorization messages


@{B}0.244@{UB}:

  @{U}Bugs@{UU}:

  o One of the UIN's for offline messages wasn't set properly
  o The log off packet was malformed, been that way since the beginning, this
    fixes the offline messages bug
  o Going offline then online in a status other than online will still show the
    current status instead of just Online

  @{U}Added@{UU}:

  o Auto open the log window (Prefs option)
  o Auto reconnect when the server drops you (Prefs option)
  o UIN of message sender passed as argument to Notify Command, use %ld for
    argument placement in the command

  @{U}Working@{UU}:

  o With some help from SuperAmigaMouse's friend, URL Messages and Send to
    Browser were determined to be fully functioning


@{B}0.258@{UB}:

  @{U}Added@{UU}:

  o Prefs option to change the Contact list to just Nick and Status
  o Send URL button
  o URLs are now underlined

  @{U}Changed@{UU}:

  o All Prefs and the Contact List are saved with Settings -> Save Prefs menu
    command


@{B}0.322@{UB}:

  @{U}Bugs@{UU}:

  o The "End of Search" packet is now recognized
  o Which also solved the enforcer hits associated with searches
    *sigh* ... pointers ... :)
  o Auto reconnect was broken ... pointers ...

  @{U}Changed@{UU}:

  o After messing with the login packet, STRICQ now IDs itself as a Win3.1
    client, I think...
  o IMPORTANT:  When upgrading from v0.258 you must rename "Colors.cfg" to
    "Config.cfg", Sorry :(

  @{U}Added@{UU}:

  o Extended info queries are new and sent concurrent with the short info
    request so they work as one query
  o User online notification command which takes the UIN as an argument, use
    %ld for the argument placement
  o ICQ advertising :) To view, open the "System" window after each FIRST
    login after running STRICQ
  o Away messages for all online status possibilities
  o ICQ server listing
  o ICQ server query (Why?  Because it was there...) It always returns the
    same info no matter which server you use from the server listing
  o Personal Web Communicator messages are now recognized
  o No longer requires an active TCP stack online before starting, can be
    placed in WBStartup if desired

  @{U}Working@{UU}:

  o Authorize works just fine


@{B}0.375@{UB}:

  @{U}Bugs@{UU}:

  o No more than 125 contacts could be used at a time, fixed by sending
    multiple Contact List packets for each 125 UINs in the contact list

  @{U}Added@{UU}:

  o Individual logging of message traffic per Nick/UIN, double-click entry in
    the contact list to view history
  o Userinfo window now has a button for the home page line
  o Now able to change your basic info
  o Now able to change your extended info
  o Quitting STRICQ now properly logs off the server before shutting down
  o Configurable time column in the message window
  o Registering a new user is now possible

  @{U}Known Bug@{UU}:

  o STRICQ can be started while offline, but the TCP stack must be already
    be loaded, will try to get it to load without bsdsocket.library later on


@{B}0.445@{UB}:

  @{U}Bugs@{UU}:

  o Received URLs were not logged.

  @{U}Added@{UU}:

  o Multiple UIN support.  All config files have been moved to a new directory
    PROGDIR:Users/<uin>/ and the logs are stored in PROGDIR:Users/<uin>/Logs/
    This will cause problems for everyone already set up, but it will be
    necessary to move your current config files to match the new storage
    setup.  This is what took so long to get working
  o Your Authorization status is now changable along with your basic info
  o A directory list so that all log files can be read at once
  o Can now grab and fill in your basic and extended userinfo from the server
  o Log files now get the Nick or UIN as the comment
  o Added a Get Userinfo button to the search results list window.
  o Added a new notify command for System Messages (No arguments are passed)
  o Started support for "See me when Invisible" and individual personal UIN
    comments


@{B}0.560@{UB}:

  @{U}Changed@{UU}:

  o Moved online status selector gadget to the main contact list window
  o Removed the "Send Message" and "Send URL" buttons from main window
  o Can now select multiple UINs in the contact list for messaging or
    deleting
  o Iconification will no longer cause the server to drop the client
    into offline status.  All functions will continue to work normally and
    incoming messages will cause STRICQ to uniconify itself
  o Main message window now pops open when a new message arrives AND the
    sender's UIN is NOT in your contact list
  o There is a new method of storing a user's information, this version of
    STRICQ will auto convert between the old and new format at startup.
    If you want, you should make a copy of your Contacts file in your UINs
    storage directory
  o The Remove Contact button on the main contact list window will now
    also delete the history file and information file

  @{U}Added@{UU}:

  o Individual UIN user windows.  For now, each user window has five tabs:
    o Dialogue - All sent/recv'd messages for this UIN appear in the list
      very much like the main message window.  The Remove Message button will
      remove the selected line from the message list.  Clear Messages will
      remove all messages at once.  The Authorize button will allow a PC or
      Mac ICQ user to add your UIN to their contact list if you require
      authorization.  This button can be used even if the user is offline.
      The tick box at the end of the message entry field can be used to
      send messages from this user window to all users selected in the main
      contact list window at one time.
    o Send URL - Enter a URL and its description here.  The Send This URL
      button actually sends the URL to the user
    o Userinfo 1 - This shows all the basic information to include the user's
      online status and IP:Port address.  The Load button will re-load the
      user's info from your local disk.  The Save button will save ALL the
      current user's stats to your local disk.  When the UIN Options page is
      added, they will also be saved with this button.  The Query Server will
      grab this user's latest info from the server
    o Userinfo 2 - This is just the user's extended info.  All info on this
      page is also controlled by the buttons on the Userinfo 1 page
    o History - All previous messages sent to/from this user can be viewed
      here.  The Load button will actually load the history file into the
      list.  The Remove Line button will remove individual messages from the
      list.  The Clear button removes all messages from the list.  The Save
      button will save the current list contents back to disk.  The Delete
      button will delete the user's history off the disk


@{B}0.688@{UB}:

  @{U}Added@{UU}:

  o When someone not in your contact list sends you a message, that person's
    UIN will show up in your contact list as a New User.  To permanantely add
    the UIN to your contact list you must press Query Server and Add/Update.
    If you do not do this, the new UIN will be lost when you exit the program
  o There is a new page in the prefs window called Defaults.  In future
    versions this page will be used as a set of default prefs for the user
    windows.  Right now, there is only one option, Message Pop-Up.  When
    selected, an incoming message will cause that user's window to open,
    otherwise it will stay closed and the user's nick will become bold in the
    contact list
  o TCP Messaging.  TCP messages are client to client messages that bypass
    the ICQ server.  The TCP protocol is the basis for chat and file transfer.
    At this time, only Miami users will be able to take advantage of direct
    client to client messaging.  This version will auto-detect Miami and use
    the TCP routines.  If miami.library is not present, STRICQ downgrades
    itself to work like pre-0.560 versions
  o Active Sockets window.  This window shows a list of all currently open
    TCP sockets, the nick it belongs to, whether the connection was made "In"
    to your computer or "Out" of your computer, and the IP:Port address of the
    user connected to
  o The main message window now has a prefs option to auto-open on program
    startup
  o There is a new Offline Notify command.  ICQ itself does not have an
    offline sound, so there is no sound provided for this event.  The UIN
    is passed as an argument, use %ld for argument placement
  o There is a new Message Parse command.  Upon every receipt of a message
    this script will be called with two arguments, first, the incoming UIN,
    and second, the filename that the RAW message is stored in.  I call this a
    RAW message, because URLs arrive as normal messages.  And there are other
    messages like URL messages that need parsing.  Please refer to the
    included ParseICQMessage.rexx script for some more details.  There are no
    arguments that can be added to this command, the UIN and filename are
    always added before executing the script

  @{U}Bugs@{UU}:

  o Removed enforcer hits and finally killed the disappearing server prefs
    associated with the enforcer hits and Mirabilis' System Messages
  o Removed the enforcer hits associated with the Add/Update button when
    adding a new user to the contact list
  o Fixed the cause of the freezes associated with v0.643 Beta
  o Fixed the UIN passed to the Message Notify script.  In 0.643/647 beta the
    UIN was always passed as 0


@{B}0.722@{UB}:

  @{U}Added@{UU}:

  o Individual UIN comments.  The comment object is located under the
    Comments tab in the user windows.  The comments are limited to 512
    characters, but for now keep them below 256.  If you make any changes
    you must press the Save button on the User Info 1 page to send the
    comment to disk
  o Flash and Urgent TCP messages are now recognized, but they are not
    afforded any 'special' attention at this time
  o TCP Chat and File transfer packets are now recognized and ignored,
    Cancel packets are still not recognized
  o The total number of contacts in the list is now updated for each
    addition and removal to the list, the word "Contacts" was removed
  o TCP messages from an Offline or Invisible sender now changes the sender
    to Invisible status in the contact list
  o Send2Browser.rexx script replaces the previous sendbrowser.rexx

  @{U}Changed@{UU}:

  o The contact list is no longer updated for every message
  o User windows will no longer become active if the window is already open
    and a new message is received
  o Nicks will no longer be bolded in the contact list if the Incoming
    Messages window is open when a message is received
  o Initial User Online packets no longer trigger the notify event
  o Offline Message packets no longer trigger the notify event (The Parse
    Message script is still called, though)

  @{U}Bugs@{UU}:

  o Both the URL send and receive routines were broken
  o The ASCII char 0xFE (254) is no longer filtered from non-URL messages
  o The timehack on TCP sockets is now properly stored (This bug caused a
    TCP socket to either timeout immediately after being opened or the
    socket would never timeout.  Now, OUTGOING (only) sockets timeout and are
    closed after six minutes of inactivity)
  o The Incoming Messages window was not scrolling to the bottom message
  o May have finally killed the enforcer hit when hitting Add/Update while
    the UInfo window is still empty

  @{U}Open@{UU}:

  o The User Windows will still not reflect an Invisible status


@{B}0.773@{UB}:

  @{U}Added@{UU}:

  o The User Windows will now show an Invisible status
  o Messages sent by an invisible PC/Mac user are now recognized (0x0090)
  o Lamp.mcc is now used as the method of message notification when user
    window popup is disabled and the Incoming Messages window is closed.
    For this release, this is how the Lamp.mcc configurable colors are used:

    Lamp.mcc    STRICQ
    ----------- -----------------
    Off         No new messages
    Ok          One new message
    Warning     Two new messages
    Error       Three new messages
    Fatal Error Four or more new messages

  @{U}Changed@{UU}:

  o Complete rewrite of the package notification method.  Upon the advice
    of Holger Kruse, I've changed the routines to be more compatible with
    other TCP stacks.  This means that almost all TCP stacks will now work
    with STRICQ.  I've done some extensive testing under AmiTCP/NetConnect2
    and the direct client to client messages worked very well.  For those
    that might want to know, I was using GetSocketEvents() and have changed
    to using WaitSelect()
  o The ICQ prefs, Basic and Extended, in the STRICQ prefs and userwindows
    are now grouped together under one tab.  The Basic and Extended pages
    are sub-tabs under the main tab

  @{U}Open@{UU}:

  o URLs still not added to the history file
  o The Contact List count is not reset to zero when switching UINs
  o TCP cancel packets are still not recognized (0x07d0)
  o When messages are forced to fallback from TCP to UDP, the STRICQ debug
    window will open.  Ignore it


@{B}0.783@{UB}:

  @{U}Added@{UU}:

  o Busy.mcc to indicate the status of message transmission.


@{B}0.894@{UB}:

  @{U}Added@{UU}:

  o Real Time Chat Mode!  A lot has been added here

    o An incoming chat request will open a window with the requesters reason
      for chat at the top.  Underneath is a text box to enter a reason to
      refuse the chat.  Pressing Accept will start the chat mode, and pressing
      Refuse will send your entered refusal reason to the sender and cancel
      the request
    o To request a chat with someone, press the Chat Request button on the
      user window.  This will open a window where a reason for chat can be
      entered.  Pressing Send will initiate a Chat request with the person the
      user window belongs too.  Pressing Cancel will close the Chat Request
      window without sending anything to the receiver
    o The Chat Window itself is divided into two halves.  The upper half is
      for the other end of the connection.  All received text will appear
      here.  The bottom half is where you type your outgoing text.  Pressing
      CTRL-G will cause the other end to run the Chat Beep command

  o Under Notify prefs, added a Chat Notify and Chat Beep commands

  @{U}Changed@{UU}:

  o Moved the Servers tab to the ICQ tab
  o Moved the Program options to the Defaults tab and renamed it Options

  @{U}Bugs@{UU}:

  o URLs are now saved in the History
  o The Contact list is reset to zero when switching UINs
  o TCP Cancel packets are now recognized and used
  o The TCP fallback to UDP message has been removed

  @{U}Open@{UU}:

  o Incoming messages can cause STRICQ to lockup while iconified


@{B}0.960@{UB}:

  @{U}Added@{UU}:

  o ARexx interface.  See the included STRICQRexx.doc for command(s)
  o A lot of other small changes I don't remember right now

  @{U}Changed@{UU}:

  o Removed Connect and Disconnect buttons and related menu items.  Online
    and Offline status is now set via the cycle gadget (and IMHO is a LOT less
    conveinent)

  @{U}Bugs@{UU}:

  o Fixed to two very bad bugs associated with sockets.  The bugs have been
    there for a while, it just took chat mode to find them.  These two fixes
    should make for better incoming chat connections with PCs and Macs.
  o Fixed a bug in that a second user search with the Add Contact window would
    cause a guru.  (This was introduced when I added the Lamps, FYI)
  o The de-iconify bug is fixed.


@{B}0.971@{UB}:

  @{U}Added@{UU}:

  o Added prefs option to change the sort method of Activity window.

  @{U}Bugs@{UU}:

  o Fixed a few bugs associated with chat mode.  Still some left, though.


@{B}0.1010@{UB}:

  @{U}Added@{UU}:

  o Configurable Contact List columns.  See Prefs -> Options -> List.
  o Ignore UIN list.  See Prefs -> Ignore.
  o Associated with the Ignore list is a new button on every user window called
    ... "Ignore".  Press it, and the UIN of the window you pressed the button
    in will be added to the Ignore list.
  o There is a surprise in the About window.  Now aren't you glad you read the
    docs?
  o Took advantage of a flaw in the ICQSpoof program which allowed the addition
    of spoofing protection.  Spoofs will be ignored and a debug window will open
    showing the real IP of the spoofer.
  o Several new online status' were created with the release of ICQ99a.  These
    new status' will appear with '99a' on the end of the status text, users in
    one of these status' will sort in the contact list differently.  (for now)
  o Special thanks to Jody Z Vogel for the rendered image.  A good friend and
    co-worker.  An avid Mac-Lover, but friend enough to put the boing on his
    Mac!

  @{U}Changed@{UU}:

  o Removed the word "Contact" from the Add and Remove buttons on the main
    window.
  o Busy bar now disappears when not in use.

  @{U}Bugs@{UU}:

  o Fixed yet another bad bug associated with socket management.
  o General cleanup of small bugs as I found them.


@{B}0.1155@{UB}:

  @{U}Added@{UU}:

  o File Transfers are here!
  o Added the "Prefs" page to the "User Info" page of the user windows.
    Currently, this page only contains one item, "See Me Invisible".  As of
    this release, the check does NOT work and should not be used.
  o Added two new global options to the "Prefs" -> "Options" page.
    > "Enable Web Presence" is supposed to turn on your online/offline
      indicator on your white page.  As of this release, I do not think it
      works.
    > "Hide IP" turns on the hidden IP mode in REAL ICQ clients.
  o STRICQ will now show "Hidden" in place of IP:Port info for those users
    with the "Hide IP" option turned on.  The IP address (not the port) is
    still accessible via ARexx.
  o There is a new notification that is called when a file transfer request
    comes in.
  o Just underneath the new notify command is the "Base Download Dir".
    With this you can speficy which directory all received files will be stored
    to.

  @{U}Changed@{UU}:

  o Status cycle gadget now reflects the correct status when the server
    tells STRICQ to logoff and auto-reconnect is turned on.
  o Removed all action buttons from the Dialogue page of the userwindows.
    A new pop-up gadget has been added to the bottom right corner of the user
    window.  When clicked it shows the following buttons:  "Authorize", "Chat",
    "Clear Messages", "FileDirect", and "Ignore".  These are all the same
    buttons as before with the addition of "FileDirect" which initiates the
    file send process to the user.
  o Hopefully got some better CycleChains going along with a few
    ActiveObjects added in.

  @{U}Bugs@{UU}:

  o Fixed logging and staying logged on problem.
  o Fixed (hopefully) crashes when a dynamic window is destroyed.
  o Status line will now show "Offline" when set to offline mode after an
    unsuccesful login attempt.


@{B}0.1173@{UB}:

  @{U}Bugs@{UU}:

  o Fixed logging and staying logged on problem.
  o Fixed (hopefully) crashes when a dynamic window is destroyed.
  o Status line will now show "Offline" when set to offline mode after an unsuccesful
    login attempt.


@{B}0.1275@{UB}:

  @{U}Added@{UU}:

  o Message forwarding from the Dialogue page is now available.  Click and select
    the message you wish to forward.  (If it is a URL message, click on the line 
    containing the URL, not the description)  Select all those you wish the message
    to be sent to in the contact list.  Open the commands pop-up box on the
    Dialogue page and click the "Forward" button.
  o Can receive (but not send) "Send UIN" TCP packets from ICQ99a clients.
  o Multi-Line message input boxes (Prefs option) for the Dialogue window.  This is
    rather a "kludge" and bears some explanation:  In Multi-Line mode, all RETURNs
    will be sent to the other end and seen as typed, but not all of the text will
    appear in the dialogue window locally.  This is an incompatibility with NList
    that I hope to have resolved in the future.  Also, because of the way
    Textinput.mcc works in Multi-Line mode, the "Send" button must be used to send
    the typed message to the receiver.  TAB+RETURN can be used to activate/press the
    button while in the Textinput gadget.  As user windows are CREATED they will
    reflect the current state of the Prefs Tick Mark and will not change until STRICQ
    is shutdown.
  o The message notify lamp can now be either Lamp.mcc or TWFmultiLED.mcc (both on
    Aminet.)  The status of the Prefs Cycle Gadget is read at program startup.
    Changing the Cycle's status will not change the lamps until the next start of
    STRICQ.
  o Internally, the packet creation method is being changed.  Packets created using
    the new method will be stored until the server ACKs the packet, otherwise the
    packet will be resent to the server every 5 seconds until the ACK arrives.  This
    is reflected in the Log window (Client to Server) by the new Packet and Resend
    columns.
  o Internally, the packet receive method has been changed to store packets for later
    processing by STRICQ until all packets in the current "batch" have arrived.  This
    is reflected in the Log window (Server to Client) Packet column, as the packet is
    processed, the 'Yes' will change to 'No' and the packet will be removed from RAM.
    Also, if the server feels it necessary to send a packet to your client more than
    once, this count is reflected in the Resend column.
  o Here are the settings used by TWFmultiLED.mcc in STRICQ:

    TWFmultiLED.mcc STRICQ
    --------------- -----------------
    Inactive        No new messages
    Active          One new message
    Loading         Two new messages
    Error           Three new messages
    Panic           Four or more new messages

  @{U}Changed@{UU}:

  o Quite a few internal changes have been made.
  o Will now accept a TCP packet sent from the LICQ clone as a normal packet.
  o The Contact List should now work no matter how many contacts are in it.

  @{U}Open@{UU}:

  o Register a new UIN is no longer working.  This is a priority to fix!
  o The 0x001E packets that appear when a userinfo is requested are still not
    recognized.  My assumption on these is that the server is too busy or something
    of this nature.  Try changing servers in the Prefs.
  o A Multi-User chat request packet is recognized, but nothing else has been done
    internally to STRICQ, so don't get your hopes up yet!  :(


@{B}0.1278@{UB}:

  @{U}Changed@{UU}:

  o Hopefully fixed the source of all those enforcer hits.
  o Fixed the display of IP:Port in the Active Sockets window.

  @{U}Open@{UU}:

  o The recoverable alerts are still there.
  o UIN Creation still doesn't work.


@{B}0.1290@{UB}:

  @{U}Changed@{UU}:

  o Fixed the source of the recoverable alerts after a forced log-off and 
    auto-relogon is enabled.
  o Fixed the new user registration broken packet problem.  This version
    can correctly create a new UIN.

  @{U}Open@{UU}:

  o There are still two enforcer hits during login, my advice, "Live with them." :)
  o Seriously, I will continuouly attempt to find the cause.
  o There are a string of enforcer hits associated with adding a contact to the
    contact list before the 'extended info' packet arrives.  Since this portion of
    the program is due to be completely changed soon, I will not spend time on fixing
    them.


@{B}0.1295@{UB}:

  @{U}Added@{UU}:

  o Four new ARexx commands:  SENDMESSAGE, WINCONTROL, ADDFILE, FILEDIRECT.  See
    the STRICQRexx.doc for full documentation.

  @{U}Changed@{UU}:

  o The GETCONTACT command now returns the current status of the requested UIN.


@{B}0.1371@{UB}:

  @{U}Changed@{UU}:

  o File transfers got a pretty good overhaul.  Here's a list of things that got
    fixed in the realm of 'FileDirect':

    o Was not checking for buffer overflow during file send.  This was causing the
      strange packets and wrong filesizes.  The fix is untested under AmiTCP, but
      works great under MiamiDx.
    o File send now runs off of timer.device.  You will no longer need to jiggle the
      speed slider or send a message or open a window to kick off the transfer.  You
      can also set the speed slider to any speed you want and it will never stall
      out.
    o Fixed a problem with aborting file sends causing a GURU.
    o Fixed a problem with skipping a file send not causing the next file to be sent.

  o Several of the ARexx commands got bugs fixed or new options added.  Check out the
    @{"ARexx docs" LINK "STRARexx"} included in this guide.
  o The Country Code prefs item now sports a new pop-up listview where you can select
    your country from STRICQ's internal list.  Now you don't need to know your
    countries dial code, or whatever Mirabilis uses for your country.
  o Message Parse command has been renamed to Message Post Parse.
  o The Show Message Time prefs option now DOES affect the individual contact windows.
    Each window will reflect the status of the checkbox when the window is created.
    Changing the check box will NOT change already created individual contact windows.
  o Discovered the reason why, long ago, STRICQ would seem to loose connection with
    the ICQ server for no reason.  Now, all 'Ping Server' packets are logged in the
    STRICQ Log window and resent if they are not acknowledged.
  o STRICQ will now take itself offline if it cannot get the ICQ Server to acknowledge
    a packet after six tries.
  o Fixed the multiline message send to PC users.  The C/R+Linefeed pair are now left
    intact instead of being changed to SPACE+Linefeed.
  o Dozens of other fixes that I can't even begin to think about right now...

  @{U}Added@{UU}:

  o STRICQ now tracks everyone's timezone.  Be sure to set your correct GMT offset
    timezone and save the change to the ICQ Server.
  o Speaking of timezones, STRICQ now can show message times in the form of Internet
    Time.  This is the new world-wide time scheme invented by Swatch.  Check out their
    webpage at http://www.swatch.com/ for more information.  @{B}Internet Time requires that@{UB}
    @{B}your Timezone is set correctly in your prefs!@{UB}
  o Two new command scripts.  One is executed at program startup, the other is executed
    at program shutdown.
  o Added REAL support for the Web Pager and E-Mail Pager messaging system.  Instead of
    seeing a UIN 10 appear in your contact list, a new Pager Window will open showing
    the message sender's name, email address and the message itself.
  o Added a new command to be executed BEFORE a typed message is sent to the recipient.
    It is the ARexx script's responsibility to use the ARexx SENDMESSAGE command to
    actually send the message on after any processing.

  @{U}Open@{UU}:

  o Do Not, I repeat, Do Not attempt more than one transfer with a single UIN at the
    same time.  This WILL cause a crash.  The file transfer window is not created
    dynamically, the data storage area used is only ever allocated once per UIN.
  o Can't figure out what this UIN 767 is as I've never seen it myself.  If you get
    a packet from the server with UIN 767, STRICQ will dump the packet to the debug
    window.  @{"PLEASE send me this packet dump!" LINK "STRSupport"}  If you get something about UIN 767 and
    the debug window does NOT open, let me know about that, too!
  o Auto-Reconnect is probably still not working.
  o There are still enforcer hits during login and at random times during incoming
    ICQ Server packets.  Ignore them for now.  @{B}There is NO easy fix for this hit.@{UB}
    This actually seems to be a genuine bug of MUI and not STRICQ, but I'm not 100%
    sure about it.
  o The remove contact from the contact list function still tries to remove the first
    contact in the list.  This is NOT a bug in STRICQ, this is a problem within
    NList!  I've contacted the author on this with no response.


@{U}TO DO@{UU}  (Please help me fill this list :)

  o Multi-User Chat mode (Next up)

  o Random chat

  o Remove UIN from server capability

  o See Me Invisible list  (Added, doesn't work) ... (or did it?)

  o Do Not See Me Visible list

  o Don't require bsdsocket.library to startup.

  o Auto online on network connection
@ENDNODE
@NODE "STRSupport" "STRICQ Support"

@{U}Mailing List@{UU}

  STRICQ has it's very own support mailing list where you can read all about
  the latest features, feature requests, and bug reports.  Announcements about
  new versions and beta versions will be sent to the list at the same time
  as the main support site is updated.  The mailing list has an average
  traffic of about 25 messages a day.

  Send an email message to:  majordomo@owlnet.net

  In the @{B}BODY@{UB} of the message put:  subscribe stricq-list@owlnet.net

  To send a message to the list use:  stricq-list@owlnet.net


@{U}EMail@{UU}

  Email:  1. stricq@owlnet.net

          2. mclaughd@kda.attmil.ne.jp


@{U}ICQ@{UU}

  UIN:    8083608

  EMail:  8083608@pager.mirabilis.com

  WWW:    http://wwp.icq.com/8083608/


@{U}WWW@{UU}

  @{B}Main Site:@{UB}

    http://www.owlnet.net/amiga/stricq/

  @{B}Mirror Sites:@{UB}

    http://surf.to/amigaicq/

    http://www.yodare.com/

    (Send EMail to one of those addresses listed above to add your site to this
     list.)


@{U}Snail Mail@{UU}

  Douglas F. McLaughlin
  PSC 80 Box 13122
  APO AP, 96367 (USA)

  Since STRICQ is Freeware, many people have asked to send gifts.  If you would
  like to send a postcard, gift, money, or whatever, this is the address to use.
@ENDNODE
@NODE "STRARexx" "ARexx Interface For STRICQ"

@{U}STATUS@{UU} @{B}SET/K,GET/S,ALL/S,VAR/K@{UB}

  @{B}Arguments@{UB}:

    SET - This keyword is used to set the status mode.  The status must be one
      of the recognized status' returned by the ALL switch.  Those status'
      that contain spaces can have the spaces replaced by an underscore '_'.

    GET - This switch will return the current status mode.  If used in
      conjunction with the SET keyword, GET will return the current status
      before the SET is made.  The returned status will be in the ICQRC
      variable.

    ALL - This switch will return all known status' that will work with the SET
      keyword.  The total number of available status' will be returned in ICQRC.
      The individual status' will be returned in the ICQRC.0 to ICQRC.(ICQRC-1)
      stem variables.  As a standard, the first status will always be "Online"
      and the last status will always be "OFFLINE".

    VAR - Give the name of a variable in your ARexx script and it will be used
      instead of ICQRC to set return values.

  @{B}Note@{UB}:

    The GET and ALL switches are mutually exclusive.  If used together, the ALL
    swtich takes priority.

  @{B}Returns@{UB}:

    RC = 0 - Everything went fine.

    RC = 5 - SET did not recognize the status passed to it.

  @{B}Examples@{UB}:

    STATUS 'SET=ONLINE'

    STATUS 'SET=FREE_FOR_CHAT'

    STATUS GET; SAY ICQRC
 
      Occupied

    STATUS ALL; SAY ICQRC' 'ICQRC.0' 'ICQRC.1

      8 Online Invisible

    STATUS ALL 'VAR=STATII'; SAY STATII', 'STATII.2', 'STATII.3

      8, Not Available, Free For Chat


@{U}GETCONTACT@{UU} @{B}UIN/K,ENTRY/K,SELECTED/S,TOTAL/S,VAR/K@{UB}

  @{B}Arguments@{UB}:

    UIN - This keyword is used to provide the UIN of the contact you want
      information about.  Stem variable is set to:

      ICQRC.UIN      - Universal Identification Number.
      ICQRC.NICK     - Nickname.
      ICQRC.FIRST    - First name.
      ICQRC.LAST     - Last name.
      ICQRC.EMAIL    - EMail address.
      ICQRC.CITY     - City.
      ICQRC.STATE    - State.
      ICQRC.COUNTRY  - Country of user or 'Unspecified'.
      ICQRC.PHONE    - Telephone number.
      ICQRC.HOMEPAGE - Homepage, generally a WWW URL.
      ICQRC.ABOUT    - Personal comment.
      ICQRC.AGE      - Age or 'Unspecified'.
      ICQRC.SEX      - 'Unspecified', 'Female', or 'Male'.
      ICQRC.COMMENT  - The local comment about this contact.
      ICQRC.IP       - If online, current IP address or '0.0.0.0'
      ICQRC.PORT     - Port associated with IP address.
      ICQRC.NEWMSGS  - Number of unread messages.  Cleared when window opens.
      ICQRC.STATUS   - Current status.  Different case as returned by STATUS.

    ENTRY - This keyword retrieves the contact that is the specified entry in
      contact list.  The returned information is the same as for the UIN
      keyword.

    SELECTED - This switch will return the current selected user in the contact
      list.  Remember, the contact list is multi-selected, this will only
      return the user the list cursor is currently on.

    TOTAL - This switch will return the total number of contacts in the contact
      list.  The actual useable range will be 0 to ICQRC-1.

    VAR - Give the name of a variable in your ARexx script and it will be used
      instead of ICQRC to set return values.

  @{B}Returns@{UB}:

    RC = 0 - Everything went fine.

    RC = 5 - The UIN was not found in the contact list, the ENTRY was out of
      range, or there is no SELECTED entry.

  @{B}Examples@{UB}:

    GETCONTACT 'UIN=8083608'; SAY ICQRC.NICK' is currently 'ICQRC.STATUS'.'

      Black Fire is currently Online.

    GETCONTACT 'UIN=8083608' 'VAR=USER'; SAY USER.FIRST

      Douglas

    GETCONTACT TOTAL; SAY ICQRC

      543

    GETCONTACT 'ENTRY=0' 'VAR=USER'; SAY USER.UIN

      8083608

    GETCONTACT SELECTED; SAY ICQRC.NICK

      Black Fire


@{U}SENDMESSAGE@{UU} @{B}UIN/K,MSG/K,URL/K,FILE/K,DEST/K@{UB}

  @{B}Arguments@{UB}:

    @{B}UIN@{UB} - This keyword is used to provide the UIN of the contact you want
      to send a message.  The UIN does NOT need to be in your Contact List.

    @{B}MSG@{UB} - The message to be sent.  It must be enclosed in quotes.  If a URL
      is being sent, this will be the description of the URL.

    @{B}URL@{UB} - This a WWW URL to send.  It must be enclosed in quotes.

    @{B}FILE@{UB} - Instead of using MSG to send a message, this keyword specifies a
      filename that holds the text of the message to be sent.  This gets
      around a ReadArgs() limitation that prevents the MSG keyword from correctly
      handling messages that contain carriage returns and/or linefeeds.  The
      FILE keyword takes priority over MSG if both are used.

    @{B}DEST@{UB} - This keyword specifies where the message is to be sent.  If this
      keyword is omitted, the default is BOTH.

      BOTH - The message will be sent to the recipient and seen in the
        local dialogue window as well.

      LOCAL - The message will @{B}NOT@{UB} be sent to the recipient, but will show
        up in the local dialogue window, and stored to the history file only.
        Messages sent with 'DEST=LOCAL' will work even if STRICQ is offline.

      REMOTE - The message will be sent to the recipient only and will not
        show up in the local dialogue window or in the history file.

  @{B}Returns@{UB}:

    RC = 0  - Everything went fine.

    RC = 5  - Either UIN/K or MSG/K is missing.  Both are required.

    RC = 10 - The client is currently offline.

    RC = 15 - The filename specified by FILE was not found.

  @{B}Examples@{UB}:

    SENDMESSAGE 'UIN=8083608' 'MSG="Hello.  How are you"'

    SENDMESSAGE 'UIN=13944050' 'MSG="My home page."' URL="http://owlnet.net/amiga/stricq/"'

    GREET = 'The current time is 'TIME()'.'
    SENDMESSAGE 'UIN=8083608' 'MSG="'GREET'"'

    SENDMESSAGE 'UIN=13944050' 'FILE=T:TempMsg'

    SENDMESSAGE 'UIN=8083608' 'URL="http://www.cucug.org/amiga/"' 'FILE="T:CUCUG.txt"'

    SENDMESSAGE 'UIN=8083608' 'MSG="This is local only"' 'DEST=LOCAL'


@{U}WINCONTROL@{UU} @{B}WIN/K,OPEN/S,CLOSE/S,UIN/K@{UB}

  @{B}Arguments@{UB}:

    WIN - This keyword is used to supply the name of the window to open.  If
      the window to be opened is a user window, supply the UIN of the user.
      Remember that the user windows are created on the fly, each window
      opened will use more RAM.  If the user window creation fails, an error
      will be returned.  For other windows, use one of the predefined window
      names listed:

      ACTIVESOCKETS    - The 'Active Sockets' window.
      ACTIVITYLOG      - The 'Activity Log' window.
      FILEDIRECT       - The 'FileDirect Request' window.
      ICQPREFERENCES   - The 'ICQ Preferences' window.
      INCOMINGMESSAGES - The 'Incoming Messages' window.
      MESSAGEHISTORY   - The 'Message History' window.
      PAGERMESSAGES    - The 'Pager Messages' window.
      STRICQ           - The 'STRICQ' window.
      STRICQLOG        - The 'STRICQ Log' window.
      SYSTEMMESSAGE    - The 'System Message' window.
      USERINFORMATION  - The 'User Information' window.

    OPEN - Supplying this switch will cause the specified window to be
      opened.  If neither OPEN nor CLOSE are supplied, OPEN is default.

    CLOSE - Supplying this switch will cause the specified window to be
      closed.  This switch takes priority over the OPEN switch if both are
      used at the same time.

    UIN - When this keyword is supplied, the WIN argument can be only one of
      two windows listed below.  These windows are controlled by the Contact
      List and therefore the UIN must already exist.  Note:  It is possible
      for one of these windows to fail to open and still return RC = 0 mainly
      due to a lack of available RAM to create the window.

      TRANSFER - The File Direct window belonging to the supplied UIN..
      CHAT     - The Chat window belonging to the supplied UIN.

  @{B}Returns@{UB}:

    RC = 0  - Everything went fine.

    RC = 5  - Was unable to create the user window.

    RC = 10 - The UIN was not found in the contact list.

  @{B}Examples@{UB}:

    WINCONTROL 'WIN=8083608' OPEN

    WINCONTROL 'WIN=13944050' CLOSE

    WINCONTROL 'WIN=FILEDIRECT'

    WINCONTROL 'WIN=STRICQ' CLOSE

    WINCONTROL 'WIN=CHAT' 'UIN=8083608'

    WINCONTROL 'WIN=TRANSFER' 'UIN=13944050' CLOSE


@{U}ADDFILE@{UU} @{B}FILE/K,REMOVE/S,CLEAR/S@{UB}

  @{B}Arguments@{UB}:

    FILE - This keyword is used to supply the full path to a file that is to
      be added to the 'FileDirect Request' window listing.

    REMOVE - If this switch is supplied, the file will be removed from the
      list if it is already in the list.

    CLEAR - If this switch is supplied, the files listing in the 'File Direct
      Request' window will be emptied.

  @{B}Returns@{UB}:

    RC = 0 - Everything went fine.

    RC = 5 - Either the file to be added was not found or the file to be
      removed was not found in the list.

  @{B}Examples@{UB}:

    ADDFILE 'FILE=DH0:Pictures/CoolPic.jpg'

    ADDFILE 'FILE=DH0:Pictures/RatedX.jpg'

    ADDFILE 'FILE=DH0:Pictures/RatedX.jpg' REMOVE

    ADDFILE CLEAR


@{U}FILEDIRECT@{UU} @{B}UIN/K,DESC/K,SPEED/K@{UB}

  @{B}Arguments@{UB}:

    UIN - This keyword is used to provide the UIN of the contact you want to
      send the currently selected files.  The UIN MUST be in the contact list.

    DESC - This keyword is used to supply a description of the file(s) being
      sent.  The text must be enclosed in quotes.  If not given it defaults
      to, "Here are some files."

    SPEED - This keyword allows for the setting of the intial speed for the
      transfer.  Allowable values range from 0 to 100 percent and defaults to
      100 if the keyword is not given.  Starting at 99%, each 1% down adds a
      .05 second delay between the sending of each packet of the file.  0 will
      will place the transfer into 'Paused' mode while 100 has no delay.

  @{B}Returns@{UB}:

    RC = 0  - Everything went fine.

    RC = 5  - Either the UIN keyword was not given or there are no files listed
      in the 'FileDirect Request' window.

    RC = 10 - The UIN was not found in the contact list.

  @{B}Examples@{UB}:

    FILEDIRECT 'UIN=8083608' 'DESC="Here is that cool picture."'

    FILEDIRECT 'UIN=13944050'

    FILEDIRECT 'UIN=8083608' 'DESC="Full speed ahead!"' 'SPEED=100'
@ENDNODE
