                                   CTWM
                                   ----


CTWM is an extension to twm, originally written by Claude Lecommandeur,
that supports multiple virtual screens, and a lot of other goodies.

You can use and manage up to 32 virtual screens called workspaces.
You swap from one workspace to another by clicking on a button in an
optional panel of buttons (the workspace manager) or by invoking a
function.

You can customize each workspace by choosing different colors, names and
pixmaps for the buttons and background root windows.

Main features are :

 - Optional 3D window titles and borders (ala Motif).
 - Shaped, colored icons.
 - Multiple icons for clients based on the icon name.
 - Windows can belong to several workspaces.
 - A map of your workspaces to move quickly windows between
   different workspaces.
 - Animations : icons, root backgrounds and buttons can be animated.
 - Pinnable and sticky menus.
 - etc...

The source files were once the twm ones with only workmgr.[ch] added
(written from scratch by Claude Lecommandeur).  There were also some
modifications to some twm files.  This was back in CTWM version 1, by
now, there are a bit more changes and a few more additions.  It's
possible, thought it's doubtful, that twm patches can still be
applied...  with great care.

If you find bugs in ctwm, or just want to tell us how much you like it,
please send a report to the mailing list.


                                ----------

Configuration:

Ctwm is built using xmkmf, which reads Imakefile.  That file includes
Imakefile.local, which is meant for local configuration, and *WHICH YOU
MUST CREATE*.  For your comfort, the file Imakefile.local-template can
simply be copied to Imakefile.local, then changed.

Configuration is done by defining any of the following C macros:

USEM4           If defined, enables the use of the m4 preprocessor on
                the run-time configuration file.  Disable if m4 isn't
                present.
                Defined in Imakefile.local-template.
XPM             If defined, enables the use of xpm images.  Disable if
                libxpm isn't present.
                Defined in Imakefile.local-template.
JPEG            If defined, enables the use of jpeg images.  Disable
                if libjpeg isn't present.
                Defined in Imakefile.local-template.
GNOME           If defined, build to work with Gnome.
                Defined in Imakefile.local-template.
USE_SOUND       if defined, build with sound support.  Disable if
                librplay isn't present.
                Defined in Imakefile.local-template.
USE_GNU_REGEX   if defined, build with GNU regex.  Otherwise, use an
                internal implementation.
                Undefined in Imakefile.local-template.

If you don't have xpm, fetch it from ftp.x.org or comment out the
#define XPM in Imakefile.local.  If you don't have the m4 preprocessor
(or don't want to use it) comment out #define USEM4, if you have the
rplay package replace `#undef USE_SOUND' with `#define USE_SOUND'.

                                ----------

Building:

funny prompt> cp Imakefile.local-template Imakefile.local
              [ edit if necessary; you probably don't have to ]
funny prompt> xmkmf
funny prompt> make

                                ----------

Installation:

funny prompt> make install install.man

                                ----------

There is a manual page, which always needs more work (any volunteer ?).
Many useful informations are only in the CHANGES file, so please read it.

                                ----------

Mailing lists:

There is a mailing list for discussions: ctwm@ctwm.org.  Subscribe at
minimalist@ctwm.org.

Repository:

CTWM development uses bazaar (see http://bazaar.canonical.com/) for
version control.  The code is available on launchpad as lp:ctwm'.  See
https://launchpad.net/ctwm for more details.

Further information:

http://www.ctwm.org/


# vim:expandtab:
