  |
 || WINCHAT.PEX, LINECHAT.PEX, PAGE.PEX
||| Page/chat replacements for Proboard v2.00
 || Copyright (C) 1994  David L. Nugent & Unique Computing Pty Ltd
  |

This collection of programs provides a replacement for Proboard v2.00
built-in chat and page facility.

Why replace the default chat?  Simply because this one is somewhat
more friendly than the fairly simple linechat provided. The two
resident WCHAT modules (WINCHAT & LINECHAT) are also very small, so
they aren't expensive memory-wise and are instantaneously invoked
since they don't need to be loaded from disk. WINCHAT is a full-
screen, two-window sysop/user chat program that is friendly to use,
and supports truely 'bi-directional' chatting.

LINECHAT is a replacement line chat editor - it is used because it
is easlier to integrate this into PAGE.PEX and WINCHAT.PEX for ASCII
callers than use the internal chat.  It also uses more 'standard'
colouration - yellow for local, cyan for remote.

WINCHAT avoides use of glary line graphics and instead uses title
bars in reverse colours, which are easier on the eye. It is
intentional kept simple in both functionality and use.

Note that WINCHAT/LINECHAT also supports one co-sysop, but currently
this feature needs some work. If you need this (which means that
when a co-sysop invokes chat his/her name is shown instead of the
'sysop' name configured in Proboard) then let me know and I'll
expend this to make the co-sysop name configurable (currenlt it is
hard coded with my own name, sorry :-)).


INSTALLATION

Copy PAGE.PEX, WINCHAT.PEX and LINECHAT.PEX into the PEX directory.
It is HIGHLY RECOMMENDED that you use INIT.PEX from the PEXPAK
distribution to load both LINECHAT and WINCHAT during Proboard
startup.  If you do not wish to use this INIT.PEX, then copy both
WINCHAT.PEX and LINECHAT.PEX to INIT?.PEX (different ones, where
? is a digit 1 - 9).

Note that the default chat program invoked by ALT-C from the console
will depend on which PEX is loaded first.  Proboard passes sysop 
keys to each .PEX that has hooked a 'key handler' in the other in
which it was loaded. In other words, the first .PEX to load will
see the keys first.

Now, WINCHAT is aware of this, and if it sees ALT-C it will only
execute if the remote caller has ANSI or one of the two forms of
AVATAR enabled. Otherwise, it will silently not load and tell
Proboard to look for the next handler.  If WINCHAT is loaded
prior LINECHAT, this gives LINECHAT the next call, which will see
the ALT-C and execute.  In other words, this means that if your
remote caller cannot display graphics or colour, they will see
just the simple line chat rather than a failed windowed chat.

A sample INIT.PEX which loads just these two modules would be:

; Load chat modules
WINCHAT
LINECHAT

PAGE.PEX is a replacement menu item for "Chat Request". Simply
change the meny type to function 60 "Run a Proboard SDK File"
and in the data section, put "PAGE". Other than making sure that
a valid music file "PAGE.MUS" exists in the Proboard system
directory, that's all there is to it.

Note that there are some differences between this PAGE module
and the internal one; the page reason is first requested before
telling the user about sysop availability (if relevent) and the
reason entered is immediately logged (useful later, in case the
user becomes shy and doesn't leave a message), and this is also
used as the default subject if the user wishes to leave a message
should the sysop be unavailable or not answer the page. PAGE.PEX
also does not check for 5 characters or more as the page reason,
since the page reason is sometimes "Hi!", and for many callers,
that's good enough. :-)

PAGE.PEX uses PAGE.INI (in Proboard's PEX directory) to determine
the hours during which paging the sysop is allowed. The format of
this file is:

day_of_week = string

where,

  day_of_week is the day of week, Sunday - Saturday (in English)
  string a 24 letter string, one letter for each hour in the day.
     if any letter is 'Y' then paging is enabled by default for
	 the corresponding hour (first letter - 0-1am, second 1-2 am
	 etc).

If this file is not found or the current day is missing, then
PAGE.PEX will create it and add a record for the current day,
assuming 24 hour availability.

A sample PAGE.INI:

;           012345678901234567890123
Sunday    = YYNNNNNNYYYYYYYYYYYYYNNN
Monday    = NNNNNNNNYYYYYYYYYYYYYNNN
Tuesday   = NNNNNNNNYYYYYYYYYYYYYNNN
Wednesday = NNNNNNNNYYYYYYYYYYYYYNNN
Thursday  = NNNNNNNNYYYYYYYYYYYYYNNN
Friday    = NNNNNNNNYYYYYYYYYYYYYYYY
Saturday  = YYNNNNNNYYYYYYYYYYYYYYYY

Allows paging between 8am and 9pm weekdays, and 8am through 2am
on weekends. Edit to suit.


INVOKING CHAT

WINCHAT or LINECHAT is available by pressing ALT-C at any time,
just like the inbuilt chat.  Alt-C will select the appropriate
chat to use provided that WINCHAT is loaded prior LINECHAT.

Alternatively, you can use ALT-1 to invoke LINECHAT and
Alt-2 to invoke WINCHAT.  The 'alternate' sysop keys (which
are not yet configurable, but I mention them in passing)
corresponding to these are ALT-0 and ALT-9.



BUGS/TODO

Paging hours used by PAGE.PEX are currently configured in a
separate init file, PAGE.INI, details of which are discussed
above.  When/if I figure out how Proboard stores the paging
hours in it's config file, I will adjust PAGE.PEX to use them
instead.

There are several things I'd like to do with the windowed and
line chat modules, including logging, capture, displaying files
to the remote user. These are all on the TODO list and the
routines to support this and the planned 4-way inter-line chat
are being developed along with the full-screen message editor.

As with several other of the PEXPAK utilities, these modules
do not support multi-langauge setups. We hope that this can
be rectified in a future version of Proboard which provides
access at the SDK level to language strings.


CONTACTING THE AUTHOR

  david nugent
  Snail Mail: c/o Unique Computing Pty Ltd
              PO Box 352
              Doveton, Victoria, Aust  3177
     FidoNet: 3:632/348@fidonet
    InterNet: davidn@csource.oz.au
              davidn@csource.pronet.com


REDISTRIBUTION

This file is part of the 'PEXPAK' distribution and must not be
distributed separately. Terms and conditions of redistribution
and use of this software are covered in the license agreement
in LICENSE.TXT which accompanies the PEXPAK suite of programs.

