C-Desktop Version 1.0.0 ReadMe File - 20 June 1998
C-Desktop is Copyright (C)1998, Brett Porter.

---
 WHAT IS C-DESKTOP?
                 ---

C-Desktop is a library for plain C that provides a simple, common user
interface for text-based programs.

Its features include:

*  Configuration manager,
*  Menus,
*  Status bar,
*  Dialog boxes with buttons, list boxes, radio buttons, and input fields,
*  Modifiable colours,
*  Mouse support.

---
 WHAT PLATFORMS DOES C-DESKTOP SUPPORT?
												 ---

Currently only 32-bit DOS targets can be built through DJGPP. However, there
are plans to eventually port it to Win32 console and Linux.

---
 WHERE DO I GET C-DESKTOP?
                        ---

The latest version will always be at my home page, currently this is:

   http://members.xoom.com/brett_porter/

and a copy will be available (hopefully up to date) in the Simtel archives
under the directory /gnu/djgpp/v2tk/cdeskVVV.zip, where VVV is the version of
the archive. See the Delorie software website for a list of Simtel mirrors
(http://www.delorie.com/djgpp/)

---
 HOW AM I ALLOWED TO USE C-DESKTOP?
                                 ---

C-Desktop is free for non-commercial use (ie freeware/voluntary contribution
programs), and use in commercial programs can be negotiated by contacting
the author (details below).
The main restrictions are that if you modify the C-Desktop source itself, you
must send me a copy of the changed files so I can considering including it in
the next version (don't worry: you'll get credit for it!)
For more information, please read the files LICENSE.TXT and COPYING in the
same directory as this file. In using C-Desktop it is assumed you have read
these files and agreed with these terms.

---
 HOW DO I INSTALL C-DESKTOP?
                          ---

The process is the same as for all DJGPP packages. Go to your DJGPP directory
(usually C:\DJGPP, and as specified by %DJDIR% in DJGPP.ENV). Unzip with one
of the following commands:

   unzip386 cdeskVVV.zip
   pkunzip -d cdeskVVV.zip

   ... replacing VVV with the correct version number, of course!

Then change to contrib/cdesktop/src and type MAKE. This will compile the
library and place it in your djgpp/lib directory. Please read the makefile
before compiling.

From then on you can write your programs and link with libcdesktop.a.
(-lcdesktop on the gcc command line). Simply #include <cdesktop.h> in your
programs to get all the headers (it is placed in DJGPP's include directory).

I am not distributing pre-compiled binaries, so you will need GNU Make and
preferrably GNU Fileutils to compile the library. If you do not have the file
utilities, you can replace rm -f *.o in the makefile with del *.o for DOS.
DJP is also supported in the makefile for compressing the demo executable.

---
 HOW DO I USE C-DESKTOP?
                      ---

It is very simple to interface with. For now, I have just included the file
skeleton.c in this directory, which does nothing except set up the program.
You _must_ define the following variables and functions:

. kCommandDescriptions
. kConfig_Filename
. Desktop_InitialiseMenuBar
. Application_HandleCommand
. Application_CustomCheckConfigVar
. Application_Idle
. Application_CustomInitialise
. Application_CustomTerminate
. Application_CustomRegisterConfigVars

For arguments, etc. see skeleton.c. Any questions can be directed to myself.
In future versions (when the help system is complete) I will include a
demonstration program that explains it a little better. It is possible to
declare your own object types and include them in the overall system,
but this is left as an exercise for the reader :) (this is read as "I don't
have the time to be bothered with documentation")

---
 WHEN WILL THE NEXT VERSION OF C-DESKTOP BE OUT?
                                              ---

Who knows? I don't :) I've not a lot of time presently with my project for
Soft Orange, but that partially involves C-Desktop for development, so maybe
I'll polish it along the way. If there is something specific you want
implemented let me know and I might give it a shot.

---
 WHAT'S MISSING IN C-DESKTOP?
                           ---

Certain parts in C-Desktop are incomplete and/or broken (because I got too
lazy/busy to fix them :). These areas are marked in the source by comments
like:
   /// do this ///
so if you want to find them, try
   grep -n "///" *.*
in the source directory. I am going to finish these, and if you desperately
need one before the next release version, e-mail me for a copy of the work
in progress.

The following features will be completed in future versions:

* Status string should be restored to previous value on menu clearing,
  not just wiped out.
* Support submenus in within menus.
* Mouse will work in more circumstances.
* Scroll bars will be redesigned to communicate with the object they are
  scrolling to make it easier to implement new scrolling objects
* A comprehensive help system will be implemented, similar to that seen in
  Turbo Vision (like in RHIDE), but will be based around a limited HTML
  command set to make help easier to write, and to make my help files
  available online.
* A colour editing dialog
* Make the close [x] button work
* Make it possible to change video modes and redimension the desktop
* A demonstration program of all the features.

---
 I DON'T LIKE C-DESKTOP. HOW DO I TRASH IT?
                                         ---

My hope is you won't need this, but to uninstall the package using fileutils,
do the following (assuming DJGPP is in c:\djgpp):

cd c:\djgpp\contrib\cdesktop\src
make uninstall
cd c:\djgpp
rm @manifest/cdesktop.mft
rd contrib\cdesktop

If you don't have the "rm" tool, you will have to delete all the files in
the manifest file manually. Still "make uninstall", but then go through all
files in manifest/cdeskVVV.mft and remove them.

---
 TAKE A BOW...
             ---

I would like to thank all that have contributed to the development of the
project so far:

   *  Trent Gamblin, for taking an early interest and helping me iron out the
      bugs.

---
 HOW DO I CONTACT THE AUTHOR OF C-DESKTOP?
                                        ---

For now, these are my contact details:

EMail: blp01@uow.edu.au

Snail mail:
   Campus East
   Cowper Street
   Fairy Meadow NSW 2519
   Australia

Phone: +61 2 4221 5833

These last two are valid for this year only, and the email for 3 years.

If you can't contact me at any of the above, check out my home page at

   http://members.xoom.com/brett_porter/

which will have up-to-date contact details.

You can also check out the DJGPP newsgroup to see if I am still around, as I
frequently discuss questions there:

   news://comp.os.msdos.djgpp

That's it from me. Enjoy C-Desktop, and let me know what you think and what
you manage to do with it!

Brett Porter, 20/6/98
