


CTWM(1)							  CTWM(1)


NNAAMMEE
       ctwm - Tab Window Manager for the X Window System

SSYYNNTTAAXX
       _c_t_w_m  [-display _d_p_y] [-s] [-f _i_n_i_t_f_i_l_e] [-v] [-n] [-k] [-w
       [win-id]]


DDEESSCCRRIIPPTTIIOONN
       _C_t_w_m is a window manager for the X Window System.  It pro-
       vides   titlebars,   shaped   windows,	virtual	  screens
       (workspaces), several  forms  of	 icon  management,  user-
       defined	macro functions, click-to-type and pointer-driven
       keyboard focus, and user-specified key and pointer  button
       bindings.   It  is  actually twm (Tab Window Manager) from
       the MIT X11 distribution slightly modified to  accommodate
       the  use	 of  several  virtual screens (workspaces). It is
       heavily inspired from  the  Hewlett-Packard  vuewm  window
       manager.	 In addition, _c_t_w_m can use coloured, shaped icons
       and background root pixmaps in XPM format [from Arnaud  Le
       Hors],any  format  understood  by the imconv package [from
       the San Diego Supercomputer Center] and	xwd  files.  CCttwwmm
       can  be	compiled to use both, either or none of the above
       icon/pixmap formats.

       This program is usually started by the user's session man-
       ager or startup script.	When used from _x_d_m_(_1_) or _x_i_n_i_t_(_1_)
       without a session manager, _c_t_w_m is frequently executed  in
       the  foreground	as  the	 last client.  When run this way,
       exiting _c_t_w_m causes the session	to  be	terminated  (i.e.
       logged out).

       By  default,  application  windows  are	surrounded  by	a
       ``frame'' with a titlebar at the top and a special  border
       around  the  window.   The  titlebar contains the window's
       name, a rectangle that is lit when the window is receiving
       keyboard	 input,	 and  function boxes known as ``titlebut-
       tons'' at the left and right edges of the titlebar.

       Pressing pointer Button1	 (usually  the	left-most  button
       unless  it has been changed with _x_m_o_d_m_a_p) on a titlebutton
       will invoke the function associated with the  button.   In
       the  default  interface, windows are iconified by clicking
       (pressing and then immediately releasing) the left  title-
       button  (which looks like a Dot).  Conversely, windows are
       deiconified by clicking in the associated icon or entry in
       the  icon  manager  (see description of the variable SShhooww--
       IIccoonnMMaannaaggeerr and of the function ff..sshhoowwiiccoonnmmggrr).

       Windows are resized  by	pressing  the  right  titlebutton
       (which  resembles a group of nested squares), dragging the
       pointer over edge that is to be moved, and  releasing  the
       pointer	when  the  outline  of	the window is the desired
       size.  Similarly, windows are moved  by	pressing  in  the



			   Version 3.4				1





CTWM(1)							  CTWM(1)


       title  or  highlight  region, dragging a window outline to
       the new location, and then releasing when the  outline  is
       in  the	desired	 position.  Just clicking in the title or
       highlight region raises the window without moving it.

       When new windows are created, _c_t_w_m will honor any size and
       location	  information  requested  by  the  user	 (usually
       through _-_g_e_o_m_e_t_r_y command line argument or  resources  for
       the  individual	applications).	 Otherwise, an outline of
       the window's default size, its titlebar, and lines  divid-
       ing  the window into a 3x3 grid that track the pointer are
       displayed.  Clicking pointer  Button1  will  position  the
       window  at  the	current	 position and give it the default
       size.   Pressing	 pointer  Button2  (usually  the   middle
       pointer	button)	 and  dragging	the outline will give the
       window its current position but	allow  the  sides  to  be
       resized	as  described  above.	Clicking  pointer Button3
       (usually the right pointer button) will	give  the  window
       its current position but attempt to make it long enough to
       touch the bottom the screen.

OOPPTTIIOONNSS
       _C_t_w_m accepts the following command line options:


       --ddiissppllaayy _d_p_y
	       This option specifies the X server to use.

       --ss      This option indicates that only the default screen
	       (as  specified by --ddiissppllaayy or by the DDIISSPPLLAAYY envi-
	       ronment variable) should be managed.  By	 default,
	       _c_t_w_m  will  attempt  to	manage all screens on the
	       display.

       --ff _f_i_l_e_n_a_m_e
	       This option specifies the name of the startup file
	       to use.	_C_t_w_m will first try to load filename.num,
	       where _n_u_m is the screen number.	If it  fails,  it
	       will  try to load filename.  By default, _c_t_w_m will
	       look in the user's home directory for files  named
	       _._c_t_w_m_r_c_._n_u_m  (where  _n_u_m	 is  a	screen number) or
	       _._c_t_w_m_r_c.

       --vv      This option indicates that _c_t_w_m should print error
	       messages	 whenever  an unexpected X Error event is
	       received.   This	 can  be  useful  when	debugging
	       applications  but  can  be  distracting in regular
	       use.

       --nn      This option indicates that _c_t_w_m should not  filter
	       the  startup  file  through  m4. Available only if
	       _c_t_w_m is compiled with the USEM4 flag.

       --kk      This option indicates that _c_t_w_m	should	keep  the



			   Version 3.4				2





CTWM(1)							  CTWM(1)


	       result  of  filtering your startup file through m4
	       in /tmp. Available only if _c_t_w_m is  compiled  with
	       the USEM4 flag.


       --vveerrssiioonn
	       _c_t_w_m just prints its version number.


       --iinnffoo   _c_t_w_m  prints its detailed version and compile time
	       options.


       --ww [[wwiinn--iidd]]
	       If -w is specified without a  win-id  value,  _c_t_w_m
	       does not take over the whole screen(s), instead it
	       creates a new window that becomes its root window.
	       if  the win-id value is given, it is considered to
	       be the id of an existing window,	 in  which  case,
	       _c_t_w_m  will  try to use this window as root window.
	       You can run any number of instantiation of _c_t_w_m at
	       the  same  time.	 You  can even have embedded _c_t_w_m
	       instantiations. This is	totally	 useless,  but	I
	       like.  The  f.adoptwindow  function can be used to
	       capture an existing window  belonging  to  another
	       _c_t_w_m.  A	 possible use of such mode can be to test
	       new configuration file without restarting _c_t_w_m.

       --WW      This option tells _c_t_w_m not to display any  welcome
	       when starting.


CCUUSSTTOOMMIIZZAATTIIOONN
       Much  of	 _c_t_w_m's appearance and behavior can be controlled
       by providing a startup file in one of the following  loca-
       tions  (searched	 in  order  for each screen being managed
       when _c_t_w_m begins):

       $$HHOOMMEE//..ccttwwmmrrcc.._s_c_r_e_e_n_n_u_m_b_e_r
	       The _s_c_r_e_e_n_n_u_m_b_e_r is a small positive number  (e.g.
	       0,  1, etc.)  representing the screen number (e.g.
	       the last number in the DISPLAY  environment  vari-
	       able _h_o_s_t_:_d_i_s_p_l_a_y_n_u_m_._s_c_r_e_e_n_n_u_m) that would be used
	       to contact that screen of the  display.	 This  is
	       intended	 for  displays	with  multiple screens of
	       differing visual types.

       $$HHOOMMEE//..ccttwwmmrrcc
	       This is the usual name for  an  individual  user's
	       startup file.

       $$HHOOMMEE//..ttwwmmrrcc
	       The users twm startup file.




			   Version 3.4				3





CTWM(1)							  CTWM(1)


       //uussrr//lliibb//XX1111//ttwwmm//ssyysstteemm..ccttwwmmrrcc
	       If  none	 of  the  preceding files are found, _c_t_w_m
	       will look in this file for  a  default  configura-
	       tion.  This is often tailored by the site adminis-
	       trator to provide  convenient  menus  or	 familiar
	       bindings for novice users.

       If  no startup files are found, _c_t_w_m will use the built-in
       defaults described above.  The only resource used by  _c_t_w_m
       is  _b_i_t_m_a_p_F_i_l_e_P_a_t_h  for a colon-separated list of directo-
       ries to search when looking for	bitmap	files  (for  more
       information, see the _A_t_h_e_n_a _W_i_d_g_e_t_s manual and _x_r_d_b_(_1_)).

       _C_t_w_m  startup  files  are  logically  broken up into three
       types of specifications:	 _V_a_r_i_a_b_l_e_s, _B_i_n_d_i_n_g_s, _M_e_n_u_s.  The
       _V_a_r_i_a_b_l_e_s  section must come first and is used to describe
       the fonts, colors, cursors, border widths, icon and window
       placement,  highlighting,  autoraising,	layout of titles,
       warping, use of the icon manager.   The	_B_i_n_d_i_n_g_s  section
       usually	comes second and is used to specify the functions
       that should be to be invoked  when  keyboard  and  pointer
       buttons are pressed in windows, icons, titles, and frames.
       The _M_e_n_u_s section gives any user-defined menus (containing
       functions to be invoked or commands to be executed).

       Variable names and keywords are case-insensitive.  Strings
       must  be	 surrounded  by	 double	 quote	characters  (e.g.
       "blue")	and are case-sensitive.	 A pound sign (#) outside
       of a string causes the remainder of the line in which  the
       character appears to be treated as a comment.

MM44 PPRREEPPRROOCCEESSSSIINNGG
       _c_t_w_m uses _m_4_(_1_) to pre-process its setup files.	When _c_t_w_m
       starts up, it opens a file for input as	described  above.
       But,  it processes that file through _m_4 before parsing it.
       So, you can use _m_4 macro's to perform operations	 at  run-
       time.   This  makes it very easy to work when you use many
       different display's, with different characteristics.   For
       example, If you want to set the lower right section of the
       screen to be your IIccoonnRReeggiioonn, (see below	 for  details  on
       the  IIccoonnRReeggiioonn	variable)  you	can use _m_4 directives and
       pre-defined symbols to calculate the region you want.  For
       example:

	    define(IRegion, translit(eval(WIDTH/3)*eval(HEIGHT/2)+eval(WIDTH-WIDTH/3)-0, *, x))
	    IconRegion	"IRegion" SOUTH EAST 75 25

       will  define  the  lower half, and right-hand third of the
       screen.	The above makes use of symbols	that  are  prede-
       fined  in  _m_4  by  _c_t_w_m.	 The symbols WIDTH and HEIGHT are
       calculated by _c_t_w_m and written into a temporary	file  for
       _m_4 to use.  The following symbols are predefined by _c_t_w_m:

       SSEERRVVEERRHHOOSSTT	       This  variable  is set to the name



			   Version 3.4				4





CTWM(1)							  CTWM(1)


			       of the machine that is running the
			       X server.

       CCLLIIEENNTTHHOOSSTT	       The  machine  that  is running the
			       clients.	 (ie, _c_t_w_m)

       HHOOSSTTNNAAMMEE		       The canonical hostname running the
			       clients.	  (ie.	a fully-qualified
			       version of CCLLIIEENNTTHHOOSSTT)

       UUSSEERR		       The name of the user  running  the
			       program.	 Gotten from the environ-
			       ment.

       HHOOMMEE		       The user's home directory.  Gotten
			       from the environment.

       VVEERRSSIIOONN		       The  X major protocol version.  As
			       seen by ProtocolVersion(3).

       RREEVVIISSIIOONN		       The X minor protocol revision.  As
			       seen by ProtocolRevision(3).

       VVEENNDDOORR		       The  vendor of your X server.  For
			       example: MMIITT XX CCoonnssoorrttiiuumm.

       RREELLEEAASSEE		       The  release  number  of	 your	X
			       server.	For MIT X11R5, this is 55.

       WWIIDDTTHH		       The width of your display in  pix-
			       els.

       HHEEIIGGHHTT		       The height of your display in pix-
			       els.

       XX__RREESSOOLLUUTTIIOONN	       The X resolution of  your  display
			       in pixels per meter.

       YY__RREESSOOLLUUTTIIOONN	       The  Y  resolution of your display
			       in pixels per meter.

       PPLLAANNEESS		       The number of bit planes your dis-
			       play  supports in the default root
			       window.

       BBIITTSS__PPEERR__RRGGBB	       The number of significant bits  in
			       an  RGB color.  (log base 2 of the
			       number of distinct colors that can
			       be created.  This is often differ-
			       ent from the number of colors that
			       can be displayed at once.)

       TTWWMM__TTYYPPEE		       Tells  which  _t_w_m offshoot is run-
			       ning.  It will always  be  set  to



			   Version 3.4				5





CTWM(1)							  CTWM(1)


			       the string "ctwm" in this program.
			       This  is	 useful	 for   protecting
			       parts  of  your	_._t_w_m_r_c	file that
			       _c_t_w_m proper won't understand (like
			       WWoorrkkSSppaacceess)  so	that  it is still
			       usable with other _t_w_m programs.

       TTWWMM__VVEERRSSIIOONN	       Tells which _c_t_w_m version	 is  run-
			       ning  in	 the  form  of a floating
			       point number.

       CCLLAASSSS		       Your visual  class.   Will  return
			       one   of	  SSttaattiiccGGrraayy,  GGrraayySSccaallee,
			       SSttaattiiccCCoolloorr,  PPsseeuuddooCCoolloorr,   TTrruuee--
			       CCoolloorr, DDiirreeccttCCoolloorr, or, if it can-
			       not determine what you have,  NNoonn--
			       SSttaannddaarrdd.

       CCOOLLOORR		       This will be either 'Yes' or 'No'.
			       This is just a wrapper around  the
			       above  definition.   Returns 'Yes'
			       on **CCoolloorr, and 'No' on  SSttaattiiccGGrraayy
			       and GGrraayySSccaallee.

       XXPPMM		       Is  defined  only if _c_t_w_m was com-
			       piled with XPM.

       You may well find that if you research  the  _m_4_(_1_)  manual
       well,  and understand the power of _m_4, this will be a vveerryy
       useful and powerful tool.  But, if you use any of the sym-
       bols which are predefined by _m_4, you are in severe danger!
       For example, the Sun _m_4 predefines shift, so  if	 you  use
       that name in your _._c_t_w_m_r_c, you are out of luck.

       The availability of the _m_4 preprocessing is subject to the
       compilation define USEM4.

VVAARRIIAABBLLEESS
       Many of the aspects of  _c_t_w_m's  user  interface	are  con-
       trolled by variables that may be set in the user's startup
       file.  Some of the options are enabled or disabled  simply
       by  the	presence  of a particular keyword.  Other options
       require keywords, numbers, strings, or  lists  of  all  of
       these.

       Lists  are  surrounded by braces and are usually separated
       by whitespace or a newline.  For example:

	    AAuuttooRRaaiissee { "emacs" "XTerm" "Xmh" }








			   Version 3.4				6





