From: lecom@slhp1.epfl.ch ("(Claude Lecommandeur)")
Newsgroups: fj.mail-lists.x-window
Subject: ctwm-2.1 available
Date: 23 Dec 92 01:53:40 GMT
Distribution: fj
Organization: Ecole Polytechnique Federale de Lausanne

Date: Tue, 22 Dec 92 16:44:40 -0500
Message-Id: <9212222144.AA14434@expo.lcs.mit.edu>


    ctwm-2.1 is on export.lcs.mit.edu:/contrib/ctwm-2.1.tar.Z.

The README file :

------------------------------------------------------------------------------

                                   CTWM
                                   ----


    CTWM is not yet another window manager for X/Window, it is just a
little variation of twm.

    It adds the  ability to use and manage up to  32 virtual screens.
You swap from one to another by clicking on a button in a panel.
    You can  custom each  screens by  choosing  different colors  and
bitmaps for the buttons and background root windows.

    The sources files  are just the twm ones plus two : workmgr.[ch].
workmgr.[ch]  were built from scratch,  but the twm ones are slightly
modified.  I tried to  minimize  the  modifications,  and it is  even
possible  (but not sure)  that certain  future twm  patches could  be
applied to ctwm sources files. But don't rely on this.

    I certainly introduced many bugs with these modifications. So, be
tolerant.

    If you are happy with ctwm, or find bugs, send me a note to :

            lecom@sic.epfl.ch


    Installation :

funny prompt> xmkmf
funny prompt> make

   If you don't have xpm, fetch it from export.lcs.mit.edu or comment
out the #define XPM in Imakefile.

    There is a man,  but not quite complete  (any volunteer ?).  Many
useful informations are only in the CHANGES file, so, read it.

    There is a  mailing list :  ctwm@cognac.epfl.ch,  subscribe  at :
ctwm-request@cognac.epfl.ch.

----------------------------------------------------------------------------------



The CHANGES file :

----------------------------------------------------------------------------------


    Changes from version 2.0 to 2.1
    -------------------------------

    1 - Cleanup code to make gcc happy.

    2 - Bugs fixed

	- IconMaskHint honored.
	- Workaround a bug on  HP7xx/8.07  servers for RaiseLower in  Map window.
	  The stacking  order in the MapWindow  was not correct on those servers.
	  use :

	  EXTRA_DEFINES = -DBUGGY_HP700_SERVER

	  in your Imakefile  if you plan to use this server.  It doesn't break on
	  others servers.

	- No longer core dump if  MapWindowCurrentWorkSpace or  MapWindowDefault-
	  WorkSpace are specified before WorkSpaces in .ctwmrc

	- Small windows  handling in  the WorkspaceMap  window works even  if the
	  Workspace  Manager  window  has a  title  (that  was not  the case with
	  ctwm-2.0).

	- ForceIcon works for Xpm icons.

	- Occupation of "transient for" window is correct.

	- RestartPreviousState  necessary to  keep previous  window occupation on
	  restart.

	- If a window  dies while  Occupy Window is mapped,  the Occupy Window is
	  correctly unmapped.

    3 - Ctwm now maintains the  WM_CURRENTWORKSPACE  property on the root  window
	and  WM_OCCUPATION  on every  windows.  They mean what  you think.  These
	properties  are string  properties  and are in  clear text  instead of an
	obscure mask.  If an external application changes  these properties  ctwm
	respond with the correct actions,  changing the current  workspace or the
	occupation of a window.  I give a small example  (gtw.c).  An application
	can manage its  occupation and it is  even possible to  write an external
	workspace manager. It is of course not ICCCM compliant because ICCCM says
	nothing on multiple workspaces. The special names "all" and "current" can
	be used.  And you can specify relative occupations if the workspace names
	list begin with a  '+' or '-' (ex:  +current adds a window to the current
	workspace).
	
    4 - 3 new functions :

	- f.pin : Pin/Unpin a menu on the screen. Only usable inside a root menu.

	- f.vanish : Remove  a window from  the current workspace.  Works only if
		     the window occupies at least one other workspace.

	- f.warphere "win-name" : Adds the window whose name matches  win-name to
			       the current workspace and warps the pointer to it.

    5 - And a new keyword : NoShowOccupyAll : tells ctwm not  to  show  OccupyAll
			windows in the WorkSpaceMap window.

    6 - All window names can now be specified as (shell-like) regular expressions.

----------------------------------------------------------------------------------

-- 


                    Claude Lecommandeur
                    Service Informatique Central
                    Ecole Polytechnique Federale de Lausanne
                    1015 LAUSANNE (SWITZERLAND)
                    E-Mail : lecom@sic.epfl.ch
                    Tel : (41 21) 693-22-97