CTWM(1)							  CTWM(1)


       or

	    AAuuttooRRaaiissee
	    {
		 "emacs"
		 "XTerm"
		 "Xmh"
	    }

       When a variable containing a list of strings  representing
       windows	is  searched (e.g. to determine whether or not to
       enable autoraise as shown above),  a  string  must  be  an
       exact,  case-sensitive  match  to  the  window's name name
       (given by the WM_NAME window property), resource	 name  or
       class  name  (both given by the WM_CLASS window property).
       The preceding example would enable  autoraise  on  windows
       named  ``emacs''	 as  well as any _x_t_e_r_m (since they are of
       class ``XTerm'')	 or  xmh  windows  (which  are	of  class
       ``Xmh'').

       String  arguments  that	are interpreted as filenames (see
       the  PPiixxmmaappss,  CCuurrssoorrss,	and  IIccoonnDDiirreeccttoorryy  below)   will
       prepend	the user's directory (specified by the HHOOMMEE envi-
       ronment variable) if the first character is a  tilde  (~).
       If,  instead, the first character is a colon (:), the name
       is assumed to refer to one of the  internal  bitmaps  that
       are  used to create the default titlebars symbols:  ::xxllooggoo
       or ::iiccoonniiffyy (both refer to the X used for the iconify but-
       ton),  ::rreessiizzee (the nested squares used by the resize but-
       ton), and ::qquueessttiioonn (the question mark used for	non-exis-
       tent bitmap files).

       The  following  variables may be specified at the top of a
       _c_t_w_m startup file.  Lists of Window  name  prefix  strings
       are  indicated  by _w_i_n_-_l_i_s_t.  Optional arguments are shown
       in square brackets:

       AAllwwaayyssOOnnTToopp { _w_i_n_-_l_i_s_t }
	       This variable specifies a  list	of  windows  (all
	       windows	if  the list is defaulted) that _c_t_w_m will
	       try its best to maintain on top	of  others.  This
	       doesn't work in all case.

       AAllwwaayyssSShhoowwWWiinnddoowwWWhheennMMoovviinnggFFrroommWWoorrkkssppaacceeMMaannaaggeerr
	       When  RReeaallllyyMMoovveeIInnWWoorrkkssppaacceeMMaannaaggeerr  is present and
	       the user is moving a window from the WorkSpaceMap,
	       _c_t_w_m  display the actual window only if it crosses
	       the current active  workspace.  If  AAllwwaayyssSShhoowwWWiinn--
	       ddoowwWWhheennMMoovviinnggFFrroommWWoorrkkssppaacceeMMaannaaggeerr  is present, the
	       actual window is always visible during  the  move,
	       regardless  of  whether	it  crosses  the  current
	       workspace or  not.  The	Shift  key  toggles  this
	       behaviour.




			   Version 3.4				7





CTWM(1)							  CTWM(1)


       AAnniimmaattiioonnSSppeeeedd _s_p_e_e_d
	       The  _s_p_e_e_d  argument is a non-negative integer. It
	       determines the number of times a second animations
	       (if  any)  are  updated. If _s_p_e_e_d is 0, animations
	       are freezed. The default value is 0.


       AAuuttooOOccccuuppyy
	       This variable specifies that clients will automat-
	       ically  change their occupation when their name or
	       icon name changes.  The	new  occupation	 will  be
	       recalculated  from the Occupy and OccupyAll fields
	       in the _._c_t_w_m_r_c file.


       AAuuttooRRaaiissee { _w_i_n_-_l_i_s_t }
	       This variable specifies a  list	of  windows  (all
	       windows	if the list is defaulted) to be automati-
	       cally raised whenever the pointer has come to rest
	       in  a  window  for the amount of time specified by
	       the RRaaiisseeDDeellaayy variable. This action can be inter-
	       actively enabled or disabled on individual windows
	       using the function ff..aauuttoorraaiissee.


       AAuuttooRRaaiisseeIIccoonnss
	       Icons are raised when the cursor enters it. Useful
	       with SchrinkIconTitles.


       AAuuttooRReellaattiivveeRReessiizzee
	       This variable indicates that dragging out a window
	       size (either when initially sizing the window with
	       pointer	Button2	 or  when resizing it) should not
	       wait until the  pointer	has  crossed  the  window
	       edges.	Instead, moving the pointer automatically
	       causes the nearest edge or edges to  move  by  the
	       same  amount.  This allows the resizing of windows
	       that extend off the edge of the	screen.	  If  the
	       pointer	is in the center of the window, or if the
	       resize is begun by pressing  a  titlebutton,  _c_t_w_m
	       will  still wait for the pointer to cross a window
	       edge (to prevent accidents).  This option is  par-
	       ticularly  useful  for  people who like the press-
	       drag-release method of sweeping out window  sizes.

       BBeeNNiicceeTTooCCoolloorrmmaapp
	       By  defaults  new colors are allocated for shadows
	       when a 3D look  is  used,  but  when  you  specify
	       BBeeNNiicceeTTooCCoolloorrmmaapp ctwm uses stipling instead of new
	       colors, the effect is less beautiful, but  accept-
	       able.  In  this case ClearShadowContrast and Dark-
	       ShadowContrast have no effects.




			   Version 3.4				8





CTWM(1)							  CTWM(1)


       BBoorrddeerrCCoolloorr _s_t_r_i_n_g [{ _w_i_n_c_o_l_o_r_l_i_s_t }]
	       This variable specifies the default color  of  the
	       border  to be placed around all non-iconified win-
	       dows, and may only be  given  within  a	CCoolloorr  or
	       MMoonnoocchhrroommee list.	 The optional _w_i_n_c_o_l_o_r_l_i_s_t speci-
	       fies a list of window and  color	 name  pairs  for
	       specifying  particular border colors for different
	       types of windows.  For example:

		    BBoorrddeerrCCoolloorr "gray50"
		    {
			 "XTerm"   "red"
			 "xmh"	   "green"
		    }

	       The default is "black".

       BBoorrddeerrRReessiizzeeCCuurrssoorrss
	       This  variable  specifies  that	_c_t_w_m  should  use
	       resizing cursors when the pointer is on the window
	       border. To be used preferably when you have  bound
	       a button to f.resize in the frame context.

       BBoorrddeerrSShhaaddoowwDDeepptthh _p_i_x_e_l_s
	       This  variable  specifies  the depth of the shadow
	       _c_t_w_m uses for 3D window borders,	 when  UseThreeD-
	       Borders is selected.

       BBoorrddeerrTTiilleeBBaacckkggrroouunndd _s_t_r_i_n_g [{ _w_i_n_c_o_l_o_r_l_i_s_t }]
	       This  variable  specifies  the  default background
	       color in the gray pattern  used	in  unhighlighted
	       borders (only if NNooHHiigghhlliigghhtt hasn't been set), and
	       may only be given within	 a  CCoolloorr  or  MMoonnoocchhrroommee
	       list.  The optional _w_i_n_c_o_l_o_r_l_i_s_t allows per-window
	       colors to be specified.	The default  is	 "white".

       BBoorrddeerrTTiilleeFFoorreeggrroouunndd _s_t_r_i_n_g [{ _w_i_n_c_o_l_o_r_l_i_s_t }]
	       This  variable  specifies  the  default foreground
	       color in the gray pattern  used	in  unhighlighted
	       borders (only if NNooHHiigghhlliigghhtt hasn't been set), and
	       may only be given within	 a  CCoolloorr  or  MMoonnoocchhrroommee
	       list.  The optional _w_i_n_c_o_l_o_r_l_i_s_t allows per-window
	       colors to be specified.	The default is "black".


       BBoorrddeerrWWiiddtthh _p_i_x_e_l_s
	       This variable specifies the width in pixels of the
	       border  surrounding  all	 client	 window frames if
	       CClliieennttBBoorrddeerrWWiiddtthh has not  been	specified.   This
	       value  is also used to set the border size of win-
	       dows created by _c_t_w_m (such as the  icon	manager).
	       The default is 2.





			   Version 3.4				9





CTWM(1)							  CTWM(1)


       BBuuttttoonnIInnddeenntt _p_i_x_e_l_s
	       This variable specifies the amount by which title-
	       buttons should be indented on all sides.	 Positive
	       values  cause  the  buttons to be smaller than the
	       window text and highlight area so that they  stand
	       out.   Setting this and the TTiittlleeBBuuttttoonnBBoorrddeerrWWiiddtthh
	       variables to 0 makes titlebuttons be as	tall  and
	       wide  as	 possible.  The default is 1 if _U_s_e_T_h_r_e_e_-
	       _D_T_i_t_l_e_s is not set, 0 if it is set.


       CCeenntteerrFFeeeeddbbaacckkWWiinnddooww
	       The moving and resizing information window is cen-
	       tered  in  the middle of the screen instead of the
	       top left corner.


       CClleeaarrSShhaaddoowwCCoonnttrraasstt _c_o_n_t_r_a_s_t
	       Indicates to  _c_t_w_m  how	to  calculate  the  clear
	       shadow  color  for  3D items.  The value is a com-
	       prised between 0 and 100. The formula used is :

			clear.{RGB} = (65535 - color.{RGB}) * (contrast / 100).

	       Has no effect if BBeeNNiicceeTTooCCoolloorrmmaapp is active.


       CClliieennttBBoorrddeerrWWiiddtthh
	       This variable indicates that  border  width  of	a
	       window's frame should be set to the initial border
	       width of the window, rather than to the	value  of
	       BBoorrddeerrWWiiddtthh.


       CCoolloorr { _c_o_l_o_r_s_-_l_i_s_t }
	       This  variable  specifies  a list of color assign-
	       ments to be made if the default display is capable
	       of  displaying  more  than simple black and white.
	       The _c_o_l_o_r_s_-_l_i_s_t is made up of the following  color
	       variables  and  their  values:  DDeeffaauullttBBaacckkggrroouunndd,
	       DDeeffaauullttFFoorreeggrroouunndd, MMeennuuBBaacckkggrroouunndd, MMeennuuFFoorreeggrroouunndd,
	       MMeennuuTTiittlleeBBaacckkggrroouunndd,    MMeennuuTTiittlleeFFoorreeggrroouunndd,   and
	       MMeennuuSShhaaddoowwCCoolloorr.	 The  following	 color	variables
	       may  also be given a list of window and color name
	       pairs to allow per-window colors to  be	specified
	       (see  BBoorrddeerrCCoolloorr for details): BBoorrddeerrCCoolloorr, IIccoonn--
	       MMaannaaggeerrHHiigghhlliigghhtt,  BBoorrddeerrTTiilleeBBaacckkggrroouunndd,	  BBoorrddeerr--
	       TTiilleeFFoorreeggrroouunndd,	TTiittlleeBBaacckkggrroouunndd, TTiittlleeFFoorreeggrroouunndd,
	       IIccoonnBBaacckkggrroouunndd,	IIccoonnFFoorreeggrroouunndd,	 IIccoonnBBoorrddeerrCCoolloorr,
	       IIccoonnMMaannaaggeerrBBaacckkggrroouunndd,  and IIccoonnMMaannaaggeerrFFoorreeggrroouunndd.







			   Version 3.4			       10





CTWM(1)							  CTWM(1)


	       For example:

		    CCoolloorr
		    {
			 MenuBackground	     "gray50"
			 MenuForeground	     "blue"
			 BorderColor		  "red" { "XTerm" "yellow" }
			 TitleForeground	  "yellow"
			 TitleBackground	  "blue"
		    }

	       All of these color variables may also be specified
	       for  the	 MMoonnoocchhrroommee  variable,	allowing the same
	       initialization file to be used on both  color  and
	       monochrome displays.

       CCoonnssttrraaiinneeddMMoovveeTTiimmee _m_i_l_l_i_s_e_c_o_n_d_s
	       This variable specifies the length of time between
	       button clicks needed to begin a	constrained  move
	       operation.   Double clicking within this amount of
	       time when invoking ff..mmoovvee will  cause  the  window
	       only  be	 moved in a horizontal or vertical direc-
	       tion.  Setting this value to 0 will  disable  con-
	       strained	 moves.	 The default is 400 milliseconds.

       CCuurrssoorrss { _c_u_r_s_o_r_-_l_i_s_t }
	       This  variable  specifies  the  glyphs  that  _c_t_w_m
	       should use for various pointer cursors.	Each cur-
	       sor may be defined either from the ccuurrssoorr font  or
	       from  two  bitmap  files.   Shapes from the ccuurrssoorr
	       font may be specified directly as:

			 _c_u_r_s_o_r_n_a_m_e	"_s_t_r_i_n_g"

	       where _c_u_r_s_o_r_n_a_m_e is one of the cursor names listed
	       below,  and _s_t_r_i_n_g is the name of a glyph as found
	       in the file /usr/include/X11/cursorfont.h (without
	       the  ``XC_''  prefix).	If  the	 cursor	 is to be
	       defined from bitmap files, the following syntax is
	       used instead:

			 _c_u_r_s_o_r_n_a_m_e	"_i_m_a_g_e"	  "_m_a_s_k"

	       The  _i_m_a_g_e  and	_m_a_s_k strings specify the names of
	       files containing	 the  glyph  image  and	 mask  in
	       _b_i_t_m_a_p_(_1_)  form.	  The bitmap files are located in
	       the same manner as icon bitmap files.  The follow-
	       ing example shows the default cursor definitions:

		    CCuurrssoorrss
		    {
			 Frame		"top_left_arrow"
			 Title		"top_left_arrow"
			 Icon	   "top_left_arrow"



			   Version 3.4			       11





CTWM(1)							  CTWM(1)


			 IconMgr   "top_left_arrow"
			 Move	   "fleur"
			 Resize		"fleur"
			 Menu	   "sb_left_arrow"
			 Button		"hand2"
			 Wait	   "watch"
			 Select		"dot"
			 Destroy   "pirate"
		    }


       DDaarrkkSShhaaddoowwCCoonnttrraasstt _c_o_n_t_r_a_s_t
		   Indicates  to  _c_t_w_m	hos to calculate the dark
	       shadow color for 3D items.  The value  is  a  com-
	       prised between 0 and 100. The formula used is :

			dark.{RGB}  = color.{RGB} * ((100 - contrast) / 100),

	       Has no effect if BBeeNNiicceeTTooCCoolloorrmmaapp is active.

       DDeeccoorraatteeTTrraannssiieennttss
	       This  variable  indicates  that	transient windows
	       (those  containing  a  WM_TRANSIENT_FOR	property)
	       should have titlebars.  By default, transients are
	       not reparented.

       DDeeffaauullttBBaacckkggrroouunndd _s_t_r_i_n_g
	       This variable specifies the background color to be
	       used  for  sizing  and  information  windows.  The
	       default is "white".

       DDeeffaauullttFFoorreeggrroouunndd _s_t_r_i_n_g
	       This variable specifies the foreground color to be
	       used  for  sizing  and  information  windows.  The
	       default is "black".

       DDoonnttIIccoonniiffyyBByyUUnnmmaappppiinngg { _w_i_n_-_l_i_s_t }
	       This variable specifies a  list	of  windows  that
	       should  not  be	iconified by simply unmapping the
	       window (as would be the case if IIccoonniiffyyBByyUUnnmmaappppiinngg
	       had  been  set).	 This is frequently used to force
	       some windows to be treated as  icons  while  other
	       windows are handled by the icon manager.

       DDoonnttMMoovveeOOffff
	       This variable indicates that windows should not be
	       allowed to be moved off the  screen.   It  can  be
	       overridden by the ff..ffoorrcceemmoovvee function.

       DDoonnttPPaaiinnttRRoooottWWiinnddooww
	       This  variable  tells  _c_t_w_m  not to paint the root
	       window, whatever you told in the Workspaces speci-
	       fication.  This	is  useful to have pixmaps in the
	       Workspace Map but not on the root window.



			   Version 3.4			       12





CTWM(1)							  CTWM(1)


       DDoonnttSSqquueeeezzeeTTiittllee [{ _w_i_n_-_l_i_s_t }]
	       This variable indicates that titlebars should  not
	       be  squeezed  to	 their	minimum size as described
	       under SSqquueeeezzeeTTiittllee below.  If the optional  window
	       list  is supplied, only those windows will be pre-
	       vented from being squeezed.

       DDoonnttWWaarrppCCuurrssoorrIInnWWMMaapp
	       Tells ctwm not to warp the cursor  to  the  corre-
	       sponding	 actual	 window when you click in a small
	       window in the workspace map.

       FFoorrcceeIIccoonnss
	       This variable indicates that icon  pixmaps  speci-
	       fied  in	 the  IIccoonnss  variable should override any
	       client-supplied pixmaps.

       FFrraammeePPaaddddiinngg _p_i_x_e_l_s
	       This variable specifies the distance  between  the
	       titlebar decorations (the button and text) and the
	       window  frame.	The  default  is  2   pixels   if
	       _U_s_e_T_h_r_e_e_D_T_i_t_l_e_s is not set, 0 if it is set.

       IIccoonnBBaacckkggrroouunndd _s_t_r_i_n_g [{ _w_i_n_-_l_i_s_t }]
	       This  variable  specifies  the background color of
	       icons, and may only be specified inside of a CCoolloorr
	       or  MMoonnoocchhrroommee  list.   The optional _w_i_n_-_l_i_s_t is a
	       list of window names and colors so that per-window
	       colors  may  be	specified.   See  the BBoorrddeerrCCoolloorr
	       variable for a complete description  of	the  _w_i_n_-
	       _l_i_s_t.  The default is "white".

       IIccoonnBBoorrddeerrCCoolloorr _s_t_r_i_n_g [{ _w_i_n_-_l_i_s_t }]
	       This  variable  specifies  the color of the border
	       used for icon windows, and may only  be	specified
	       inside	of  a  CCoolloorr  or  MMoonnoocchhrroommee  list.   The
	       optional _w_i_n_-_l_i_s_t is a list of  window  names  and
	       colors so that per-window colors may be specified.
	       See  the	 BBoorrddeerrCCoolloorr  variable	for  a	 complete
	       description  of	the  _w_i_n_-_l_i_s_t.	 The  default  is
	       "black".

       IIccoonnBBoorrddeerrWWiiddtthh _p_i_x_e_l_s
	       This variable specifies the width in pixels of the
	       border  surrounding  icon windows.  The default is
	       2.

       IIccoonnDDiirreeccttoorryy _s_t_r_i_n_g
	       This variable specifies the directory that  should
	       be searched if if a bitmap file cannot be found in
	       any  of	the  directories  in  the  bbiittmmaappFFiilleePPaatthh
	       resource.





			   Version 3.4			       13





CTWM(1)							  CTWM(1)


       IIccoonnFFoonntt _s_t_r_i_n_g
	       This  variable  specifies  the  font to be used to
	       display icon names within icons.	 The  default  is
	       "variable".

       IIccoonnFFoorreeggrroouunndd _s_t_r_i_n_g [{ _w_i_n_-_l_i_s_t }]
	       This variable specifies the foreground color to be
	       used when displaying icons, and may only be speci-
	       fied  inside  of	 a CCoolloorr or MMoonnoocchhrroommee list.  The
	       optional _w_i_n_-_l_i_s_t is a list of  window  names  and
	       colors so that per-window colors may be specified.
	       See  the	 BBoorrddeerrCCoolloorr  variable	for  a	 complete
	       description  of	the  _w_i_n_-_l_i_s_t.	 The  default  is
	       "black".

       IIccoonniiffyyBByyUUnnmmaappppiinngg [{ _w_i_n_-_l_i_s_t }]
	       This variable indicates	that  windows  should  be
	       iconified  by being unmapped without trying to map
	       any icons.  This assumes that  the  user	 is  will
	       remap  the  window  through  the icon manager, the
	       ff..wwaarrppttoo function, or the _T_w_m_W_i_n_d_o_w_s menu.  If the
	       optional	 _w_i_n_-_l_i_s_t is provided, only those windows
	       will be iconified by  simply  unmapping.	  Windows
	       that  have  both	 this and the IIccoonnMMaannaaggeerrDDoonnttSShhooww
	       options set may not be accessible if no binding to
	       the  _T_w_m_W_i_n_d_o_w_s	menu is set in the user's startup
	       file.

       IIccoonnJJuussttiiffiiccaattiioonn _s_t_r_i_n_g
	       Where  string  is  either  ""lleefftt"",   ""cceenntteerr""   or
	       ""rriigghhtt"".	 Tells _c_t_w_m how to justify the icon image
	       against the icon title (if any).

       IIccoonnMMaannaaggeerrBBaacckkggrroouunndd _s_t_r_i_n_g [{ _w_i_n_-_l_i_s_t }]
	       This variable specifies the  background	color  to
	       use  for	 icon  manager	entries,  and may only be
	       specified inside of a CCoolloorr  or	MMoonnoocchhrroommee  list.
	       The  optional  _w_i_n_-_l_i_s_t	is a list of window names
	       and colors so that per-window colors may be speci-
	       fied.  See the BBoorrddeerrCCoolloorr variable for a complete
	       description  of	the  _w_i_n_-_l_i_s_t.	 The  default  is
	       "white".

       IIccoonnMMaannaaggeerrDDoonnttSShhooww [{ _w_i_n_-_l_i_s_t }]
	       This  variable  indicates  that	the  icon manager
	       should not display any windows.	If  the	 optional
	       _w_i_n_-_l_i_s_t	 is given, only those windows will not be
	       displayed.  This variable is used to prevent  win-
	       dows  that are rarely iconified (such as _x_c_l_o_c_k or
	       _x_l_o_a_d) from taking up space in the icon manager.

       IIccoonnMMaannaaggeerrFFoonntt _s_t_r_i_n_g
	       This variable specifies the font to be  used  when
	       displaying  icon	 manager entries.  The default is



			   Version 3.4			       14





CTWM(1)							  CTWM(1)


	       "variable".

       IIccoonnMMaannaaggeerrFFoorreeggrroouunndd _s_t_r_i_n_g [{ _w_i_n_-_l_i_s_t }]
	       This variable specifies the foreground color to be
	       used when displaying icon manager entries, and may
	       only be specified inside of a CCoolloorr or  MMoonnoocchhrroommee
	       list.   The  optional _w_i_n_-_l_i_s_t is a list of window
	       names and colors so that per-window colors may  be
	       specified.   See	 the  BBoorrddeerrCCoolloorr  variable for a
	       complete description of the _w_i_n_-_l_i_s_t.  The default
	       is "black".

       IIccoonnMMaannaaggeerrGGeeoommeettrryy _s_t_r_i_n_g [ _c_o_l_u_m_n_s ]
	       This  variable  specifies the geometry of the icon
	       manager window.	The _s_t_r_i_n_g argument  is	 standard
	       geometry	 specification that indicates the initial
	       full size of the icon manager.  The  icon  manager
	       window  is  then	 broken	 into  _c_o_l_u_m_n_s pieces and
	       scaled according to the number of entries  in  the
	       icon  manager.	Extra entries are wrapped to form
	       additional rows.	 The default number of columns is
	       1.

       IIccoonnMMaannaaggeerrHHiigghhlliigghhtt _s_t_r_i_n_g [{ _w_i_n_-_l_i_s_t }]
	       This  variable  specifies  the  border color to be
	       used when highlighting the icon manager entry that
	       currently has the focus, and can only be specified
	       inside  of  a  CCoolloorr  or	 MMoonnoocchhrroommee  list.    The
	       optional	 _w_i_n_-_l_i_s_t  is  a list of window names and
	       colors so that per-window colors may be specified.
	       See   the  BBoorrddeerrCCoolloorr  variable	 for  a	 complete
	       description  of	the  _w_i_n_-_l_i_s_t.	 The  default  is
	       "black".

       IIccoonnMMaannaaggeerrss { _i_c_o_n_m_g_r_-_l_i_s_t }
	       This variable specifies a list of icon managers to
	       create.	Each item in  the  _i_c_o_n_m_g_r_-_l_i_s_t	 has  the
	       following format:

			 "_w_i_n_n_a_m_e" ["_i_c_o_n_n_a_m_e"]	  "_g_e_o_m_e_t_r_y" _c_o_l_u_m_n_s

	       where  _w_i_n_n_a_m_e  is  the	name  of the windows that
	       should be put into this icon manager, _i_c_o_n_n_a_m_e  is
	       the name of that icon manager window's icon, _g_e_o_m_-
	       _e_t_r_y is a  standard  geometry  specification,  and
	       _c_o_l_u_m_n_s is the number of columns in this icon man-
	       ager as	described  in  IIccoonnMMaannaaggeerrGGeeoommeettrryy.   For
	       example:

		    IIccoonnMMaannaaggeerrss
		    {
			 "XTerm"   "=300x5+800+5" 5
			 "myhost"  "=400x5+100+5" 2
		    }



			   Version 3.4			       15





CTWM(1)							  CTWM(1)


	       Clients whose name or class is ``XTerm'' will have
	       an entry created in the	``XTerm''  icon	 manager.
	       Clients	whose  name  was  ``myhost'' would be put
	       into the ``myhost'' icon manager.


       IIccoonnMMaannaaggeerrSShhaaddoowwDDeepptthh _p_i_x_e_l_s
	       This variable specifies the depth  of  the  shadow
	       _c_t_w_m   uses   for  3D  IconManager  entries,  when
	       UseThreeDIconManagers is selected.


       IIccoonnMMaannaaggeerrSShhooww { _w_i_n_-_l_i_s_t }
	       This variable specifies a  list	of  windows  that
	       should  appear  in the icon manager.  When used in
	       conjunction with the IIccoonnMMaannaaggeerrDDoonnttSShhooww variable,
	       only the windows in this list will be shown in the
	       icon manager.


       IIccoonnRReeggiioonn _g_e_o_m_s_t_r_i_n_g _v_g_r_a_v _h_g_r_a_v _g_r_i_d_w_i_d_t_h _g_r_i_d_h_e_i_g_h_t
	       [_i_c_o_n_j_u_s_t]
	       [_i_c_o_n_r_e_g_j_u_s_t] [_i_c_o_n_r_e_g_a_l_i_g_n] [{ _w_i_n_-_l_i_s_t }]

	       This variable specifies an area on the root window
	       in  which  icons	 are  placed  if no specific icon
	       location is provided by	the  client.   The  _g_e_o_m_-
	       _s_t_r_i_n_g  is  a  quoted string containing a standard
	       geometry specification. If more than  one  IIccoonnRRee--
	       ggiioonn  lines  are given, icons will be put into the
	       succeeding icon regions when the	 first	is  full.
	       The _v_g_r_a_v argument should be either NNoorrtthh or SSoouutthh
	       and control and is used to control  whether  icons
	       are  first filled in from the top or bottom of the
	       icon region.  Similarly, the _h_g_r_a_v argument should
	       be  either  EEaasstt	 or  WWeesstt  and is used to control
	       whether icons should be filled in from  left  from
	       the right. Icons are laid out within the region in
	       a grid with cells _g_r_i_d_w_i_d_t_h pixels wide and  _g_r_i_d_-
	       _h_e_i_g_h_t  pixels	high. The optional win-list argu-
	       ment tells _c_t_w_m that if such a  window  is  iconi-
	       fied, and there is enough room in this icon region
	       for its icon, then place it  here.  The	optionnal
	       _i_c_o_n_j_u_s_t, _i_c_o_n_r_e_g_j_u_s_t and _i_c_o_n_r_e_g_a_l_i_g_n can be used
	       to  give	 specific  values  of  IconJustification,
	       IconRegionJustification	and  IconRegionAlignement
	       for this IconRegion.


       IIccoonnRReeggiioonnAAlliiggnneemmeenntt _s_t_r_i_n_g
	       Where string is either ""ttoopp"", ""cceenntteerr"" ""bboottttoomm"" or
	       ""bboorrddeerr"".   Tells  ctwm	how to align icons inside
	       their place in the IconRegion.  This keyword needs
	       a string value. The acceptable values are : "top",



			   Version 3.4			       16





CTWM(1)							  CTWM(1)


	       "center", "bottom" and "border".	 If  "border"  is
	       given, the justification will be "top" if the icon
	       region gravity is "north" and "bottom" if the icon
	       region gravity is "south".

       IIccoonnRReeggiioonnJJuussttiiffiiccaattiioonn _s_t_r_i_n_g
	       Where string is either ""lleefftt"", ""cceenntteerr"" ""rriigghhtt"" or
	       ""bboorrddeerr"".  Tells ctwm how to justify icons  inside
	       their place in the IconRegion.  This keyword needs
	       a  string  value.  The  acceptable  values  are	:
	       "left",	"center",  "right" and "border". If "bor-
	       der" is given, the justification will be "left" if
	       the  icon  region gravity is "west" and "right" if
	       the icon region gravity is "east".

       IIccoonnss { _w_i_n_-_l_i_s_t }
	       This variable specifies a list of window names and
	       the  bitmap filenames that should be used as their
	       icons.  For example:

		    IIccoonnss
		    {
			 "XTerm"   "xterm.icon"
			 "xfd"		"xfd_icon"
		    }

	       Windows that match  ``XTerm''  and  would  not  be
	       iconified  by  unmapping, and would try to use the
	       icon bitmap in the file ``xterm.icon''.	If FFoorrccee--
	       IIccoonnss  is specified, this bitmap will be used even
	       if the client has requested its own icon pixmap.

       IInntteerrppoollaatteeMMeennuuCCoolloorrss
	       This variable indicates	that  menu  entry  colors
	       should  be  interpolated	 between  entry specified
	       colors.	In the example below:

		    MMeennuu "mymenu"
		    {
			 "Title"	("black":"red")		 f.title
			 "entry1"		  f.nop
			 "entry2"		  f.nop
			 "entry3"  ("white":"green")   f.nop
			 "entry4"		  f.nop
			 "entry5"  ("red":"white")	    f.nop
		    }

	       the   foreground	  colors   for	 ``entry1''   and
	       ``entry2''  will be interpolated between black and
	       white, and the background colors between	 red  and
	       green.	Similarly,  the foreground for ``entry4''
	       will be half-way between white and  red,	 and  the
	       background  will	 be  half-way  between	green and
	       white.



			   Version 3.4			       17





CTWM(1)							  CTWM(1)


       MMaakkeeTTiittllee { _w_i_n_-_l_i_s_t }
	       This variable specifies a list of windows on which
	       a titlebar should be placed and is used to request
	       titles on specific windows when NNooTTiittllee	has  been
	       set.

       MMaappWWiinnddoowwBBaacckkggrroouunndd ccoolloorr [{ wwiinn--lliisstt }]
	       This  variable  specifies the background colors to
	       use for small windows in the workspace map  window
	       and  may	 only  be  specified inside of a Color or
	       Monochrome list. The optional wwiinn--lliisstt is  a  list
	       of window names and colors so that per-window col-
	       ors may be specified. If there is neither  MapWin-
	       dowBackground,  nor MapWindowForeground the window
	       title colors are used.

       MMaappWWiinnddoowwCCuurrrreennttWWoorrkkSSppaaccee  {  bboorrddeerr__ccoolloorr  [bbaacckkggrroouunndd]
	       [ffoorree-- ggrroouunndd] [bbiittmmaapp] }
	       Specify the appearence of the  map  window  corre-
	       sponding to the current workspace.

       MMaappWWiinnddoowwDDeeffaauullttWWoorrkkSSppaaccee   {  bboorrddeerr__ccoolloorr  [bbaacckkggrroouunndd]
	       [ffoorree-- ggrroouunndd] [bbiittmmaapp] }
	       Specify	the  appearence	 of the map window corre-
	       sponding to the workspaces other than the  current
	       workspace  when no root background information has
	       been provided to _c_t_w_m in	 the  WorkSpace	 command.
	       Not used in others cases.

       MMaappWWiinnddoowwFFoorreeggrroouunndd ccoolloorr [{ wwiinn--lliisstt }]
	       This  variable  specifies the foreground colors to
	       use for small windows in the workspace map  window
	       and  may	 only  be  specified inside of a Color or
	       Monochrome list. The optional wwiinn--lliisstt is  a  list
	       of window names and colors so that per-window col-
	       ors may be specified. If there is neither  MapWin-
	       dowBackground,  nor MapWindowForeground the window
	       title colors are used.

       MMaaxxIIccoonnTTiittlleeWWiiddtthh _w_i_d_t_h
	       The integer argument tells _c_t_w_m the maximun  width
	       to  use	for  an	 icon  title. If an icon title is
	       larger than _w_i_d_t_h, it is truncated.

       MMaaxxWWiinnddoowwSSiizzee _s_t_r_i_n_g
	       This variable specifies a geometry  in  which  the
	       width and height give the maximum size for a given
	       window.	This is typically used to  restrict  win-
	       dows  to	 the  size of the screen.  The default is
	       "30000x30000".

       MMeennuuBBaacckkggrroouunndd _s_t_r_i_n_g
	       This variable specifies the background color  used
	       for  menus,  and can only be specified inside of a



			   Version 3.4			       18





CTWM(1)							  CTWM(1)


	       CCoolloorr or MMoonnoocchhrroommee list.  The default is "white".

       MMeennuuFFoonntt _s_t_r_i_n_g
	       This  variable specifies the font to use when dis-
	       playing menus.  The default is "variable".

       MMeennuuFFoorreeggrroouunndd _s_t_r_i_n_g
	       This variable specifies the foreground color  used
	       for  menus,  and can only be specified inside of a
	       CCoolloorr or MMoonnoocchhrroommee list.  The default is "black".

       MMeennuuSShhaaddoowwCCoolloorr _s_t_r_i_n_g
	       This  variable  specifies  the color of the shadow
	       behind pull-down menus and can only  be	specified
	       inside of a CCoolloorr or MMoonnoocchhrroommee list.  The default
	       is "black".

       MMeennuuSShhaaddoowwDDeepptthh _p_i_x_e_l_s
	       This variable specifies the depth  of  the  shadow
	       _c_t_w_m  uses  for	3D  menus, when UseThreeDMenus is
	       selected.

       MMeennuuTTiittlleeBBaacckkggrroouunndd _s_t_r_i_n_g
	       This variable specifies the background  color  for
	       ff..ttiittllee	entries	 in menus, and can only be speci-
	       fied inside of a CCoolloorr or  MMoonnoocchhrroommee  list.   The
	       default is "white".

       MMeennuuTTiittlleeFFoorreeggrroouunndd _s_t_r_i_n_g
	       This  variable  specifies the foreground color for
	       ff..ttiittllee entries in menus and can only be specified
	       inside of a CCoolloorr or MMoonnoocchhrroommee list.  The default
	       is "black".

       MMoonnoocchhrroommee { _c_o_l_o_r_s }
	       This variable specifies a list  of  color  assign-
	       ments  that  should  be	made  if the screen has a
	       depth of 1.  See the description of CCoolloorrss.

       MMoovveeDDeellttaa _p_i_x_e_l_s
	       This variable specifies the number of  pixels  the
	       pointer	must  move  before  the	 ff..mmoovvee	 function
	       starts working.	Also see  the  ff..ddeellttaassttoopp  func-
	       tion.  The default is zero pixels.

       MMoovveePPaacckkRReessiissttaannccee _p_i_x_e_l_s
	       This  variable  specifies  the number of pixels of
	       the  movepack   and   movepush	resistance.   See
	       _f_._m_o_v_e_p_a_c_k and _f_._m_o_v_e_p_u_s_h.

       MMoovveeOOffffRReessiissttaannccee _p_i_x_e_l_s
	       This  variable  specifies  the number of pixels of
	       the moveoff resistance.	If  _p_i_x_e_l_s  is	positive,
	       DDoonnttMMoovveeOOffff  will  only prevent you from going off



			   Version 3.4			       19





CTWM(1)							  CTWM(1)


	       the edge if you're within n pixels off  the  edge.
	       If  you	go further, DDoonnttMMoovveeOOffff gives up and lets
	       you go as far  as  you  wish.   ff..ffoorrcceemmoovvee  still
	       allows you to totally ignore DDoonnttMMoovveeOOffff.  A nega-
	       tive value puts you back into "never moveoff" mode
	       (it's the default).

       NNooBBaacckkiinnggSSttoorree
	       This  variable  indicates that _c_t_w_m's menus should
	       not request backing store to  minimize  repainting
	       of  menus.   This  is  typically used with servers
	       that can repaint faster than they can handle back-
	       ing store.

       NNooBBoorrddeerr { _w_i_n_-_l_i_s_t }
	       These  windows  won't  have border. If you want no
	       borders on all windows, use the	BorderWidth  key-
	       word.

       NNooCCaasseeSSeennssiittiivvee
	       This   variable	indicates  that	 case  should  be
	       ignored when sorting icon names in  an  icon  man-
	       ager.  This option is typically used with applica-
	       tions that capitalize the first	letter	of  their
	       icon name.

       NNooDDeeffaauullttss
	       This  variable indicates that _c_t_w_m should not sup-
	       ply the default titlebuttons and	 bindings.   This
	       option  should  only  be	 used if the startup file
	       contains a completely new set of bindings and def-
	       initions.

       NNooGGrraabbSSeerrvveerr
	       This  variable indicates that _c_t_w_m should not grab
	       the server when popping up menus and moving opaque
	       windows.

       NNooHHiigghhlliigghhtt [{ _w_i_n_-_l_i_s_t }]
	       This variable indicates that borders should not be
	       highlighted to track the location of the	 pointer.
	       If  the	optional  _w_i_n_-_l_i_s_t is given, highlighting
	       will only be disabled for those windows.	 When the
	       border  is  highlighted,	 it  will be drawn in the
	       current BBoorrddeerrCCoolloorr.  When the border is not high-
	       lighted,	 it will be stippled with an gray pattern
	       using the current BBoorrddeerrTTiilleeFFoorreeggrroouunndd and BBoorrddeerr--
	       TTiilleeBBaacckkggrroouunndd colors.

       NNooIIccoonnTTiittllee [{ _w_i_n_-_l_i_s_t }]
	       This variable indicates that icons should not dis-
	       play the icon name of the client.  If the optional
	       _w_i_n_-_l_i_s_t	 is  given,  only  those clients will not
	       have icon titles.



			   Version 3.4			       20





CTWM(1)							  CTWM(1)


       NNooIIccoonnMMaannaaggeerrFFooccuuss
	       This variable indicates that ctwm will not set the
	       focus on the corresponding window when the pointer
	       is in an IconManager.

       NNooIIccoonnMMaannaaggeerrss
	       This  variable  indicates  that	no  icon  manager
	       should be created.

       NNooMMeennuuSShhaaddoowwss
	       This variable indicates that menus should not have
	       drop shadows drawn behind them.	This is typically
	       used  with  slower servers since it speeds up menu
	       drawing at the expense of making the menu slightly
	       harder to read.

       NNooOOppaaqquueeMMoovvee { _w_i_n_d_o_w_-_l_i_s_t }
	       The counterpart of OOppaaqquueeMMoovvee. See OOppaaqquueeMMoovvee.

       NNooOOppaaqquueeRReessiizzee { _w_i_n_d_o_w_-_l_i_s_t }
	       The counterpart of OOppaaqquueeRReessiizzee. See OOppaaqquueeRReessiizzee.

       NNooRRaaiisseeOOnnDDeeiiccoonniiffyy
	       This variable  indicates	 that  windows	that  are
	       deiconified should not be raised.

       NNooRRaaiisseeOOnnMMoovvee
	       This variable indicates that windows should not be
	       raised when moved.   This  is  typically	 used  to
	       allow windows to slide underneath each other.

       NNooRRaaiisseeOOnnRReessiizzee
	       This variable indicates that windows should not be
	       raised when resized.  This is  typically	 used  to
	       allow windows to be resized underneath each other.

       NNooRRaaiisseeOOnnWWaarrpp
	       This variable indicates that windows should not be
	       raised  when  the pointer is warped into them with
	       the ff..wwaarrppttoo function.  If  this	 option	 is  set,
	       warping	to  an	occluded window may result in the
	       pointer ending up in the occluding window  instead
	       the desired window (which causes unexpected behav-
	       ior with ff..wwaarrpprriinngg).

       NNooSSaavveeUUnnddeerrss
	       This variable  indicates	 that  menus  should  not
	       request	save-unders to minimize window repainting
	       following menu selection.  It  is  typically  used
	       with  displays  that  can repaint faster than they
	       can handle save-unders.

       NNooSShhoowwOOccccuuppyyAAllll
	       This variable  specifies	 that  OccupyAll  windows



			   Version 3.4			       21





CTWM(1)							  CTWM(1)


	       won't be displayed in the WorkSpaceMap window.

       NNooSSttaacckkMMooddee [{ _w_i_n_-_l_i_s_t }]
	       This   variable	 indicates   that  client  window
	       requests	 to  change  stacking  order  should   be
	       ignored.	  If the optional _w_i_n_-_l_i_s_t is given, only
	       requests on those windows will be  ignored.   This
	       is  typically  used  to	prevent applications from
	       relentlessly popping themselves to  the	front  of
	       the window stack.

       NNooTTiittllee [{ _w_i_n_-_l_i_s_t }]
	       This  variable  indicates  that windows should not
	       have  titlebars.	  If  the  optional  _w_i_n_-_l_i_s_t  is
	       given, only those windows will not have titlebars.
	       MMaakkeeTTiittllee may be used with this	option	to  force
	       titlebars to be put on specific windows.

       NNooTTiittlleeFFooccuuss
	       This  variable  indicates that _c_t_w_m should not set
	       keyboard input focus  to	 each  window  as  it  is
	       entered.	  Normally,  _c_t_w_m  sets the focus so that
	       focus and key events from the  titlebar	and  icon
	       managers are delivered to the application.  If the
	       pointer is moved	 quickly  and  _c_t_w_m  is	 slow  to
	       respond,	 input	can be directed to the old window
	       instead of the new.  This option is typically used
	       to  prevent  this ``input lag'' and to work around
	       bugs in older applications that have problems with
	       focus events.

       NNooTTiittlleeHHiigghhlliigghhtt [{ _w_i_n_-_l_i_s_t }]
	       This variable indicates that the highlight area of
	       the titlebar, which is used to indicate the window
	       that  currently has the input focus, should not be
	       displayed.  If the  optional  _w_i_n_-_l_i_s_t  is  given,
	       only  those windows will not have highlight areas.
	       This and the SSqquueeeezzeeTTiittllee options can  be  set  to
	       substantially  reduce  the  amount of screen space
	       required by titlebars.

       OOccccuuppyy { _o_c_c_u_p_y_-_l_i_s_t }
	       This variable specifies which windows occupy which
	       workspaces at startup.

	       _o_c_c_u_p_y_-_l_i_s_t consists of entries of the form :

			    [Window]   win-name { wpsc1 wspc2 ... }
		    or	    Workspace  wspc-name {win1 win2 ... }








			   Version 3.4			       22





CTWM(1)							  CTWM(1)


	       Example :

		    Occupy {
				   "xload"   {"all"}
			Window	   "xterm"   {"here" "there" "elsewhere"}
				   "xv"	     {"images"}
			WorkSpace  "images"  {"xloadimage"}
		    }

	       Note  :	The  Occupy declaration should come after
	       the WorkSpaces declaration.


       OOccccuuppyyAAllll { _w_i_n_d_o_w_-_l_i_s_t }

	       This variable specifies a  list	of  windows  that
	       will occupy all workspaces at startup.

	       _w_i_n_d_o_w_-_l_i_s_t is a list of window names.

	       Example :

		    OccupyAll
		    {
			"xload"
			"xbiff"
			"xconsole"
		    }

	       Note : The OccupyAll declaration should come after
	       the WorkSpaces declaration.


       OOppaaqquueeMMoovvee { _w_i_n_d_o_w_-_l_i_s_t }
	       This variable indicates that the	 ff..mmoovvee	 function
	       should actually move the window instead of just an
	       outline so that the user can immediately see  what
	       the  window  will  look	like in the new position.
	       This option is typically	 used  on  fast	 displays
	       (particularly   if   NNooGGrraabbSSeerrvveerr   is  set).  The
	       optional window list parameter indicates that only
	       windows	in  this list should actually be moved in
	       opaque mode. The NNooOOppaaqquueeMMoovvee counterpart is  also
	       available.

       OOppaaqquueeMMoovveeTThhrreesshhoolldd { _t_h_r_e_s_h_o_l_d }
	       The  integer  parameter	is a percentage and indi-
	       cates that only windows (elligible for opaque mov-
	       ing)  with  a surface smaller than this percentage
	       of the surface of the screen  should  actually  be
	       moved in opaque mode.

       OOppaaqquueeRReessiizzee { _w_i_n_d_o_w_-_l_i_s_t }
	       The  opaque  version of resize. Extremely resource



			   Version 3.4			       23





CTWM(1)							  CTWM(1)


	       intensive,     but     beautiful	    with     fast
	       server/client/network.  See OOppaaqquueeMMoovvee. The NNooOOppaa--
	       qquueeRReessiizzee counterpart is also available.

       OOppaaqquueeRReessiizzeeTThhrreesshhoolldd { _t_h_r_e_s_h_o_l_d }
	       The resize version of OOppaaqquueeMMoovveeTThhrreesshhoolldd.

       PPiixxmmaappss { _p_i_x_m_a_p_s }
	       This variable specifies a  list	of  pixmaps  that
	       define  the  appearance	of  various images.  Each
	       entry is a keyword indicating the pixmap	 to  set,
	       followed by a string giving the name of the bitmap
	       file.  The following pixmaps may be specified:

		    PPiixxmmaappss
		    {
			 TitleHighlight "gray1"
		    #	 TitleHighlight "supman%.xbm"
		    }

	       The default for _T_i_t_l_e_H_i_g_h_l_i_g_h_t is to use	 an  even
	       stipple pattern.

       PPiixxmmaappDDiirreeccttoorryy _p_a_t_h
	       This  variable specifies the path where _c_t_w_m looks
	       to find non-X11 bitmap files.  Whenever	you  want
	       to  use	a  image  file that is not an X11 bitmap,
	       specify	:  xpm:filename	 (for	xpm   files)   or
	       xwd:filename  for  xwd  files, or im:filename (for
	       other files supported by the imconv  package),  or
	       |command	 for  an  on the file generated xwd file.
	       Use the % character to specify an animation.  _p_a_t_h
	       can  be	a  colon  separated  list of directories.
	       Example :

		    PixmapDirectory  "/usr/lib/X11/twm"
		    Icons
		    {
			"Axe"	 "xpm:edit.xpm"
			"xterm"	 "xpm:ball%.xpm"
		    }

	       N.B This is only valid if your version of _c_t_w_m has
	       been compiled with the XPM and IMCONV options.

       RRaaiisseeDDeellaayy _m_i_l_l_i_s_e_c_o_n_d_s
	       For  windows  that  are to be automatically raised
	       when the pointer enters (see the	 AAuuttooRRaaiissee  vari-
	       able  and  the _f_._a_u_t_o_r_a_i_s_e function) this variable
	       specifies the length of time  the  pointer  should
	       rest  in	 the  window  before  it  is raised.  The
	       default is 0 milliseconds.





			   Version 3.4			       24





CTWM(1)							  CTWM(1)


       RRaannddoommPPllaacceemmeenntt [ _s_t_r_i_n_g ]
	       Where _s_t_r_i_n_g  is	 either	 "on",	"off",	"all"  or
	       "unmapped".   This variable indicates that windows
	       with no specified geometry should be placed  in	a
	       pseudo-random  location instead of having the user
	       drag out an outline. The argument  "on"	or  "all"
	       tells ctwm do do this for all such windows, "off",
	       not to do this, and "unmapped", only for	 unmapped
	       windows,	 e.g.	iconified  or  not visible in the
	       current workspace.

       RReeaallllyyMMoovveeIInnWWoorrkkssppaacceeMMaannaaggeerr
	       This keyword tells _c_t_w_m to move the actual  window
	       when  the  user is moving the small windows in the
	       WorkSpaceMap   window.	If   not   present    the
	       WorkSpaceMap  can be used only to modify the occu-
	       pation of a window.

       RReessiizzeeFFoonntt _s_t_r_i_n_g
	       This variable specifies the font to be used for in
	       the  dimensions window when resizing windows.  The
	       default is "fixed".

       RReessttaarrttPPrreevviioouussSSttaattee
	       This variable indicates that _c_t_w_m  should  attempt
	       to  use the WM_STATE property on client windows to
	       tell which windows should be iconified  and  which
	       should be left visible.	This is typically used to
	       try to regenerate the state that the screen was in
	       before the previous window manager was shutdown.

       RReevveerrsseeCCuurrrreennttWWoorrkkssppaaccee _s_t_r_i_n_g
	       This  variable specifies tells _c_t_w_m to reverse the
	       background and foreground colors in the small win-
	       dows   in   the	workspace  map	for  the  current
	       workspace.


       SSaavveeCCoolloorr { _c_o_l_o_r_s_-_l_i_s_t }
	       This variable indicates a list  of  color  assign-
	       ments  to  be  stored  as pixel values in the root
	       window property _MIT_PRIORITY_COLORS.  Clients may
	       elect  to  preserve  these  values when installing
	       their own colormap.  Note that use of this  mecha-
	       nism  is	 a  way	 an  for application to avoid the
	       "technicolor"  problem,	whereby	  useful   screen
	       objects	such as window borders and titlebars dis-
	       appear when a programs custom colors are installed
	       by the window manager.  For example:

		    SSaavveeCCoolloorr
		    {
			    BorderColor
			    TitleBackground



			   Version 3.4			       25





CTWM(1)							  CTWM(1)


			    TitleForeground
			    "red"
			    "green"
			    "blue"
		    }

	       This would place on the root window 3 pixel values
	       for borders and titlebars, as well  as  the  three
	       color  strings,	all  taken  from the default col-
	       ormap.


       SScchhrriinnkkIIccoonnTTiittlleess
	       A la Motif schrinking of icon titles,  and  expan-
	       sion when mouse is inside icon.


       SShhoowwIIccoonnMMaannaaggeerr
	       This variable indicates that the icon manager win-
	       dow should be displayed when _c_t_w_m is started.   It
	       can  always  be brought up using the ff..sshhoowwiiccoonnmmggrr
	       function.


       SShhoowwWWoorrkkSSppaacceeMMaannaaggeerr
	       This variable specifies that the	 WorkSpaceManager
	       should be visible.


       SSoorrttIIccoonnMMaannaaggeerr
	       This  variable  indicates that entries in the icon
	       manager should  be  sorted  alphabetically  rather
	       than by simply appending new windows to the end.


       SSqquueeeezzeeTTiittllee [{ _s_q_u_e_e_z_e_-_l_i_s_t }]
	       This  variable  indicates that _c_t_w_m should attempt
	       to use  the  SHAPE  extension  to  make	titlebars
	       occupy  only  as	 much  screen space as they need,
	       rather than extending all the way across	 the  top
	       of  the	window.	 The optional _s_q_u_e_e_z_e_-_l_i_s_t may be
	       used to	control	 the  location	of  the	 squeezed
	       titlebar along the top of the window.  It contains
	       entries of the form:

			 "_n_a_m_e"		_j_u_s_t_i_f_i_c_a_t_i_o_n  _n_u_m  _d_e_n_o_m

	       where _n_a_m_e is  a	 window	 name,	_j_u_s_t_i_f_i_c_a_t_i_o_n  is
	       either  lleefftt,  cceenntteerr, or rriigghhtt, and _n_u_m and _d_e_n_o_m
	       are numbers specifying a ratio giving the relative
	       position	 about	which  the titlebar is justified.
	       The ratio is measured from left to  right  if  the
	       numerator  is positive, and right to left if nega-
	       tive.  A	 denominator  of  0  indicates	that  the



			   Version 3.4			       26





CTWM(1)							  CTWM(1)


	       numerator  should be measured in pixels.	 For con-
	       venience, the ratio 0/0 is the  same  as	 1/2  for
	       cceenntteerr and -1/1 for rriigghhtt.  For example:

		    SSqquueeeezzeeTTiittllee
		    {
			 "XTerm"   left	     0	  0
			 "xterm1"  left	     1	  3
			 "xterm2"  left	     2	  3
			 "oclock"  center	  0    0
			 "emacs"   right	  0    0
		    }

	       The  DDoonnttSSqquueeeezzeeTTiittllee list can be used to turn off
	       squeezing on certain titles.

       SSttaarrttIIccoonniiffiieedd [{ _w_i_n_-_l_i_s_t }]
	       This variable indicates that client windows should
	       initially   be  left  as	 icons	until  explicitly
	       deiconified by the user.	 If the optional _w_i_n_-_l_i_s_t
	       is  given,  only	 those	windows	 will  be started
	       iconic.	This is useful for programs that  do  not
	       support	 an   _-_i_c_o_n_i_c	command	 line  option  or
	       resource.

       SSttaarrttIInnMMaappSSttaattee
	       This variable specifies that the	 WorkSpaceManager
	       should be started in its map form when created.

       SSttaayyUUppMMeennuuss
	       Tells  ctwm  to use stayup menus. These menus will
	       stay on the screen when ButtonUp,  if  either  the
	       menu  has  not yet been entered by the pointer, or
	       the current item is a f.title.

       SSuunnkkFFooccuussWWiinnddoowwTTiittllee
	       This variable specifies	that  the  title  of  the
	       focus  window (if exists) should be sunken instead
	       of raised. Only valid if UseThreeDTitles is set.

       TThhrreeeeDDBBoorrddeerrWWiiddtthh  _p_i_x_e_l_s
	       The width of the 3D border in pixels, if any.

       TTiittlleeBBaacckkggrroouunndd _s_t_r_i_n_g [{ _w_i_n_-_l_i_s_t }]
	       This variable specifies the background color  used
	       in  titlebars, and may only be specified inside of
	       a CCoolloorr or MMoonnoocchhrroommee list.  The optional _w_i_n_-_l_i_s_t
	       is  a list of window names and colors so that per-
	       window colors may be specified.	 The  default  is
	       "white".

       TTiittlleeBBuuttttoonnBBoorrddeerrWWiiddtthh _p_i_x_e_l_s
	       This variable specifies the width in pixels of the
	       border	surrounding   titlebuttons.    This    is



			   Version 3.4			       27





CTWM(1)							  CTWM(1)


	       typically  set  to 0 to allow titlebuttons to take
	       up as much space as possible and	 to  not  have	a
	       border.	 The  default  is 1 if _U_s_e_T_h_r_e_e_D_T_i_t_l_e_s is
	       not set, 0 if it is set.

       TTiittlleeBBuuttttoonnSShhaaddoowwDDeepptthh _p_i_x_e_l_s
	       This variable specifies the depth  of  the  shadow
	       _c_t_w_m  uses for 3D title buttons, when UseThreeDTi-
	       tles is selected.

       TTiittlleeFFoonntt _s_t_r_i_n_g
	       This variable specifies the font to used for  dis-
	       playing window names in titlebars.  The default is
	       "variable".

       TTiittlleeFFoorreeggrroouunndd _s_t_r_i_n_g [{ _w_i_n_-_l_i_s_t }]
	       This variable specifies the foreground color  used
	       in  titlebars, and may only be specified inside of
	       a CCoolloorr or MMoonnoocchhrroommee list.  The optional _w_i_n_-_l_i_s_t
	       is  a list of window names and colors so that per-
	       window colors may be specified.	 The  default  is
	       "black".

       TTiittlleeJJuussttiiffiiccaattiioonn _s_t_r_i_n_g
	       This  keyword needs a string value. The acceptable
	       values are : "left",  "center"  and  "right".  The
	       window  titles will be justified according to this
	       in the title window.

       TTiittlleePPaaddddiinngg _p_i_x_e_l_s
	       This variable specifies the distance  between  the
	       various	buttons, text, and highlight areas in the
	       titlebar.  The default is 8 pixels if _U_s_e_T_h_r_e_e_D_T_i_-
	       _t_l_e_s is not set, 0 if it is set.


       TTiittlleeSShhaaddoowwDDeepptthh _p_i_x_e_l_s
	       This  variable  specifies  the depth of the shadow
	       _c_t_w_m uses for 3D titles, when  UseThreeDTitles  is
	       selected.


       TTrraannssiieennttHHaassOOccccuuppaattiioonn
	       This  variable  specifies  that	transient-for and
	       non-group leader windows can have their own  occu-
	       pation  potentially  different  from  their leader
	       window. The default case	 is  that  these  windows
	       follow  their  leader,  use  this  keyword  if the
	       default action doesn't please you.


       TTrraannssiieennttOOnnTToopp _p_e_r_c_e_n_t_a_g_e
	       The parameter (required) is a percentage and tells
	       _c_t_w_m  to	 put  transient	 (and  non-group  leader)



			   Version 3.4			       28





CTWM(1)							  CTWM(1)


	       windows always on top of their leader if and  only
	       if  their surface is smaller than this fraction of
	       the surface of their leader. The surface of a win-
	       dow is its width times its weight.


       UUnnkknnoowwnnIIccoonn _s_t_r_i_n_g
	       This  variable  specifies the filename of a bitmap
	       file to be used as the default icon.  This  bitmap
	       will  be	 used as the icon of all clients which do
	       not provide an icon bitmap and are not  listed  in
	       the IIccoonnss list.


       UUsseePPPPoossiittiioonn _s_t_r_i_n_g
	       This variable specifies whether or not _c_t_w_m should
	       honor program-requested locations  (given  by  the
	       PPPPoossiittiioonn flag in the WM_NORMAL_HINTS property) in
	       the absence of  a  user-specified  position.   The
	       argument	 _s_t_r_i_n_g	 may  have  one	 of three values:
	       ""ooffff"" (the default) indicating  that  _c_t_w_m  should
	       ignore  the  program-supplied position, ""oonn"" indi-
	       cating that the position should be used, and ""nnoonn--
	       zzeerroo""  indicating that the position should used if
	       it is other than (0,0).	The latter option is  for
	       working around a bug in older toolkits.


       UUsseeSSuunnkkTTiittlleePPiixxmmaapp
	       This  makes  it	so  the	 shadows are inversed for
	       title pixmaps when focus is lost.  This is similar
	       to  having  the SunkFocusWindowTitle, but it makes
	       your xbm or 3d XPM (if any) sink instead	 of  just
	       the whole bar.


       UUsseeTThhrreeeeDDBBoorrddeerrss
	       Tells  _c_t_w_m  to use 3D-looking window borders. The
	       width ot the 3D borders is TThhrreeeeDDBBoorrddeerrWWiiddtthh.  The
	       color  of  the  3D border is BBoorrddeerrTTiilleeBBaacckkggrroouunndd,
	       and if NoHighlight is not selected, the border  of
	       the Focus window is BBoorrddeerrCCoolloorr.


       UUsseeTThhrreeeeDDIIccoonnMMaannaaggeerrss
	       Tells  _c_t_w_m to use 3D-looking IconManagers if any.


       UUsseeTThhrreeeeDDMMeennuuss
	       Tells _c_t_w_m to use 3D-looking menus.


       UUsseeTThhrreeeeDDTTiittlleess
	       Tells _c_t_w_m to use 3D-looking  windows  titles.  In



			   Version 3.4			       29





CTWM(1)							  CTWM(1)


	       which  case  the default values of TTiittlleeBBuuttttoonnBBoorr--
	       ddeerrWWiiddtthh, FFrraammeePPaaddddiinngg, TTiittlleePPaaddddiinngg and BBuuttttoonnIInn--
	       ddeenntt  are  set to 0.  There are plenty of built-in
	       scalable pixmaps for buttons, :xpm:menu, :xpm:dot,
	       :xpm:resize,  :xpm:bar,	:xpm:vbar,  :xpm:iconify,
	       :xpm:resize and :xpm:box. There is several  built-
	       in  scalable  animation for buttons : %xpm:resize,
	       %xpm:menu-up, %xpm:menu-down, %xpm:resize-out-top,
	       %xpm:resize-in-top,	     %xpm:resize-out-bot,
	       %xpm:resize-in-bot,  %xpm:maze-out,  %xpm:maze-in,
	       %xpm:zoom-out,  %xpm:zoom-in  and %xpm:zoom-inout.
	       Try them to see what they look like.


       UUsseeTThhrreeeeDDWWMMaapp
	       Tells _c_t_w_m to use 3D for the small windows in  the
	       workspace map.


       WWaarrppCCuurrssoorr [{ _w_i_n_-_l_i_s_t }]
	       This variable indicates that the pointer should be
	       warped into windows when they are deiconified.  If
	       the  optional  _w_i_n_-_l_i_s_t is given, the pointer will
	       only be warped when those windows are deiconified.


       WWiinnddoowwRRiinngg [{ _w_i_n_-_l_i_s_t }]
	       This  variable  specifies  a list of windows along
	       which the ff..wwaarrpprriinngg function cycles. If no  argu-
	       ment is given, all the windows are in the ring.


       WWaarrppRRiinnggOOnnSSccrreeeenn
	       Tells  _c_t_w_m  that f.warpring warps pointer only to
	       windows visible in the current workspace.


       WWaarrppTTooDDeeffaauullttMMeennuuEEnnttrryy
	       (Useful only with StayUpMenus) When using  StayUp-
	       Menus,  and  a  menu does stays up, the pointer is
	       warped to the default entry of the menu.


       WWaarrppUUnnmmaappppeedd
	       This variable indicates	that  that  the	 ff..wwaarrppttoo
	       function should deiconify any iconified windows it
	       encounters.  This is typically used to make a  key
	       binding that will pop a particular window (such as
	       _x_m_h), no matter where it is.  The default  is  for
	       ff..wwaarrppttoo to ignore iconified windows.


       WWMMggrrBBuuttttoonnSShhaaddoowwDDeepptthh _d_e_p_t_h
	       Control	the  depth of the shadow of the workspace



			   Version 3.4			       30





CTWM(1)							  CTWM(1)


	       manager buttons.


       WWMMggrrHHoorriizzBBuuttttoonnIInnddeenntt _n_b___p_i_x_e_l_s
	       Specifies the horizontal space, in pixel,  between
	       the  buttons  of	 the workspace manager (in button
	       mode).


       WWMMggrrVVeerrttBBuuttttoonnIInnddeenntt _n_b___p_i_x_e_l_s
	       Specifies the vertical space,  in  pixel,  between
	       the  buttons  of	 the workspace manager (in button
	       mode).


       WWoorrkkSSppaacceeFFoonntt _s_t_r_i_n_g
	       This allows you to specify the font to use for the
	       small  windows  in the workspace manager map. (Try
	       "-adobe-times-*-r-*--10-*-*-*-*-*-*-*").


       WWoorrkkSSppaacceeMMaannaaggeerrGGeeoommeettrryy _s_t_r_i_n_g [ _c_o_l_u_m_n_s ]
	       This  variable  specifies  the  geometry	 of   the
	       workspace  manager  window. The _s_t_r_i_n_g argument is
	       standard geometry specification that indicates the
	       initial	full  size  of the workspace manager. The
	       _c_o_l_u_m_n_s argument indicates the number  of  columns
	       to use for the workspace manager window.

		    WWoorrkkSSppaacceeMMaannaaggeerrGGeeoommeettrryy	    "360x60+60-0" 8


       WWoorrkkSSppaacceess { _w_o_r_k_s_p_a_c_e_-_l_i_s_t }
	       This  variable specifies a list of workspaces that
	       are created at startup, Where _w_o_r_k_s_p_a_c_e_-_l_i_s_t is :

		    name [{bg-button [fg-button] [bg-root] [fg-root] [pixmap-root]}]


	       With :

	       bbgg--bbuuttttoonn::
		       background color of the corresponding but-
		       ton in the workspace manager.

	       ffgg--bbuuttttoonn::
		       foreground color of the corresponding but-
		       ton in the workspace manager.

	       bbgg--rroooott::
		       background color of the corresponding root
		       screen.





			   Version 3.4			       31





CTWM(1)							  CTWM(1)


	       ffgg--rroooott::
		       foreground color of the corresponding root
		       screen.

	       ppiixxmmaapp--rroooott::
		       pixmap to  display  on  the  corresponding
		       root  screen, either the name of a bitmap,
		       xpm:xpmfile,  xwd:xwdfile,  im:imfile   or
		       |command_that generate_xwd.

	       Example :

		    WorkSpaces
		    {
		      "One"   {"#686B9F" "white" "DeepSkyBlue3" "white" "xlogo16"}
		      "Two"   {"#619AAE" "white" "firebrick"}
		      "Three" {"#727786" "white" "MidnightBlue" "white" "xpm:ball%.xpm"}
		      "Four"  {"#727786" "white" "white" "white" "|(giftoppm | pnmtoxwd) < 2010.gif"}

		      "Five"  {"#727786" "white" "DeepSkyBlue3" "white" "plaid"}
		      "Six"   {"#619AAE" "white" "DeepSkyBlue3" "white" "xpm:background1"}
		      "Seven" {"#8C5b7A" "white" "chartreuse4"}
		      "Eight" {"#686B9F" "white" "MidnightBlue"}
		    }


	       The  WorkSpaces declaration should come before the
	       Occupy or OccupyAll declarations. The maximum num-
	       ber of workspaces is 32.


       XXMMoovveeGGrriidd _n_u_m_b_e_r
	       This  variable  specifies the value to use to con-
	       strain  window  movement.   When	 moving	  windows
	       around, the x coordinate will always be a multiple
	       of  this	 variable.  Default  id	 1.   f.forcemove
	       ignores this variable.


       YYMMoovveeGGrriidd _n_u_m_b_e_r


       XXoorrVVaalluuee _n_u_m_b_e_r
	       This  variable  specifies  the  value  to use when
	       drawing window outlines for moving  and	resizing.
	       This  should be set to a value that will result in
	       a variety of distinguishable  colors  when  exclu-
	       sive-or'ed with the contents of the user's typical
	       screen.	Setting this variable to  1  often  gives
	       nice  results  if  adjacent  colors in the default
	       colormap are  distinct.	 By  default,  _c_t_w_m  will
	       attempt	to cause temporary lines to appear at the
	       opposite end of the colormap from the graphics.




			   Version 3.4			       32





CTWM(1)							  CTWM(1)


       YYMMoovveeGGrriidd _n_u_m_b_e_r
	       This variable specifies the value to use	 to  con-
	       strain	window	movement.   When  moving  windows
	       around, the y coordinate will always be a multiple
	       of   this  variable.  Default  id  1.  f.forcemove
	       ignores this variable.


       ZZoooomm [ _c_o_u_n_t ]
	       This variable indicates that  outlines  suggesting
	       movement	 of  a	window	to and from its iconified
	       state should be displayed  whenever  a  window  is
	       iconified  or  deiconified.   The  optional  _c_o_u_n_t
	       argument specifies the number of	 outlines  to  be
	       drawn.  The default count is 8.

       The  following  variables must be set after the fonts have
       been assigned, so it is usually best to put  them  at  the
       end  of	the  variables	or beginning of the bindings sec-
       tions:


       CChhaannggeeWWoorrkkssppaacceeFFuunnccttiioonn _f_u_n_c_t_i_o_n
	       This variable specifies the function  to	 be  exe-
	       cuted  when  the user change the current workspace
	       (zap).


       DDeeffaauullttFFuunnccttiioonn _f_u_n_c_t_i_o_n
	       This variable specifies the function  to	 be  exe-
	       cuted  when  a key or button event is received for
	       which no binding is provided.  This  is	typically
	       bound  to ff..nnoopp, ff..bbeeeepp, or a menu containing win-
	       dow operations.


       DDeeIIccoonniiffyyFFuunnccttiioonn _f_u_n_c_t_i_o_n
	       This variable specifies the function  to	 be  exe-
	       cuted when a window is deiconified.


       IIccoonniiffyyFFuunnccttiioonn _f_u_n_c_t_i_o_n
	       This  variable  specifies  the function to be exe-
	       cuted when a window is iconified.


       WWiinnddoowwFFuunnccttiioonn _f_u_n_c_t_i_o_n
	       This variable specifies the  function  to  execute
	       when  a	window	is  selected  from the TTwwmmWWiinnddoowwss
	       menu.  If this variable is  not	set,  the  window
	       will be deiconified and raised.

BBIINNDDIINNGGSS
       After  the  desired variables have been set, functions may



			   Version 3.4			       33





CTWM(1)							  CTWM(1)


       be attached titlebuttons	 and  key  and	pointer	 buttons.
       Titlebuttons  may be added from the left or right side and
       appear in the titlebar from left-to-right according to the
       order in which they are specified.  Key and pointer button
       bindings may be given in any order.

       Titlebuttons specifications must include the name  of  the
       pixmap  to  use	in  the button box and the function to be
       invoked when a pointer button is pressed within them:

	    LLeeffttTTiittlleeBBuuttttoonn "_b_i_t_m_a_p_n_a_m_e"  = _f_u_n_c_t_i_o_n

       or

	    LLeeffttTTiittlleeBBuuttttoonn "_b_i_t_m_a_p_n_a_m_e" {
		Button_i : _f_u_n_c_t_i_o_n
		...
		Button_j : _f_u_n_c_t_i_o_n
	    }

       or

	    RRiigghhttTTiittlleeBBuuttttoonn "_b_i_t_m_a_p_n_a_m_e" = _f_u_n_c_t_i_o_n

       or

	    RRiigghhttTTiittlleeBBuuttttoonn "_b_i_t_m_a_p_n_a_m_e" {
		Button_i : _f_u_n_c_t_i_o_n
		...
		Button_j : _f_u_n_c_t_i_o_n
	    }

       The _b_i_t_m_a_p_n_a_m_e may refer to one of the	built-in  bitmaps
       (which  are scaled to match TTiittlleeFFoonntt) by using the appro-
       priate colon-prefixed name described above.

       Key and pointer button specifications must give the  modi-
       fiers that must be pressed, over which parts of the screen
       the pointer must be, and what function is to  be	 invoked.
       Keys  are  given	 as  strings  containing  the appropriate
       keysym name;  buttons  are  given  as  the  keywords  BBuutt--
       ttoonn11-BBuuttttoonn55:

	    "FP1"	   = _m_o_d_l_i_s_t : _c_o_n_t_e_x_t : _f_u_n_c_t_i_o_n
	    BBuuttttoonn11   = _m_o_d_l_i_s_t : _c_o_n_t_e_x_t : _f_u_n_c_t_i_o_n

       The  _m_o_d_l_i_s_t  is	 any  combination  of  the modifier names
       sshhiifftt, ccoonnttrrooll, lloocckk, mmeettaa, mmoodd11,  mmoodd22,	 mmoodd33,	mmoodd44,  or
       mmoodd55  (which may be abbreviated as ss, cc, ll, mm, mm11, mm22, mm33,
       mm44, mm55, respectively) separated by  a  vertical	bar  (|).
       Similarly,  the	_c_o_n_t_e_x_t	 is  any  combination  of wwiinnddooww,
       ttiittllee, iiccoonn, rroooott, ffrraammee,  iiccoonnmmggrr,  their  first  letters
       (iiccoonnmmggrr abbreviation is mm), or aallll, separated by a verti-
       cal  bar.   The	_f_u_n_c_t_i_o_n  is  any  of  the  ff..	 keywords



			   Version 3.4			       34





CTWM(1)							  CTWM(1)


       described  below.   For	example, the default startup file
       contains the following bindings:

	    Button1   =	   : root	  : f.menu "TwmWindows"
	    Button1   = m  : window | icon     : f.function "move-or-lower"
	    Button2   = m  : window | icon     : f.iconify
	    Button3   = m  : window | icon     : f.function "move-or-raise"
	    Button1   =	   : title	  : f.function "move-or-raise"
	    Button2   =	   : title	  : f.raiselower
	    Button1   =	   : icon	  : f.function "move-or-iconify"
	    Button2   =	   : icon	  : f.iconify
	    Button1   =	   : iconmgr : f.iconify
	    Button2   =	   : iconmgr : f.iconify

       A user who wanted to be able to	manipulate  windows  from
       the keyboard could use the following bindings:

	    "F1"      =	   : all	  : f.iconify
	    "F2"      =	   : all	  : f.raiselower
	    "F3"      =	   : all	  : f.warpring "next"
	    "F4"      =	   : all	  : f.warpto "xmh"
	    "F5"      =	   : all	  : f.warpto "emacs"
	    "F6"      =	   : all	  : f.colormap "next"
	    "F7"      =	   : all	  : f.colormap "default"
	    "F20"	   =	: all	       : f.warptoscreen "next"
	    "Left"	   = m	: all	       : f.backiconmgr
	    "Right"   = m | s	: all	       : f.forwiconmgr
	    "Up"      = m  : all	  : f.upiconmgr
	    "Down"    = m | s	: all	       : f.downiconmgr

       _C_t_w_m  provides  many  more  window manipulation primitives
       than can be conveniently stored in a  titlebar,	menu,  or
       set of key bindings.  Although a small set of defaults are
       supplied (unless the NNooDDeeffaauullttss is specified), most  users
       will  want  to  have their most common operations bound to
       key and button strokes.	To do this, _c_t_w_m associates names
       with  each  of  the  primitives	and provides _u_s_e_r_-_d_e_f_i_n_e_d
       _f_u_n_c_t_i_o_n_s for building higher level primitives  and  _m_e_n_u_s
       for interactively selecting among groups of functions.

       User-defined  functions contain the name by which they are
       referenced in calls to ff..ffuunnccttiioonn  and  a  list	of  other
       functions to execute.  For example:

	    Function "move-or-lower" { f.move f.deltastop f.lower }
	    Function "move-or-raise" { f.move f.deltastop f.raise }
	    Function "move-or-iconify"	  { f.move f.deltastop f.iconify }
	    Function "restore-colormap"	  { f.colormap "default" f.lower }

       The function name must be used in ff..ffuunnccttiioonn exactly as it
       appears in the function specification.

       In the descriptions below, if  the  function  is	 said  to
       operate on the selected window, but is invoked from a root



			   Version 3.4			       35





CTWM(1)							  CTWM(1)


       menu, the cursor will be changed to the SSeelleecctt cursor  and
       the next window to receive a button press will be chosen:

       !! _s_t_r_i_n_g
	       This is an abbreviation for ff..eexxeecc _s_t_r_i_n_g.

       ff..aaddddttoowwoorrkkssppaaccee _s_t_r_i_n_g
	       This  function  adds  the  selected  window to the
	       workspace whose name is _s_t_r_i_n_g.

       ff..aaddooppttwwiinnddooww
	       This function ask for the user to select a  window
	       with  the  mouse, and then adopt this window is it
	       doesn't belong to the current  ctwm.  Useful  only
	       with the -w flag.

       ff..aallttccoonntteexxtt
	       Set  the alternate context. The next key or button
	       event _c_t_w_m reveives will be interpreted using  the
	       alternate  context.  To	define	bindings  in  the
	       alternate context, use the keyword  aalltteerr  in  the
	       context	field  of the binding command.	For exam-
	       ple:

		    "Return"= m	   : all	  : f.altcontext
		    "n"	 =    : alter	     : f.nextworkspace
		    "p"	 =    : alter	     : f.prevworkspace


       ff..aallttkkeeyymmaapp
	       Set the alternate keymap nnuummbbeerr, where  nnuummbbeerr  is
	       an  integer between 1 and 5 included. The next key
	       or button event _c_t_w_m reveives will be  interpreted
	       using this alternate keymap. To define bindings in
	       an alternate keymap, use the keyword aa followed by
	       nnuummbbeerr  in  the modifier field of the binding com-
	       mand. For example:

		    "Return"= c	   : all	  : f.altkeymap "1"
		    "i"	 = a1 : window|icon|iconmgr    : f.iconify
		    "z"	 = a1 : window	: f.zoom
		    "d"	 = a1 : window|icon  : f.delete
		    "o"	 = a1 : window|icon  : f.occupy
		    "r"	 = a1 : window|icon  : f.refresh


       When using an alternate keymaps, only  the  root,  window,
       icon and iconmgr contexts are allowed.


       ff..aauuttoorraaiissee
	       This  function toggles whether or not the selected
	       window is raised whenever entered by the	 pointer.
	       See the description of the variable AAuuttooRRaaiissee.



			   Version 3.4			       36





CTWM(1)							  CTWM(1)


       ff..bbaacckkmmaappiiccoonnmmggrr
	       This  function warps the	 pointer in the same man-
	       ner as ff..bbaacckkiiccoonnmmggrr but	 only  stops  at  windows
	       that are mapped.


       ff..bbaacckkiiccoonnmmggrr
	       This  function  warps  the pointer to the previous
	       column in the current icon manager, wrapping  back
	       to the previous row if necessary.


       ff..bbeeeepp  This function sounds the keyboard bell.


       ff..bboottttoommzzoooomm
	       This  function  is similar to the ff..ffuullllzzoooomm func-
	       tion, but resizes the window to fill only the bot-
	       tom half of the screen.


       ff..cciirrcclleeddoowwnn
	       This  function  lowers  the  top-most  window that
	       occludes another window.


       ff..cciirrcclleeuupp
	       This function raises the bottom-most  window  that
	       is occluded by another window.


       ff..ccoolloorrmmaapp _s_t_r_i_n_g
	       This function rotates the colormaps (obtained from
	       the WM_COLORMAP_WINDOWS property	 on  the  window)
	       that _c_t_w_m will display when the pointer is in this
	       window.	The argument _s_t_r_i_n_g may have one  of  the
	       following  values:  ""nneexxtt"", ""pprreevv"", and ""ddeeffaauulltt"".
	       It should be  noted  here  that	in  general,  the
	       installed   colormap  is	 determined  by	 keyboard
	       focus.	A  pointer  driven  keyboard  focus  will
	       install	a private colormap upon entry of the win-
	       dow owning the colormap.	 Using the click to  type
	       model,  private	colormaps  will	 not be installed
	       until the user presses a mouse button on the  tar-
	       get window.

       ff..ddeeiiccoonniiffyy
	       This function deiconifies the selected window.  If
	       the window is not  an  icon,  this  function  does
	       nothing.


       ff..ddeelleettee
	       This  function  sends the WM_DELETE_WINDOW message



			   Version 3.4			       37





CTWM(1)							  CTWM(1)


	       to the selected window if the  client  application
	       has  requested  it through the WM_PROTOCOLS window
	       property.  The application is supposed to  respond
	       to  the	message by removing the indicated window.
	       If the window has not  requested	 WM_DELETE_WINDOW
	       messages,  the keyboard bell will be rung indicat-
	       ing that the user  should  choose  an  alternative
	       method.	  Note	 this	is  very  different  from
	       f.destroy.  The intent here is to delete a  single
	       window,	not necessarily the entire application.


       ff..ddeelleetteeoorrddeessttrrooyy
	       First   tries   to  delete  the	window	(send  it
	       WM_DELETE_WINDOW message), or  kills  it,  if  the
	       client doesn't accept such message.


       ff..ddeellttaassttoopp
	       This function allows a user-defined function to be
	       aborted if the pointer has been	moved  more  than
	       _M_o_v_e_D_e_l_t_a  pixels.   See	 the  example  definition
	       given for FFuunnccttiioonn ""mmoovvee--oorr--rraaiissee"" at  the  begin-
	       ning of the section.


       ff..ddeessttrrooyy
	       This  function instructs the X server to close the
	       display connection of the client that created  the
	       selected	 window.   This	 should only be used as a
	       last resort for	shutting  down	runaway	 clients.
	       See also f.delete.


       ff..ddoowwnniiccoonnmmggrr
	       This function warps the pointer to the next row in
	       the current icon manger, wrapping to the beginning
	       of the next column if necessary.


       ff..ddoowwnnwwoorrkkssppaaccee
	       Goto the workspace immediately underneath the cur-
	       rent workspace in the workspace	manager.  If  the
	       current	workspace is the bottom one, goto the top
	       one in the same column. The result depends on  the
	       layout of the workspace manager.


       ff..eexxeecc _s_t_r_i_n_g
	       This   function	passes	the  argument  _s_t_r_i_n_g  to
	       /bin/sh for execution.  In  multiscreen	mode,  if
	       _s_t_r_i_n_g starts a new X client without giving a dis-
	       play argument,  the  client  will  appear  on  the
	       screen from which this function was invoked.



			   Version 3.4			       38





CTWM(1)							  CTWM(1)


       ff..ffooccuuss This  function  toggles	the keyboard focus of the
	       server to the selected window, changing the  focus
	       rule  from  pointer-driven  if  necessary.  If the
	       selected window already was focused, this function
	       executes an ff..uunnffooccuuss.


       ff..ffoorrcceemmoovvee
	       This  function  is  like	 ff..mmoovvee	 except	 that  it
	       ignores the DDoonnttMMoovveeOOffff variable.


       ff..ffoorrwwiiccoonnmmggrr
	       This function warps the pointer to the next column
	       in  the	current	 icon  manager,	 wrapping  to the
	       beginning of the next row if necessary.


       ff..ffoorrwwmmaappiiccoonnmmggrr
	       This function warps the	pointer in the same  man-
	       ner  as	ff..ffoorrwwiiccoonnmmggrr  but  only stops at windows
	       that are mapped.


       ff..ffuullllzzoooomm
	       This function resizes the selected window  to  the
	       full  size  of  the  display  or else restores the
	       original size if the window was already zoomed.


       ff..ffuunnccttiioonn _s_t_r_i_n_g
	       This function executes the  user-defined	 function
	       whose name is specified by the argument _s_t_r_i_n_g.


       ff..ggoottoowwoorrkkssppaaccee wwoorrkkssppaaccee__nnaammee
	       This  function  warps  you  to the workspace whose
	       name is _w_o_r_k_s_p_a_c_e___n_a_m_e.


       ff..hhbbzzoooomm
	       This function is a synonym for ff..bboottttoommzzoooomm.


       ff..hhiiddeeiiccoonnmmggrr
	       This function unmaps the current icon manager.


       ff..hhiiddeewwoorrkkssppaacceemmggrr
	       Unmap the WorkSpace manager.


       ff..hhoorriizzoooomm
	       This variable is similar to  the	 ff..zzoooomm	 function



			   Version 3.4			       39





CTWM(1)							  CTWM(1)


	       except  that the selected window is resized to the
	       full width of the display.

       ff..hhttzzoooomm
	       This function is a synonym for ff..ttooppzzoooomm.

       ff..hhzzoooomm This function is a synonym for ff..hhoorriizzoooomm.

       ff..iiccoonniiffyy
	       This  function  iconifies   or	deiconifies   the
	       selected window or icon, respectively.

       ff..iiddeennttiiffyy
	       This  function  displays a summary of the name and
	       geometry of the	selected  window.   Clicking  the
	       pointer	or pressing a key in the window will dis-
	       miss it.

       ff..lleeffttiiccoonnmmggrr
	       This function similar to ff..bbaacckkiiccoonnmmggrr except that
	       wrapping does not change rows.

       ff..lleeffttwwoorrkkssppaaccee
	       Goto  the workspace immediately on the left of the
	       current workspace in the workspace manager. If the
	       current	workspace  is  the  leftest one, goto the
	       rightest one in the same row. The  result  depends
	       on the layout of the workspace manager.

       ff..lleeffttzzoooomm
	       This variable is similar to the ff..bboottttoommzzoooomm func-
	       tion  but  causes  the  selected	 window	 is  only
	       resized to the left half of the display.

       ff..lloowweerr This function lowers the selected window.

       ff..mmeennuu _s_t_r_i_n_g
	       This  function  invokes	the menu specified by the
	       argument _s_t_r_i_n_g.	 Cascaded menus may be	built  by
	       nesting calls to ff..mmeennuu. When a menu is popped up,
	       you can use the arrow  keys  to	move  the  cursor
	       around  it.  "Down"  or space goes down, "Up" goes
	       up, "Left" pops down the menu, and  "Right"  acti-
	       vates  the  current  entry. The first letter of an
	       entry name activates this entry (the first one  if
	       several	entries	 match). If the first letter is ~
	       then Meta-the-second-letter activates it, if  this
	       first  letter  is ^ then Control-the-second-letter
	       activates it, and if this first letter  is  space,
	       then the second letter activates it.

       ff..mmoovvee  This  function  drags  an  outline of the selected
	       window (or the window  itself  if  the  OOppaaqquueeMMoovvee
	       variable is set) until the invoking pointer button



			   Version 3.4			       40





CTWM(1)							  CTWM(1)


	       is released.  Double clicking within the number of
	       milliseconds  given  by	CCoonnssttrraaiinneeddMMoovveeTTiimmee warps
	       the pointer to the center of the window	and  con-
	       strains the move to be either horizontal or verti-
	       cal depending on which grid line is  crossed.   To
	       abort  a move, press another button before releas-
	       ing the first button.

       ff..mmoovveeppaacckk
	       This function is like ff..mmoovvee except that it  tries
	       to  avoid  overlapping of windows. When the moving
	       window begin to overlap with another  window,  the
	       move  is stopped. If you go too far over the other
	       window (more that _M_o_v_e_P_a_c_k_R_e_s_i_s_t_a_n_c_e pixels),  the
	       move  is resumed and the moving window can overlap
	       with the other  window.	Useful	to  pack  windows
	       closely.

       ff..mmoovveeppuusshh
	       This  function is like ff..mmoovvee except that it tries
	       to avoid overlapping of windows. When  the  moving
	       window  begin  to overlap with another window, the
	       other window is pushed. If you go too far over the
	       other  window  (more  that _M_o_v_e_P_a_c_k_R_e_s_i_s_t_a_n_c_e pix-
	       els), there is no push and the moving  window  can
	       overlap	with  the other window. Only available if
	       _O_p_a_q_u_e_M_o_v_e is active.

       ff..nneexxttiiccoonnmmggrr
	       This function warps the pointer to the  next  icon
	       manager	containing  any windows on the current or
	       any succeeding screen.

       ff..nneexxttwwoorrkkssppaaccee
	       Goto the next workspace in  the	list,  using  the
	       order given in the _._c_t_w_m_r_c file.

       ff..nnoopp   This  function  does nothing and is typically used
	       with the DDeeffaauullttFFuunnccttiioonn or  WWiinnddoowwFFuunnccttiioonn  vari-
	       ables or to introduce blank lines in menus.

       ff..ooccccuuppyy
	       This  function  pops  up	 a window for the user to
	       choose which workspaces a window belongs to.

       ff..ooccccuuppyyaallll
	       This function makes the	specified  window  occupy
	       all the workspaces.

       ff..pprreevviiccoonnmmggrr
	       This  function  warps  the pointer to the previous
	       icon manager containing any windows on the current
	       or preceding screens.




			   Version 3.4			       41





CTWM(1)							  CTWM(1)


       ff..pprreevvwwoorrkkssppaaccee
	       Goto the previous workspace in the list, using the
	       order given in the _._c_t_w_m_r_c file.

       ff..ppiinn   Valid only in a root menu. Make a  menu	permanent
	       on  the	screen. This is a toggle function, if you
	       select it while the menu is already permanent,  it
	       becomes non-permanent.

       ff..qquuiitt  This  function causes _c_t_w_m to restore the window's
	       borders and exit.  If _c_t_w_m  is  the  first  client
	       invoked	from  _x_d_m,  this  will result in a server
	       reset.

       ff..rraaiisseeiiccoonnss
	       This function raises all the icons in the  current
	       workspace.

       ff..rraaiissee This function raises the selected window.

       ff..rraaiisseelloowweerr
	       This  function  raises  the selected window to the
	       top of the stacking order if it is occluded by any
	       windows, otherwise the window will be lowered.

       ff..rreemmoovveeffrroommwwoorrkkssppaaccee _s_t_r_i_n_g
	       This function removes the selected window from the
	       workspace whose name is _s_t_r_i_n_g.

       ff..rreeffrreesshh
	       This function causes all windows to be  refreshed.

       ff..rreessiizzee
	       This  function displays an outline of the selected
	       window.	Crossing a border (or  setting	AAuuttooRReellaa--
	       ttiivveeRReessiizzee)  will  cause	 the  outline to begin to
	       rubber band until the invoking button is released.
	       To  abort  a  resize,  press another button before
	       releasing the first button.

       ff..rreessttaarrtt

	       This function kills and restarts _c_t_w_m.

       ff..rriigghhttiiccoonnmmggrr
	       This function is similar to  ff..nneexxttiiccoonnmmggrr  except
	       that wrapping does not change rows.

       ff..rriigghhttwwoorrkkssppaaccee
	       Goto the workspace immediately on the right of the
	       current workspace in the workspace manager. If the
	       current	workspace  is  the rightest one, goto the
	       leftest one in the same row. The result depends on
	       the layout of the workspace manager.



			   Version 3.4			       42





CTWM(1)							  CTWM(1)


       ff..rriigghhttzzoooomm
	       This variable is similar to the ff..bboottttoommzzoooomm func-
	       tion except  that  the  selected	 window	 is  only
	       resized to the right half of the display.

       ff..ssaavveeyyoouurrsseellff
	       This  function  sends a WM_SAVEYOURSELF message to
	       the selected window if it has requested	the  mes-
	       sage in its WM_PROTOCOLS window property.  Clients
	       that accept this message are  supposed  to  check-
	       point  all  state  associated  with the window and
	       update the WM_COMMAND property as specified in the
	       ICCCM.	If  the	 selected window has not selected
	       for this message, the keyboard bell will be  rung.

       ff..sseeppaarraattoorr
	       Valid  only  in menus. The effect is to add a line
	       separator between the previous and  the	following
	       entry.  The  name selector part in the menu is not
	       used (but must be present).

       ff..sseettbbuuttttoonnssssttaattee
	       Set the WorkSpace manager in button state.

       ff..sseettmmaappssttaattee
	       Set the WorkSpace manager in map state.

       ff..sshhoowwiiccoonnmmggrr
	       This function maps the current icon manager.

       ff..ssoorrttiiccoonnmmggrr
	       This function sorts the	entries	 in  the  current
	       icon  manager  alphabetically.	See  the variable
	       SSoorrttIIccoonnMMaannaaggeerr.


       ff..sshhoowwwwoorrkkssppaacceemmggrr
	       Map the WorkSpace manager.


       ff..sslloowwddoowwnnaanniimmaattiioonn
	       Decrease _A_n_i_m_a_t_i_o_n_S_p_e_e_d by 1.


       ff..ssppeeeedduuppaanniimmaattiioonn
	       Increase _A_n_i_m_a_t_i_o_n_S_p_e_e_d by 1.


       ff..ssqquueeeezzee
	       f.squeeze squeezes a window  to	a  null	 vertical
	       size.  Works only for windows with either a title,
	       or a 3D border (in order to have something left on
	       the screen). If the window is already squeezed, it
	       is unsqueezed.



			   Version 3.4			       43





CTWM(1)							  CTWM(1)


       ff..ssttaarrttaanniimmaattiioonn
	       Restart freezed animations (if any).


       ff..ssttooppaanniimmaattiioonn
	       Freeze animations (if any).


       ff..ttiittllee This function provides  a  centered,  unselectable
	       item  in a menu definition.  It should not be used
	       in any other context.


       ff..ttoogggglleeooccccuuppaattiioonn _s_t_r_i_n_g
	       This function adds  the	selected  window  to  the
	       workspace  whose	 name  is  _s_t_r_i_n_g  if  it doesn't
	       already belongs to it, and removes  it  from  this
	       workspace if not.


       ff..ttoogggglleessttaattee
	       Toggle the state of the WorkSpace manager.


       ff..ttooppzzoooomm
	       This variable is similar to the ff..bboottttoommzzoooomm func-
	       tion except  that  the  selected	 window	 is  only
	       resized to the top half of the display.

       ff..uunnffooccuuss
	       This  function  resets  the focus back to pointer-
	       driven.	This should be used when a focused window
	       is no longer desired.

       ff..uuppiiccoonnmmggrr
	       This  function  warps  the pointer to the previous
	       row in the current icon manager, wrapping  to  the
	       last row in the same column if necessary.

       ff..uuppwwoorrkkssppaaccee
	       Goto  the  workspace immediately above the current
	       workspace in the workspace manager. If the current
	       workspace  is  the top one, goto the bottom one in
	       the same column. The result depends on the  layout
	       of the workspace manager.

       ff..vvaanniisshh
	       The  specified  window  vanishes	 from the current
	       workspace  if  it  occupies  at	least  one  other
	       WorkSpace. Do nothing in the others cases.

       ff..vvllzzoooomm
	       This function is a synonym for ff..lleeffttzzoooomm.




			   Version 3.4			       44





CTWM(1)							  CTWM(1)


       ff..vvrrzzoooomm
	       This function is a synonym for ff..rriigghhttzzoooomm.

       ff..wwaarrpphheerree _w_i_n___n_a_m_e
	       This  function adds the window which has a name or
	       class that matches string to the current workspace
	       and  warps  the	pointer	 to  it. If the window is
	       iconified, it will be deiconified if the	 variable
	       WarpUnmapped is set or else ignored.

       ff..wwaarrpprriinngg _s_t_r_i_n_g
	       This  function  warps  the  pointer to the next or
	       previous window	(as  indicated	by  the	 argument
	       _s_t_r_i_n_g,	which  may be ""nneexxtt"" or ""pprreevv"") specified
	       in the WWiinnddoowwRRiinngg variable.

       ff..wwaarrppttoo _s_t_r_i_n_g
	       This function warps  the	 pointer  to  the  window
	       which has a name or class that matches _s_t_r_i_n_g.  If
	       the window is iconified, it will be deiconified if
	       the  variable WWaarrppUUnnmmaappppeedd is set or else ignored.

       ff..wwaarrppttooiiccoonnmmggrr _s_t_r_i_n_g
	       This function warps the pointer to the  icon  man-
	       ager  entry  associated with the window containing
	       the pointer in the icon manager specified  by  the
	       argument	 _s_t_r_i_n_g.   If  _s_t_r_i_n_g is empty (i.e. ""),
	       the current icon manager is chosen.

       ff..wwaarrppttoossccrreeeenn _s_t_r_i_n_g
	       This function warps  the	 pointer  to  the  screen
	       specified by the argument _s_t_r_i_n_g.  _S_t_r_i_n_g may be a
	       number (e.g. ""00"" or ""11""), the word  ""nneexxtt""  (indi-
	       cating  the  current  screen plus 1, skipping over
	       any unmanaged screens), the word ""bbaacckk""	(indicat-
	       ing  the current screen minus 1, skipping over any
	       unmanaged screens), or the word ""pprreevv"" (indicating
	       the last screen visited.

       ff..wwiinnrreeffrreesshh
	       This function is similar to the ff..rreeffrreesshh function
	       except that only the selected window is refreshed.

       ff..zzoooomm  This  function  is similar to the ff..ffuullllzzoooomm func-
	       tion, except that  the  only  the  height  of  the
	       selected window is changed.

MMEENNUUSS
       Functions  may be grouped and interactively selected using
       pop-up (when bound to a pointer button) or pull-down (when
       associated  with a titlebutton) menus.  Each menu specifi-
       cation contains the  name  of  the  menu	 as  it	 will  be
       referred	 to  by	 ff..mmeennuu,  optional default foreground and
       background  colors,  the	 list  of  item	 names	and   the



			   Version 3.4			       45





CTWM(1)							  CTWM(1)


       functions  they should invoke, and optional foreground and
       background colors for individual items:

	    MMeennuu "_m_e_n_u_n_a_m_e" [ ("_d_e_f_f_o_r_e":"_d_e_f_b_a_c_k") ]
	    {
		 _s_t_r_i_n_g_1   [ ("_f_o_r_e_1":"_b_a_c_k_n")]	    _f_u_n_c_t_i_o_n_1
		 _s_t_r_i_n_g_2   [ ("_f_o_r_e_2":"_b_a_c_k_n")]	    _f_u_n_c_t_i_o_n_2
		      .
		      .
		      .
		 _s_t_r_i_n_g_N   [ ("_f_o_r_e_N":"_b_a_c_k_N")]	    _f_u_n_c_t_i_o_n_N
	    }


       The _m_e_n_u_n_a_m_e is case-sensitive.	The optional _d_e_f_f_o_r_e  and
       _d_e_f_b_a_c_k	arguments  specify  the foreground and background
       colors used on a color display to highlight menu	 entries.
       The  _s_t_r_i_n_g  portion  of	 each menu entry will be the text
       which will appear in the menu.  The optional _f_o_r_e and _b_a_c_k
       arguments  specify the foreground and background colors of
       the menu entry when the	pointer	 is  not  in  the  entry.
       These  colors  will  only be used on a color display.  The
       default is to use the colors specified  by  the	MMeennuuFFoorree--
       ggrroouunndd and MMeennuuBBaacckkggrroouunndd variables.  The _f_u_n_c_t_i_o_n portion
       of the menu entry is one of the functions,  including  any
       user-defined functions, or additional menus.

       There is 3 special menus. TTwwmmWWiinnddoowwss contains the names of
       all of the client and _c_t_w_m-supplied windows in the current
       workspace.   Selecting an entry will cause the WWiinnddoowwFFuunncc--
       ttiioonn to be executed on  that  window.   If  WWiinnddoowwFFuunnccttiioonn
       hasn't  been  set,  the	window	will  be  deiconified and
       raised.	TTwwmmWWoorrkkssppaacceess  contains	  the	names	of   your
       workspaces,  selecting  an  entry  goto this workspace. In
       addition, these entries have submenus containing the names
       of all windows occupying this workspace, selecting such an
       entry executes  f.warpto	 on  this  window.  And	 finally,
       TTwwmmAAllllWWiinnddoowwss  contains	the names of all the windows _c_t_w_m
       manages. Selectting an entry  executes  f.warpto	 on  this
       window.

       If an entry name begins with a '*' (star), this star won't
       be displayed and	 the  corresponding  entry  will  be  the
       default	entry  for  this  menu. When a menu has a default
       entry and is used as  a	submenu	 of  another  menu,  this
       default	entry  action will be executed automatically when
       this submenu is selected without	 beeing	 displayed.  It's
       hard to explain, but easy to understand.

IICCOONNSS
       _C_t_w_m  supports  several	different  ways	 of  manipulating
       iconified windows.  The common pixmap-and-text  style  may
       be laid out by hand or automatically arranged as described
       by the IIccoonnRReeggiioonn variable.  In addition, a terse grid  of



			   Version 3.4			       46





CTWM(1)							  CTWM(1)


       icon  names, called an icon manager, provides a more effi-
       cient use of screen space as well as the ability to  navi-
       gate among windows from the keyboard.

       An  icon	 manager  is  a	 window	 that  contains	 names of
       selected or all windows	currently  on  the  display.   In
       addition	 to  the  window  name,	 a small button using the
       default iconify symbol will be displayed to  the	 left  of
       the name when the window is iconified.  By default, click-
       ing on an entry in the icon  manager  performs  ff..iiccoonniiffyy.
       To  change  the actions taken in the icon manager, use the
       the iiccoonnmmggrr context when specifying  button  and	 keyboard
       bindings.

       Moving the pointer into the icon manager also directs key-
       board focus to the indicated  window  (setting  the  focus
       explicitly  or  else sending synthetic events NNooTTiittlleeFFooccuuss
       is set).	 Using the ff..uuppiiccoonnmmggrr, ff..ddoowwnniiccoonnmmggrr ff..lleeffttiiccoonn--
       mmggrr,  and ff..rriigghhttiiccoonnmmggrr functions, the input focus can be
       changed between windows directly from the keyboard.

BBUUGGSS
       The resource manager should have been used instead of  all
       of the window lists.

       The IIccoonnRReeggiioonn variable should take a list.

       Double  clicking	 very  fast  to	 get the constrained move
       function will sometimes cause the  window  to  move,  even
       though the pointer is not moved.

       If  IIccoonniiffyyBByyUUnnmmaappppiinngg  is  on  and  windows are listed in
       IIccoonnMMaannaaggeerrDDoonnttSShhooww  but	 not  in  DDoonnttIIccoonniiffyyBByyUUnnmmaappppiinngg,
       they  may be lost if they are iconified and no bindings to
       ff..mmeennuu ""TTwwmmWWiinnddoowwss"" or ff..wwaarrppttoo are setup.

FFIILLEESS
	$HOME/.ctwmrc.<screen number>
	$HOME/.ctwmrc
	/usr/lib/X11/twm/system.ctwmrc
       $HOME/.twmrc

EENNVVIIRROONNMMEENNTT VVAARRIIAABBLLEESS
       DISPLAY This variable is used to determine which X  server
	       to use.	It is also set during ff..eexxeecc so that pro-
	       grams come up on the proper screen.

       HOME    This variable is used as the prefix for files that
	       begin  with  a  tilde  and  for	locating the _c_t_w_m
	       startup file.

SSEEEE AALLSSOO
       X(1), Xserver(1), xdm(1), xrdb(1)




			   Version 3.4			       47





CTWM(1)							  CTWM(1)


CCOOPPYYRRIIGGHHTT
       Portions copyright 1988 Evans & Sutherland Computer Corpo-
       ration;	portions  copyright  1989 Hewlett-Packard Company
       and the Massachusetts Institute of Technology,	See  _X_(_1_)
       for a full statement of rights and permissions.

AAUUTTHHOORRSS
       Tom  LaStrange, Solbourne Computer; Jim Fulton, MIT X Con-
       sortium; Steve Pitschke, Stardent Computer; Keith Packard,
       MIT  X Consortium; Dave Sternlicht, MIT X Consortium; Dave
       Payne, Apple Computer.  Claude Lecommandeur,  Swiss  Poly-
       technical Institute of Lausanne (lecom@sic.epfl.ch).













































			   Version 3.4			       48


