ctwm.1.adoc revision 0bbfda8a
10bbfda8aSniaCTWM(1)
20bbfda8aSnia=======
30bbfda8aSnia
40bbfda8aSnia
50bbfda8aSnia== NAME
60bbfda8aSniactwm - Claude's Tab Window Manager for the X Window System
70bbfda8aSnia
80bbfda8aSnia== SYNTAX
90bbfda8aSnia["literal"]
100bbfda8aSniactwm [(--display | -d) dpy]  [--replace]  [--single]
110bbfda8aSnia     [(--file | -f) initfile]  [--cfgchk]  [--dumpcfg]
120bbfda8aSnia     [--nom4 | -n]  [(--keep-defs | -k)]  [(--keep | -K) m4file]
130bbfda8aSnia     [--verbose | -v]  [--quiet | -q]  [--mono]  [--xrm resource]
140bbfda8aSnia     [--version]  [--info]  [--nowelcome | -W]
150bbfda8aSnia     [(--window | -w) [win-id]]  [--name name]
160bbfda8aSnia     [--clientId clid]  [--restore resfname]
170bbfda8aSnia     [--help | -h]
180bbfda8aSnia
190bbfda8aSnia
200bbfda8aSnia== DESCRIPTION
210bbfda8aSniactwm is a window manager for the X Window System.  It provides
220bbfda8aSniatitlebars, shaped windows, virtual screens (workspaces),
230bbfda8aSniaseveral forms of icon management, user-defined macro functions,
240bbfda8aSniaclick-to-type and pointer-driven keyboard focus, and user-specified
250bbfda8aSniakey and pointer button bindings.  It is actually
260bbfda8aSnia`twm(1)` (Tab Window Manager) from the MIT X11 distribution
270bbfda8aSniaslightly modified to accommodate the use of several virtual screens
280bbfda8aSnia(workspaces). It is heavily inspired by the Hewlett-Packard vuewm
290bbfda8aSniawindow manager. In addition, ctwm can use coloured, shaped icons
300bbfda8aSniaand background root pixmaps in XPM format [from Arnaud Le Hors],
310bbfda8aSniain JPEG using libjpeg,
320bbfda8aSniaand xwd files. ctwm can be compiled to
330bbfda8aSniause any combination of the above icon/pixmap formats.
340bbfda8aSnia
350bbfda8aSniaThis program is usually started by the user's session manager or
360bbfda8aSniastartup script.  When used from `xdm(1)` or `xinit(1)` without
370bbfda8aSniaa session manager, ctwm is frequently executed in the foreground
380bbfda8aSniaas the last client.  When run this way, exiting ctwm causes the
390bbfda8aSniasession to be terminated (i.e. logged out).
400bbfda8aSnia
410bbfda8aSniaBy default, application windows are surrounded by a ``frame'' with a
420bbfda8aSniatitlebar at the top and a special border around the window.  The titlebar
430bbfda8aSniacontains the window's name, a rectangle that is lit when the window is
440bbfda8aSniareceiving keyboard input, and function boxes known as ``titlebuttons''
450bbfda8aSniaat the left and right edges of the titlebar to which actions can be bound.
460bbfda8aSnia
470bbfda8aSniaPressing pointer Button1 (usually the left-most button unless it has
480bbfda8aSniabeen changed with `xmodmap`) on a titlebutton will invoke the
490bbfda8aSniafunction associated with the button.  In the default interface,
500bbfda8aSniawindows are iconified by clicking (pressing and then immediately
510bbfda8aSniareleasing) the left titlebutton (which looks like a Dot).  Conversely,
520bbfda8aSniawindows are deiconified by clicking in the associated icon or entry in
530bbfda8aSniathe icon manager (see description of the variable
540bbfda8aSnia`ShowIconManager` and of the function `f.showiconmgr`).
550bbfda8aSnia
560bbfda8aSniaWindows are resized by pressing the right titlebutton (which resembles a
570bbfda8aSniagroup of nested squares), dragging the pointer over edge that is to be
580bbfda8aSniamoved, and releasing the pointer when the outline of the window is the desired
590bbfda8aSniasize.  Similarly, windows are moved by pressing in the title or highlight
600bbfda8aSniaregion, dragging a window outline to the new location, and then releasing
610bbfda8aSniawhen the outline is in the desired position.  Just
620bbfda8aSniaclicking in the title or highlight region raises the window without moving it.
630bbfda8aSnia
640bbfda8aSniaWhen new windows are created, ctwm will honor any size and location
650bbfda8aSniainformation requested by the user (usually through `-geometry`
660bbfda8aSniacommand line argument or resources for the individual applications).
670bbfda8aSniaOtherwise, an outline of the window's default size, its titlebar, and lines
680bbfda8aSniadividing the
690bbfda8aSniawindow into a 3x3 grid that track the pointer are displayed.
700bbfda8aSniaClicking pointer Button1
710bbfda8aSniawill position the window at the current position and give it the default
720bbfda8aSniasize.  Pressing pointer Button2 (usually the middle pointer button)
730bbfda8aSniaand dragging the outline
740bbfda8aSniawill give the window its current position but allow the sides to be resized as
750bbfda8aSniadescribed above.  Clicking pointer Button3 (usually the right pointer button)
760bbfda8aSniawill give the window its current position but attempt to make it long enough
770bbfda8aSniato touch the bottom the screen.
780bbfda8aSnia
790bbfda8aSnia== OPTIONS
800bbfda8aSnia`ctwm` accepts the following command line options:
810bbfda8aSnia
820bbfda8aSnia
830bbfda8aSnia--help, -h::
840bbfda8aSnia  Print usage text.
850bbfda8aSnia
860bbfda8aSnia--display=`dpy`, -d `dpy`::
870bbfda8aSnia  This option specifies the X server to use.
880bbfda8aSnia
890bbfda8aSnia--replace::
900bbfda8aSnia  This option indicates that it is not an error if a window manager
910bbfda8aSnia  is already running.
920bbfda8aSnia  In that case, the existing window manager is asked to quit,
930bbfda8aSnia  and ctwm takes its place.
940bbfda8aSnia  Available only if ctwm is built with the `USE_EWMH` flag.
950bbfda8aSnia  First appeared in 4.0.0.
960bbfda8aSnia
970bbfda8aSnia--single::
980bbfda8aSnia  This option indicates that only the default screen (as specified by
990bbfda8aSnia  `--display` or by the `DISPLAY` environment variable) should be
1000bbfda8aSnia  managed.  By default, ctwm will attempt to manage
1010bbfda8aSnia  all screens on the display.
1020bbfda8aSnia
1030bbfda8aSnia--cfgchk::
1040bbfda8aSnia  This option causes ctwm to only try to parse the config file, and
1050bbfda8aSnia  indicate whether errors are found.
1060bbfda8aSnia
1070bbfda8aSnia--dumpcfg::
1080bbfda8aSnia  This option causes ctwm to print out the compiled-in fallback config.
1090bbfda8aSnia  First appeared in 4.0.0.
1100bbfda8aSnia
1110bbfda8aSnia--file=`filename`, -f `filename`::
1120bbfda8aSnia  This option specifies the name of the startup file to use.
1130bbfda8aSnia  ctwm will first try to load filename.num, where `num` is the screen number.
1140bbfda8aSnia  If it fails, it will try to load filename.
1150bbfda8aSnia  By default, ctwm will look in the user's home directory for files
1160bbfda8aSnia  named `.ctwmrc.num`, `.ctwmrc`, `.twmrc.num`, or `.twmrc` (where `num` is a screen number).
1170bbfda8aSnia
1180bbfda8aSnia--verbose, -v::
1190bbfda8aSnia  This option indicates that ctwm should print error messages whenever
1200bbfda8aSnia  an unexpected X Error event is received.  This can be useful when debugging
1210bbfda8aSnia  applications but can be distracting in regular use.
1220bbfda8aSnia
1230bbfda8aSnia--quiet, -q::
1240bbfda8aSnia  Disables `--verbose` (useful for overriding aliases, etc).
1250bbfda8aSnia
1260bbfda8aSnia--nom4, -n::
1270bbfda8aSnia  This option indicates that ctwm should not filter the startup file
1280bbfda8aSnia  through `m4`. Available only if ctwm is built with the `USE_M4` flag.
1290bbfda8aSnia
1300bbfda8aSnia--keep-defs, -k::
1310bbfda8aSnia  This option indicates that ctwm should keep the definitions it
1320bbfda8aSnia  prepends to your startup file when filtering through `m4` in /tmp.
1330bbfda8aSnia  Available only if ctwm is built with the `USE_M4` flag.
1340bbfda8aSnia
1350bbfda8aSnia--keep=`m4file`, -K `m4file`::
1360bbfda8aSnia  This option indicates that ctwm should keep the result of filtering
1370bbfda8aSnia  your startup file through `m4` in the named file.
1380bbfda8aSnia  Available only if ctwm is built with the `USE_M4` flag.
1390bbfda8aSnia
1400bbfda8aSnia--mono::
1410bbfda8aSnia  Run in monochrome mode.
1420bbfda8aSnia
1430bbfda8aSnia--version::
1440bbfda8aSnia  ctwm just prints its version number.
1450bbfda8aSnia
1460bbfda8aSnia--info::
1470bbfda8aSnia  ctwm prints its detailed version and compile time options.
1480bbfda8aSnia
1490bbfda8aSnia--window[=`win-id`], -w[`win-id`]::
1500bbfda8aSnia  If `-w` is specified without a win-id value, ctwm does not take over
1510bbfda8aSnia  the whole screen(s); instead it creates a new window that becomes its
1520bbfda8aSnia  root window.  If the win-id value is given, it is considered to be the
1530bbfda8aSnia  id of an existing window, in which case, ctwm will try to use this
1540bbfda8aSnia  window as root window.  You can run any number of instantiations of
1550bbfda8aSnia  ctwm at the same time.  You can even have embedded ctwm instantiations.
1560bbfda8aSnia  This is totally useless, but I like it.  The f.adoptwindow function can
1570bbfda8aSnia  be used to capture an existing window belonging to another ctwm.  A
1580bbfda8aSnia  possible use of such mode can be to test new configuration file without
1590bbfda8aSnia  restarting ctwm.
1600bbfda8aSnia
1610bbfda8aSnia--name=`name`, -n `name`::
1620bbfda8aSnia  Set the captivename when using `--window`.
1630bbfda8aSnia
1640bbfda8aSnia--nowelcome, -W::
1650bbfda8aSnia  This option tells ctwm not to display any welcome when starting.
1660bbfda8aSnia
1670bbfda8aSnia--clientId=`clid`::
1680bbfda8aSnia--restore=`resfname`::
1690bbfda8aSnia  Something to do with session management
1700bbfda8aSnia
1710bbfda8aSnia--xrm=`resource`::
1720bbfda8aSnia  Ignored.
1730bbfda8aSnia
1740bbfda8aSniactwm uses `getopt_long()` for parsing the command-line options.  This
1750bbfda8aSniameans that args can be passed via `--long=arg` and `--long arg`, as well
1760bbfda8aSniaas `-l arg` and `-larg`, and short args can be bundled like `-vnk` as
1770bbfda8aSniawell as `-v -n -k`.
1780bbfda8aSnia
1790bbfda8aSnia====
1800bbfda8aSniaNote, however, that the handling of optional args is slightly different;
1810bbfda8aSniathey *must* be specified with = or no space.  e.g., `--window=123` will
1820bbfda8aSniaset the win-id to 123, but `--window 123` will not; the 123 will be
1830bbfda8aSniatreated as a separate argument.  Similarly, it must be set as `-w123`,
1840bbfda8aSnianot `-w 123`.
1850bbfda8aSnia====
1860bbfda8aSnia
1870bbfda8aSnia
1880bbfda8aSnia== CUSTOMIZATION
1890bbfda8aSniaMuch of ctwm's appearance and behavior can be controlled by providing
1900bbfda8aSniaa startup file in one of the following locations (searched in order for
1910bbfda8aSniaeach screen being managed when ctwm begins):
1920bbfda8aSnia
1930bbfda8aSnia$HOME/.ctwmrc.`screennumber`::
1940bbfda8aSnia  The `screennumber` is a small positive number (e.g. 0, 1, etc.)
1950bbfda8aSnia  representing the screen number (e.g. the last number in the DISPLAY environment
1960bbfda8aSnia  variable `host:displaynum.screennum`) that would be used to contact that
1970bbfda8aSnia  screen of the display.  This is intended for displays with multiple screens of
1980bbfda8aSnia  differing visual types.
1990bbfda8aSnia
2000bbfda8aSnia$HOME/.ctwmrc::
2010bbfda8aSnia  This is the usual name for an individual user's startup file.
2020bbfda8aSnia
2030bbfda8aSnia$HOME/.twmrc.`screennumber`::
2040bbfda8aSnia
2050bbfda8aSnia$HOME/.twmrc::
2060bbfda8aSnia  The users twm startup file.
2070bbfda8aSnia
2080bbfda8aSnia@ETCDIR@/system.ctwmrc::
2090bbfda8aSnia  If none of the preceding files are found, ctwm will look in this
2100bbfda8aSnia  file for a
2110bbfda8aSnia  default configuration.  This is often tailored by the site administrator to
2120bbfda8aSnia  provide convenient menus or familiar bindings for novice users.
2130bbfda8aSnia
2140bbfda8aSnia
2150bbfda8aSniaIf no startup files are found, ctwm will use the built-in defaults
2160bbfda8aSniadescribed above.  The only resource used by ctwm is
2170bbfda8aSnia`bitmapFilePath` for a colon-separated list of directories to search
2180bbfda8aSniawhen looking for bitmap files (for more information, see the `Athena
2190bbfda8aSniaWidgets` manual and `xrdb(1)`).
2200bbfda8aSnia
2210bbfda8aSniactwm startup files are logically broken up into three types of
2220bbfda8aSniaspecifications:  `Variables`, `Bindings`, `Menus`.  The
2230bbfda8aSnia`Variables` section must come first and is used to describe the
2240bbfda8aSniafonts, colors, cursors, border widths, icon and window placement, highlighting,
2250bbfda8aSniaautoraising, layout of titles, warping, use of the icon manager.
2260bbfda8aSniaThe `Bindings` section usually comes second and is used to specify
2270bbfda8aSniathe functions that should be
2280bbfda8aSniainvoked when keyboard and pointer buttons are pressed in
2290bbfda8aSniawindows, icons, titles, and frames.  The `Menus` section gives any
2300bbfda8aSniauser-defined menus (containing functions to be invoked or
2310bbfda8aSniacommands to be executed).
2320bbfda8aSnia
2330bbfda8aSniaVariable names and keywords are case-insensitive.  Strings must be
2340bbfda8aSniasurrounded by double quote characters (e.g. ``blue'') and are
2350bbfda8aSniacase-sensitive.  A pound sign (#) outside of a string causes the
2360bbfda8aSniaremainder of the line in which the character appears to be treated as
2370bbfda8aSniaa comment.
2380bbfda8aSnia
2390bbfda8aSnia== M4 PREPROCESSING
2400bbfda8aSniactwm can use `m4(1)` to pre-process its setup files.  The availability of
2410bbfda8aSniathe m4 preprocessing is dependent on the build option `USE_M4` (on by
2420bbfda8aSniadefault), and can be selectively disabled with the `--nom4` command-line
2430bbfda8aSniaargument.
2440bbfda8aSnia
2450bbfda8aSniaWhen ctwm starts up, it opens a file for input as described above.
2460bbfda8aSniaBut, it processes that file through `m4` before parsing it. So, you can
2470bbfda8aSniause m4 macros to perform operations at runtime.  This makes it very
2480bbfda8aSniaeasy to work when you use many different displays, with different characteristics.
2490bbfda8aSniaFor example, If you want to set the lower right section of the screen to be your
2500bbfda8aSnia`IconRegion`, (see below for details on the `IconRegion` variable)
2510bbfda8aSniayou can use m4 directives and pre-defined symbols to calculate the region
2520bbfda8aSniayou want.  For example:
2530bbfda8aSnia
2540bbfda8aSnia------
2550bbfda8aSniadefine(IRegion, translit(eval(WIDTH/3)*eval(HEIGHT/2)+eval(WIDTH-WIDTH/3)-0, *, x))
2560bbfda8aSniaIconRegion  "IRegion" SOUTH EAST 75 25
2570bbfda8aSnia------
2580bbfda8aSnia
2590bbfda8aSniawill define the lower half, and right-hand third of the screen.  The
2600bbfda8aSniaabove makes use of symbols that are predefined for m4 by ctwm.  The
2610bbfda8aSniasymbols WIDTH and HEIGHT are among those calculated by ctwm and written
2620bbfda8aSniainto a temporary file for `m4` to use.
2630bbfda8aSnia
2640bbfda8aSniaYou may well find that if you research the `m4(1)` manual well,
2650bbfda8aSniaand understand the power of m4, this will be a _very_
2660bbfda8aSniauseful and powerful tool.  But, if you use any of the symbols
2670bbfda8aSniawhich are predefined by m4, you are in severe danger!  For example,
2680bbfda8aSniathe Sun `m4` predefines shift, so if you use that name in your `.ctwmrc`,
2690bbfda8aSniayou are out of luck.
2700bbfda8aSnia
2710bbfda8aSniaThe following symbols are predefined by ctwm:
2720bbfda8aSnia
2730bbfda8aSnia
2740bbfda8aSnia=== Hostnames
2750bbfda8aSnia
2760bbfda8aSniaSERVERHOST::
2770bbfda8aSnia  This variable is set to the name of the machine that is running the X
2780bbfda8aSnia  server.
2790bbfda8aSnia
2800bbfda8aSniaCLIENTHOST::
2810bbfda8aSnia  The machine that is running the clients.  (ie, ctwm)
2820bbfda8aSnia
2830bbfda8aSniaHOSTNAME::
2840bbfda8aSnia  As of 4.0.2, this is a duplicate of `CLIENTHOST`.  In prior
2850bbfda8aSnia  versions, `gethostbyname()` was used to attempt to derive a canonical
2860bbfda8aSnia  or fully-qualified version of the hostname.
2870bbfda8aSnia
2880bbfda8aSnia=== User Info
2890bbfda8aSnia
2900bbfda8aSniaUSER::
2910bbfda8aSnia  The name of the user running the program.  Value taken from
2920bbfda8aSnia  environmental variables `$USER` and `$LOGNAME`, or from the passwd
2930bbfda8aSnia  lookup for your uid if they don't exist.  Falls back to ``unknown'' if
2940bbfda8aSnia  all methods fail.
2950bbfda8aSnia
2960bbfda8aSniaHOME::
2970bbfda8aSnia  The user's home directory.  Gotten from the environment var `$HOME`.
2980bbfda8aSnia
2990bbfda8aSnia=== ctwm info
3000bbfda8aSnia
3010bbfda8aSniaTWM_TYPE::
3020bbfda8aSnia  Tells which `twm` offshoot is running.  It will always be set to
3030bbfda8aSnia  the string ``ctwm'' in this program.  This is useful for protecting
3040bbfda8aSnia  parts of your `.twmrc` file that twm proper won't understand
3050bbfda8aSnia  (like `WorkSpaces`) so that it is still usable with other
3060bbfda8aSnia  `twm` programs.
3070bbfda8aSnia
3080bbfda8aSniaTWM_VERSION::
3090bbfda8aSnia  Tells which ctwm version is running in the form of a floating
3100bbfda8aSnia  point number.
3110bbfda8aSnia
3120bbfda8aSniaCTWM_VERSION_MAJOR::
3130bbfda8aSniaCTWM_VERSION_MINOR::
3140bbfda8aSniaCTWM_VERSION_PATCH::
3150bbfda8aSniaCTWM_VERSION_ADDL::
3160bbfda8aSnia  Gives the ctwm version split out.  e.g., for a version like
3170bbfda8aSnia  "3.8.2-beta1", the `_MAJOR` will be "3", `_MINOR` "8", `_PATCH` "2",
3180bbfda8aSnia  and `_ADDL` "-beta1".  Final releases will generally have an empty
3190bbfda8aSnia  `CTWM_VERSION_ADDL`; it's mostly meaningful in dev and betas.  For
3200bbfda8aSnia  comparison, in this situation, TWM_VERSION will be "3.8.2".
3210bbfda8aSnia+
3220bbfda8aSniaThe `CTWM_VERSION_*` variables first appeared in 4.0.0.
3230bbfda8aSnia
3240bbfda8aSnia=== X server info
3250bbfda8aSnia
3260bbfda8aSniaVERSION::
3270bbfda8aSnia  The X major protocol version.  As seen by ProtocolVersion(3).
3280bbfda8aSnia
3290bbfda8aSniaREVISION::
3300bbfda8aSnia  The X minor protocol revision.  As seen by ProtocolRevision(3).
3310bbfda8aSnia
3320bbfda8aSniaVENDOR::
3330bbfda8aSnia  The vendor of your X server.  For example: `MIT X Consortium`.
3340bbfda8aSnia
3350bbfda8aSniaRELEASE::
3360bbfda8aSnia  The release number of your X server.  For MIT X11R5, this is `5`.
3370bbfda8aSnia
3380bbfda8aSnia=== Display info
3390bbfda8aSnia
3400bbfda8aSniaWIDTH::
3410bbfda8aSnia  The width of your display in pixels.
3420bbfda8aSnia
3430bbfda8aSniaHEIGHT::
3440bbfda8aSnia  The height of your display in pixels.
3450bbfda8aSnia
3460bbfda8aSniaX_RESOLUTION::
3470bbfda8aSnia  The X resolution of your display in pixels per meter.
3480bbfda8aSnia
3490bbfda8aSniaY_RESOLUTION::
3500bbfda8aSnia  The Y resolution of your display in pixels per meter.
3510bbfda8aSnia
3520bbfda8aSniaPLANES::
3530bbfda8aSnia  The number of bit planes your display supports in the default root window.
3540bbfda8aSnia
3550bbfda8aSniaBITS_PER_RGB::
3560bbfda8aSnia  The number of significant bits in an RGB color.  (log base 2 of the number
3570bbfda8aSnia  of distinct colors that can be created.  This is often different from the
3580bbfda8aSnia  number of colors that can be displayed at once.)
3590bbfda8aSnia
3600bbfda8aSniaCLASS::
3610bbfda8aSnia  Your visual class.  Will return one of `StaticGray`, `GrayScale`,
3620bbfda8aSnia  `StaticColor`, `PseudoColor`, `TrueColor`, `DirectColor`,
3630bbfda8aSnia  or, if it cannot determine what you have, `NonStandard`.
3640bbfda8aSnia
3650bbfda8aSniaCOLOR::
3660bbfda8aSnia  This will be either ``Yes'' or ``No''.  This is just a wrapper around the above
3670bbfda8aSnia  definition.  Returns ``Yes'' on `*Color`, and ``No'' on `StaticGray`
3680bbfda8aSnia  and `GrayScale`.
3690bbfda8aSnia
3700bbfda8aSnia=== ctwm compile-time options
3710bbfda8aSnia
3720bbfda8aSniaXPM::
3730bbfda8aSnia  Is defined only if ctwm was compiled with XPM support.
3740bbfda8aSnia
3750bbfda8aSniaPIXMAP_DIRECTORY::
3760bbfda8aSnia  The directory where the ctwm pictures are installed.
3770bbfda8aSnia
3780bbfda8aSniaJPEG::
3790bbfda8aSnia  Is defined only if ctwm was compiled with JPEG support.
3800bbfda8aSnia
3810bbfda8aSniaSOUNDS::
3820bbfda8aSnia  Is defined only if ctwm was compiled with SOUND support.
3830bbfda8aSnia
3840bbfda8aSniaEWMH::
3850bbfda8aSnia  Is defined only if ctwm was compiled with EWMH support.  First appeared
3860bbfda8aSnia  in 4.0.0.
3870bbfda8aSnia
3880bbfda8aSniaI18N::
3890bbfda8aSnia  Is defined if ctwm was compiled with I18N support.  This is no longer
3900bbfda8aSnia  optional since 3.8 and is always compiled in.  The definition will be
3910bbfda8aSnia  removed in a future version.
3920bbfda8aSnia
3930bbfda8aSnia=== ctwm run-time options
3940bbfda8aSnia
3950bbfda8aSniaTWM_CAPTIVE::
3960bbfda8aSnia  This will be either ``Yes'' or ``No''. ``Yes'' if the current ctwm is captive
3970bbfda8aSnia  (flag -w), ``No'' in the other case.
3980bbfda8aSnia
3990bbfda8aSniaTWM_CAPTIVE_NAME::
4000bbfda8aSnia  Defined only if TWM_CAPTIVE is also defined. Contains the name of the captive
4010bbfda8aSnia  ctwm (flag --name).
4020bbfda8aSnia
4030bbfda8aSnia=== Obsolete options
4040bbfda8aSnia
4050bbfda8aSniaGNOME::
4060bbfda8aSnia  Defined when ctwm was compiled with GNOME1 support.  Removed after
4070bbfda8aSnia  3.8.2.
4080bbfda8aSnia
4090bbfda8aSnia
4100bbfda8aSnia== VARIABLES
4110bbfda8aSniaMany of the aspects of ctwm's user interface are controlled by variables
4120bbfda8aSniathat may be set in the user's startup file.  Some of the options are
4130bbfda8aSniaenabled or disabled simply by the presence of a particular keyword.  Other
4140bbfda8aSniaoptions require keywords, numbers, strings, or lists of all of these.
4150bbfda8aSnia
4160bbfda8aSniaLists are surrounded by braces and are usually separated by
4170bbfda8aSniawhitespace or a newline.  For example:
4180bbfda8aSnia
4190bbfda8aSnia------
4200bbfda8aSniaAutoRaise { "emacs" "XTerm" "Xmh" }
4210bbfda8aSnia------
4220bbfda8aSnia
4230bbfda8aSniaor
4240bbfda8aSnia
4250bbfda8aSnia------
4260bbfda8aSniaAutoRaise
4270bbfda8aSnia{
4280bbfda8aSnia    "emacs"
4290bbfda8aSnia    "XTerm"
4300bbfda8aSnia    "Xmh"
4310bbfda8aSnia}
4320bbfda8aSnia------
4330bbfda8aSnia
4340bbfda8aSniaWhen a variable containing a list of strings representing windows is
4350bbfda8aSniasearched (e.g. to determine whether or not to enable autoraise as shown
4360bbfda8aSniaabove), a string must be an exact, case-sensitive match to the window's
4370bbfda8aSnianame (given by various window properties, such as `WM_NAME`), resource
4380bbfda8aSnianame or class name (both given by the `WM_CLASS` window property).  The
4390bbfda8aSniapreceding example would enable autoraise on windows named ``emacs'' as
4400bbfda8aSniawell as any `xterm` (since they are of class ``XTerm'') or xmh windows
4410bbfda8aSnia(which are of class ``Xmh'').
4420bbfda8aSnia
4430bbfda8aSniaString arguments that are interpreted as filenames (see the `Pixmaps`,
4440bbfda8aSnia`Cursors`, and `IconDirectory` below) will
4450bbfda8aSniaprepend the user's directory
4460bbfda8aSnia(specified by the `HOME` environment variable) if the first character is a
4470bbfda8aSniatilde (~).  If, instead, the first character is a colon (:), the name is
4480bbfda8aSniaassumed to refer to one of the internal bitmaps that are used to
4490bbfda8aSniacreate the default titlebars symbols:  `:xlogo`
4500bbfda8aSniaor `:iconify` (both refer to the
4510bbfda8aSniaX used for the iconify button), `:resize` (the nested squares used by the
4520bbfda8aSniaresize button), and `:question` (the question mark used for non-existent
4530bbfda8aSniabitmap files).
4540bbfda8aSnia
4550bbfda8aSniaThe following variables may be specified at the top of a ctwm startup
4560bbfda8aSniafile.  Lists of window name prefix strings are indicated by `win-list`.
4570bbfda8aSniaOptional arguments are shown in square brackets:
4580bbfda8aSnia
4590bbfda8aSniaAlwaysOnTop { `win-list` }::
4600bbfda8aSnia  This variable specifies a list of windows (all windows if the list is defaulted)
4610bbfda8aSnia  that ctwm will try its best to maintain on top of others. This doesn't
4620bbfda8aSnia  work in all case.
4630bbfda8aSnia
4640bbfda8aSniaAlwaysShowWindowWhenMovingFromWorkspaceManager::
4650bbfda8aSnia  When `ReallyMoveInWorkspaceManager` is present and the user is moving
4660bbfda8aSnia  a window from the WorkSpaceMap, ctwm display the actual window only
4670bbfda8aSnia  if it crosses the current active workspace. If
4680bbfda8aSnia  `AlwaysShowWindowWhenMovingFromWorkspaceManager` is present, the actual
4690bbfda8aSnia  window is always visible during the move, regardless of whether it crosses
4700bbfda8aSnia  the current workspace or not. The Shift key toggles this behaviour.
4710bbfda8aSnia
4720bbfda8aSniaAlwaysSqueezeToGravity [{ `win-list` }]::
4730bbfda8aSnia  This variable indicates that ctwm should obey window gravity
4740bbfda8aSnia  when squeezing a window even when the window has a titlebar.
4750bbfda8aSnia  Normally, ctwm will always squeeze a window that has a titlebar
4760bbfda8aSnia  toward the north.
4770bbfda8aSnia  The optional `win-list` may be used to control which windows
4780bbfda8aSnia  this applies on.
4790bbfda8aSnia
4800bbfda8aSniaAnimationSpeed `speed`::
4810bbfda8aSnia  The `speed` argument is a non-negative integer. It determines the number of
4820bbfda8aSnia  times a second animations (if any) are updated. If `speed` is 0, animations
4830bbfda8aSnia  are freezed. The default value is 0.
4840bbfda8aSnia
4850bbfda8aSniaAutoFocusToTransients::
4860bbfda8aSnia  Transient windows get focus automatically when created.  Useful with
4870bbfda8aSnia  programs that have keyboard shortcuts that pop up windows.
4880bbfda8aSnia
4890bbfda8aSniaAutoLower [{ `win-list` }]::
4900bbfda8aSnia  This variable specifies a list of windows (all windows if the list is
4910bbfda8aSnia  defaulted) to be automatically lowered whenever the pointer leaves a
4920bbfda8aSnia  window.  This action can be interactively enabled or disabled on
4930bbfda8aSnia  individual windows using the function `f.autolower`.
4940bbfda8aSnia
4950bbfda8aSniaAutoOccupy::
4960bbfda8aSnia  This variable specifies that clients will automatically change their occupation
4970bbfda8aSnia  when their name or icon name changes. The new occupation will be recalculated
4980bbfda8aSnia  from the Occupy and OccupyAll fields in the `.ctwmrc` file.
4990bbfda8aSnia
5000bbfda8aSniaAutoPopup [{ `win-list` }]::
5010bbfda8aSnia  This variables specifies a list of windows which will be deiconified whenever
5020bbfda8aSnia  their name changes. Can be used for xconsole, for instance,which adds a "*" to
5030bbfda8aSnia  its name whenever something gets displayed on the console, or for various mail
5040bbfda8aSnia  readers who change their icons depending on the presence of unread mail.
5050bbfda8aSnia+
5060bbfda8aSniaFirst appeared in 4.0.0.
5070bbfda8aSnia
5080bbfda8aSniaAutoPriority::
5090bbfda8aSnia  This variable specifies that ctwm should automatically recompute the
5100bbfda8aSnia  priority of a window (and its associated icon) when its name changes.
5110bbfda8aSnia  See also `OnTopPriority`.
5120bbfda8aSnia+
5130bbfda8aSniaFirst appeared in 4.0.0.
5140bbfda8aSnia
5150bbfda8aSniaAutoRaise [{ `win-list` }]::
5160bbfda8aSnia  This variable specifies a list of windows (all windows if the list is defaulted)
5170bbfda8aSnia  to be automatically raised whenever the pointer has come to rest in a window for
5180bbfda8aSnia  the amount of time specified by the `RaiseDelay` variable. This action can be
5190bbfda8aSnia  interactively enabled or disabled on individual windows using the function
5200bbfda8aSnia  `f.autoraise`.
5210bbfda8aSnia
5220bbfda8aSniaAutoRaiseIcons::
5230bbfda8aSnia  Icons are raised when the cursor enters it. Useful with ShrinkIconTitles.
5240bbfda8aSnia
5250bbfda8aSniaAutoRelativeResize::
5260bbfda8aSnia  This variable indicates that dragging out a window size (either when
5270bbfda8aSnia  initially sizing the window with pointer Button2 or when resizing it)
5280bbfda8aSnia  should not wait until the pointer has crossed the window edges.
5290bbfda8aSnia  Instead, moving
5300bbfda8aSnia  the pointer automatically causes the nearest edge or edges to move by the
5310bbfda8aSnia  same amount.  This allows the resizing of windows that extend off
5320bbfda8aSnia  the edge of the screen.
5330bbfda8aSnia  If the pointer is
5340bbfda8aSnia  in the center of the window, or if the resize is begun by pressing a
5350bbfda8aSnia  titlebutton, ctwm will still wait for the pointer to cross a window
5360bbfda8aSnia  edge (to prevent accidents).  This option is
5370bbfda8aSnia  particularly useful for people who like the press-drag-release method of
5380bbfda8aSnia  sweeping out window sizes.
5390bbfda8aSnia
5400bbfda8aSniaAutoSqueeze { `win-list` }::
5410bbfda8aSnia  These windows will be auto-squeezed (see f.squeeze). i.e. automatically
5420bbfda8aSnia  unsqueezed when they get focus, and squeezed when they loose it. Useful for
5430bbfda8aSnia  the workspace manager. Not authorized for icon managers.
5440bbfda8aSnia
5450bbfda8aSniaBackingStore::
5460bbfda8aSnia  Enable usage of backing store on menus and workspace map windows.  See
5470bbfda8aSnia  also `NoBackingStore`.  Added in 4.0.0; in previous versions this
5480bbfda8aSnia  was the default.
5490bbfda8aSnia
5500bbfda8aSniaBeNiceToColormap::
5510bbfda8aSnia  By defaults new colors are allocated for shadows when a 3D look is used,
5520bbfda8aSnia  but when you specify `BeNiceToColormap` ctwm uses stipling instead of
5530bbfda8aSnia  new colors, the effect is less beautiful, but acceptable. In this case
5540bbfda8aSnia  ClearShadowContrast and DarkShadowContrast have no effects.
5550bbfda8aSnia
5560bbfda8aSniaBorderBottom `pixels`::
5570bbfda8aSnia  This variable specifies the width in pixels of a forbidden zone at the
5580bbfda8aSnia  bottom of the screen. All constrained window functions (f.movepack,
5590bbfda8aSnia  f.move with DontMoveOff, etc...) will consider this zone as offscreen.
5600bbfda8aSnia  Default is 0.
5610bbfda8aSnia
5620bbfda8aSniaBorderColor `string` [{ `wincolorlist` }]::
5630bbfda8aSnia  This variable specifies the default color of the border to be placed around
5640bbfda8aSnia  all
5650bbfda8aSnia  non-iconified windows, and may only be given within a `Color` or
5660bbfda8aSnia  `Monochrome` list.  The optional `wincolorlist` specifies a list
5670bbfda8aSnia  of window and color name pairs for specifying particular border colors for
5680bbfda8aSnia  different types of windows.  For example:
5690bbfda8aSnia+
5700bbfda8aSnia------
5710bbfda8aSniaBorderColor "gray50"
5720bbfda8aSnia{
5730bbfda8aSnia    "XTerm" "red"
5740bbfda8aSnia    "xmh"   "green"
5750bbfda8aSnia}
5760bbfda8aSnia------
5770bbfda8aSnia+
5780bbfda8aSnia[normal]
5790bbfda8aSnia  The default is ``black''.
5800bbfda8aSnia
5810bbfda8aSniaBorderLeft `pixels`::
5820bbfda8aSnia  This variable specifies the width in pixels of a forbidden zone at the
5830bbfda8aSnia  left of the screen. All constrained window functions (f.movepack,
5840bbfda8aSnia  f.move with DontMoveOff, etc...) will consider this zone as offscreen.
5850bbfda8aSnia  Default is 0.
5860bbfda8aSnia
5870bbfda8aSniaBorderResizeCursors::
5880bbfda8aSnia  This variable specifies that ctwm should use resizing cursors when
5890bbfda8aSnia  the pointer is on the window border. To be used preferably when you have
5900bbfda8aSnia  bound a button to f.resize in the frame context.
5910bbfda8aSnia
5920bbfda8aSniaBorderRight `pixels`::
5930bbfda8aSnia  This variable specifies the width in pixels of a forbidden zone at the
5940bbfda8aSnia  right of the screen. All constrained window functions (f.movepack,
5950bbfda8aSnia  f.move with DontMoveOff, etc...) will consider this zone as offscreen.
5960bbfda8aSnia  Default is 0.
5970bbfda8aSnia
5980bbfda8aSniaBorderShadowDepth `pixels`::
5990bbfda8aSnia  This variable specifies the depth of the shadow ctwm uses for
6000bbfda8aSnia  3D window borders, when UseThreeDBorders is selected.
6010bbfda8aSnia
6020bbfda8aSniaBorderTileBackground `string` [{ `wincolorlist` }]::
6030bbfda8aSnia  This variable specifies the default background color in the gray pattern
6040bbfda8aSnia  used in unhighlighted borders (only if `NoHighlight` hasn't been set),
6050bbfda8aSnia  and may only be given within a `Color` or `Monochrome` list.  The
6060bbfda8aSnia  optional `wincolorlist` allows per-window colors to be specified.
6070bbfda8aSnia  The default  is ``white''.
6080bbfda8aSnia
6090bbfda8aSniaBorderTileForeground `string` [{ `wincolorlist` }]::
6100bbfda8aSnia  This variable specifies the default foreground color in the gray pattern
6110bbfda8aSnia  used in unhighlighted borders (only
6120bbfda8aSnia  if `NoHighlight` hasn't been set), and may only be given within a
6130bbfda8aSnia  `Color` or `Monochrome` list.  The optional `wincolorlist` allows
6140bbfda8aSnia  per-window colors to be specified.  The default is ``black''.
6150bbfda8aSnia
6160bbfda8aSniaBorderTop `pixels`::
6170bbfda8aSnia  This variable specifies the width in pixels of a forbidden zone at the
6180bbfda8aSnia  top of the screen. All constrained window functions (f.movepack,
6190bbfda8aSnia  f.move with DontMoveOff, etc...) will consider this zone as offscreen.
6200bbfda8aSnia  Default is 0.
6210bbfda8aSnia
6220bbfda8aSniaBorderWidth `pixels`::
6230bbfda8aSnia  This variable specifies the width in pixels of the border surrounding
6240bbfda8aSnia  all client window frames if `ClientBorderWidth` has not been specified.
6250bbfda8aSnia  This value is also used to set the border size of windows created by ctwm
6260bbfda8aSnia  (such as the icon manager).  The default is 2.
6270bbfda8aSnia
6280bbfda8aSniaButtonIndent `pixels`::
6290bbfda8aSnia  This variable specifies the amount by which titlebuttons should be
6300bbfda8aSnia  indented on all sides.  Positive values cause the buttons to be smaller than
6310bbfda8aSnia  the window text and highlight area so that they stand out.  Setting this
6320bbfda8aSnia  and the `TitleButtonBorderWidth` variables to 0 makes titlebuttons be as
6330bbfda8aSnia  tall and wide as possible.  The default is 1 if `UseThreeDTitles` is
6340bbfda8aSnia  not set, 0 if it is set.
6350bbfda8aSnia
6360bbfda8aSniaCenterFeedbackWindow::
6370bbfda8aSnia  The moving and resizing information window is centered in the middle of the
6380bbfda8aSnia  screen instead of the top left corner.
6390bbfda8aSnia
6400bbfda8aSniaClearShadowContrast `contrast`::
6410bbfda8aSnia  Indicates to ctwm how to calculate the clear shadow color for 3D items.
6420bbfda8aSnia  The value is a comprised between 0 and 100. The formula used is :
6430bbfda8aSnia+
6440bbfda8aSnia------
6450bbfda8aSnia    clear.{RGB} = (65535 - color.{RGB}) * (contrast / 100).
6460bbfda8aSnia------
6470bbfda8aSnia+
6480bbfda8aSnia[normal]
6490bbfda8aSnia  Has no effect if `BeNiceToColormap` is active.
6500bbfda8aSnia
6510bbfda8aSniaClickToFocus::
6520bbfda8aSnia  Focus windows by clicking on them, rather than merely mousing over
6530bbfda8aSnia  them.
6540bbfda8aSnia
6550bbfda8aSniaClientBorderWidth::
6560bbfda8aSnia  This variable indicates that border width of a window's frame should be set to
6570bbfda8aSnia  the initial border width of the window, rather than to the value of
6580bbfda8aSnia  `BorderWidth`.
6590bbfda8aSnia  If `Use3DBorders` is set this variable is automatically unset.
6600bbfda8aSnia
6610bbfda8aSniaColor { `colors-list` }::
6620bbfda8aSnia  This variable specifies a list of color assignments to be made if the default
6630bbfda8aSnia  display is capable of displaying more than simple black and white.  The
6640bbfda8aSnia  `colors-list` is made up of the following color variables and their values:
6650bbfda8aSnia  `DefaultBackground`,
6660bbfda8aSnia  `DefaultForeground`,
6670bbfda8aSnia  `MenuBackground`,
6680bbfda8aSnia  `MenuForeground`,
6690bbfda8aSnia  `MenuTitleBackground`,
6700bbfda8aSnia  `MenuTitleForeground`, and
6710bbfda8aSnia  `MenuShadowColor`.
6720bbfda8aSnia  The following
6730bbfda8aSnia  color variables may also be given a list of window and color name pairs to
6740bbfda8aSnia  allow per-window colors to be specified (see `BorderColor` for details):
6750bbfda8aSnia  `BorderColor`,
6760bbfda8aSnia  `IconManagerHighlight`,
6770bbfda8aSnia  `BorderTileBackground`,
6780bbfda8aSnia  `BorderTileForeground`,
6790bbfda8aSnia  `TitleBackground`,
6800bbfda8aSnia  `TitleForeground`,
6810bbfda8aSnia  `IconBackground`,
6820bbfda8aSnia  `IconForeground`,
6830bbfda8aSnia  `IconBorderColor`,
6840bbfda8aSnia  `IconManagerBackground`, and
6850bbfda8aSnia  `IconManagerForeground`.
6860bbfda8aSnia  For example:
6870bbfda8aSnia+
6880bbfda8aSnia------
6890bbfda8aSniaColor
6900bbfda8aSnia{
6910bbfda8aSnia    MenuBackground      "gray50"
6920bbfda8aSnia    MenuForeground      "blue"
6930bbfda8aSnia    BorderColor         "red"    { "XTerm" "yellow" }
6940bbfda8aSnia    TitleForeground     "yellow"
6950bbfda8aSnia    TitleBackground     "blue"
6960bbfda8aSnia}
6970bbfda8aSnia------
6980bbfda8aSnia+
6990bbfda8aSnia[normal]
7000bbfda8aSnia  All of these color variables may also be specified for the `Monochrome`
7010bbfda8aSnia  variable, allowing the same initialization file to be used on both color and
7020bbfda8aSnia  monochrome displays.
7030bbfda8aSnia
7040bbfda8aSniaConstrainedMoveTime `milliseconds`::
7050bbfda8aSnia  This variable specifies the length of time between button clicks needed to
7060bbfda8aSnia  begin a constrained move operation.
7070bbfda8aSnia  Double clicking within this amount of time when invoking `f.move` or
7080bbfda8aSnia  other similar moving functions will cause the window only be moved in a
7090bbfda8aSnia  horizontal or vertical direction.
7100bbfda8aSnia  Setting this value to 0 will disable constrained moves.  The default is
7110bbfda8aSnia  400 milliseconds.
7120bbfda8aSnia+
7130bbfda8aSnia[normal]
7140bbfda8aSnia  Note that this also affects double clicking in `f.raiseorsqueeze`, and
7150bbfda8aSnia  potentially other places that need to track double clicks.  It should
7160bbfda8aSnia  probably be renamed.
7170bbfda8aSnia
7180bbfda8aSniaCursors { `cursor-list` }::
7190bbfda8aSnia  This variable specifies the glyphs that ctwm should use for various
7200bbfda8aSnia  pointer cursors.  Each cursor
7210bbfda8aSnia  may be defined either from the `cursor` font or from two bitmap files.
7220bbfda8aSnia  Shapes from the `cursor` font may be specified directly as:
7230bbfda8aSnia+
7240bbfda8aSnia------
7250bbfda8aSnia    cursorname "string"
7260bbfda8aSnia------
7270bbfda8aSnia+
7280bbfda8aSnia[normal]
7290bbfda8aSnia  where `cursorname` is one of the cursor names listed below, and
7300bbfda8aSnia  `string` is the name of a glyph as found in the file
7310bbfda8aSnia  <X11/cursorfont.h> (without the ``XC_'' prefix).
7320bbfda8aSnia  If the cursor is to be defined
7330bbfda8aSnia  from bitmap files, the following syntax is used instead:
7340bbfda8aSnia+
7350bbfda8aSnia------
7360bbfda8aSnia    cursorname "image" "mask"
7370bbfda8aSnia------
7380bbfda8aSnia+
7390bbfda8aSnia[normal]
7400bbfda8aSnia  The `image` and `mask` strings specify the names of files containing
7410bbfda8aSnia  the glyph image and mask in `bitmap(1)` form.
7420bbfda8aSnia  The bitmap files are located in the same manner as icon bitmap files.
7430bbfda8aSnia  The following example shows the default cursor definitions:
7440bbfda8aSnia+
7450bbfda8aSnia------
7460bbfda8aSniaCursors
7470bbfda8aSnia{
7480bbfda8aSnia    Frame       "top_left_arrow"
7490bbfda8aSnia    Title       "top_left_arrow"
7500bbfda8aSnia    Icon        "top_left_arrow"
7510bbfda8aSnia    IconMgr     "top_left_arrow"
7520bbfda8aSnia    Move        "fleur"
7530bbfda8aSnia    Resize      "fleur"
7540bbfda8aSnia    Menu        "sb_left_arrow"
7550bbfda8aSnia    Button      "hand2"
7560bbfda8aSnia    Wait        "watch"
7570bbfda8aSnia    Select      "dot"
7580bbfda8aSnia    Destroy     "pirate"
7590bbfda8aSnia}
7600bbfda8aSnia------
7610bbfda8aSnia+
7620bbfda8aSnia
7630bbfda8aSniaDarkShadowContrast `contrast`::
7640bbfda8aSnia  Indicates to ctwm how to calculate the dark shadow color for 3D items.
7650bbfda8aSnia  The value is a comprised between 0 and 100. The formula used is :
7660bbfda8aSnia+
7670bbfda8aSnia------
7680bbfda8aSnia    dark.{RGB}  = color.{RGB} * ((100 - contrast) / 100),
7690bbfda8aSnia------
7700bbfda8aSnia+
7710bbfda8aSnia[normal]
7720bbfda8aSnia  Has no effect if `BeNiceToColormap` is active.
7730bbfda8aSnia
7740bbfda8aSniaDecorateTransients::
7750bbfda8aSnia  This variable indicates that transient windows (those containing a
7760bbfda8aSnia  `WM_TRANSIENT_FOR` property) should have titlebars.  As of 4.0.0
7770bbfda8aSnia  this is the default.
7780bbfda8aSnia
7790bbfda8aSniaDefaultBackground `string`::
7800bbfda8aSnia  This variable specifies the background color to be used for sizing and
7810bbfda8aSnia  information windows.  The default is ``white''.
7820bbfda8aSnia
7830bbfda8aSniaDefaultForeground `string`::
7840bbfda8aSnia  This variable specifies the foreground color to be used for sizing and
7850bbfda8aSnia  information windows.  The default is ``black''.
7860bbfda8aSnia
7870bbfda8aSniaDontIconifyByUnmapping { `win-list` }::
7880bbfda8aSnia  This variable specifies a list of windows that should not be iconified by
7890bbfda8aSnia  simply unmapping the window (as would be the case if `IconifyByUnmapping`
7900bbfda8aSnia  had been set).  This is frequently used to force some windows to be treated
7910bbfda8aSnia  as icons while other windows are handled by the icon manager.
7920bbfda8aSnia
7930bbfda8aSniaDontMoveOff::
7940bbfda8aSnia  This variable indicates that windows should not be allowed to be moved off the
7950bbfda8aSnia  screen.  It can be overridden by the `f.forcemove` function.
7960bbfda8aSnia
7970bbfda8aSniaDontNameDecorations::
7980bbfda8aSnia  Disable setting `WM_NAME` properties on the various decoration windows
7990bbfda8aSnia  ctwm puts around the windows it manages.  These are handy to keep track
8000bbfda8aSnia  of what's what when poking through the list of windows on the screen,
8010bbfda8aSnia  but can confuse some tools that don't expect to find them there (xwit
8020bbfda8aSnia  is known to be one of them).  First appeared in 4.0.2.
8030bbfda8aSnia
8040bbfda8aSniaDontPaintRootWindow::
8050bbfda8aSnia  This variable tells ctwm not to paint the root window, whatever you told in
8060bbfda8aSnia  the Workspaces specification. This is useful to have pixmaps in the Workspace
8070bbfda8aSnia  Map but not on the root window.
8080bbfda8aSnia
8090bbfda8aSniaDontSave { `win-list` }::
8100bbfda8aSnia  These windows won't have their characteristics saved for the session manager.
8110bbfda8aSnia
8120bbfda8aSniaDontSetInactive { `win-list` }::
8130bbfda8aSnia  These windows won't be set to InactiveState when they become invisible
8140bbfda8aSnia  due to a change workspace. This has been added because some ill-behaved
8150bbfda8aSnia  clients (Frame5) don't like this.
8160bbfda8aSnia
8170bbfda8aSniaDontShowWelcomeWindow::
8180bbfda8aSnia  Indicates the same as the `-W` option: the welcome window is not shown.
8190bbfda8aSnia
8200bbfda8aSniaDontSqueezeTitle [{ `win-list` }]::
8210bbfda8aSnia  This variable indicates that titlebars should not be squeezed to their
8220bbfda8aSnia  minimum size as described under `SqueezeTitle` below.
8230bbfda8aSnia  If the optional window list is supplied, only those windows will be
8240bbfda8aSnia  prevented from being squeezed.
8250bbfda8aSnia
8260bbfda8aSniaDontToggleWorkSpaceManagerState::
8270bbfda8aSnia  Turns off the feature toggling the workspace manager state to/from map/button
8280bbfda8aSnia  state when you press ctrl and the workspace manager window is in focus.
8290bbfda8aSnia
8300bbfda8aSniaDontWarpCursorInWMap::
8310bbfda8aSnia  Tells ctwm not to warp the cursor to the corresponding actual window
8320bbfda8aSnia  when you click in a small window in the workspace map.
8330bbfda8aSnia
8340bbfda8aSniaEWMHIgnore { `message-types` }::
8350bbfda8aSnia  Sets EWMH message types that ctwm will ignore.  This is only valid
8360bbfda8aSnia  if built with `USE_EWMH` (currently on by default).  The following
8370bbfda8aSnia  example shows all the valid options:
8380bbfda8aSnia+
8390bbfda8aSnia------
8400bbfda8aSniaEWMHIgnore
8410bbfda8aSnia{
8420bbfda8aSnia    # Window states
8430bbfda8aSnia    "STATE_MAXIMIZED_VERT"
8440bbfda8aSnia    "STATE_MAXIMIZED_HORZ"
8450bbfda8aSnia    "STATE_FULLSCREEN"
8460bbfda8aSnia    "STATE_SHADED"
8470bbfda8aSnia    "STATE_ABOVE"
8480bbfda8aSnia    "STATE_BELOW"
8490bbfda8aSnia}
8500bbfda8aSnia------
8510bbfda8aSnia+
8520bbfda8aSniaFirst appeared in 4.0.0.
8530bbfda8aSnia
8540bbfda8aSniaForceFocus [{ `win-list` }]::
8550bbfda8aSnia  Give focus to windows whether they asked for it or not.  This may
8560bbfda8aSnia  occasionally be useful with windows that tell us not to give them
8570bbfda8aSnia  focus, but still need it and fail to work right without us doing so.
8580bbfda8aSnia  The optional window list allows specifying which windows will get such
8590bbfda8aSnia  treatment.
8600bbfda8aSnia+
8610bbfda8aSniaFirst appeared in 4.0.0.  In prior versions, a variant of this
8620bbfda8aSniafunctionality was unconditionally enabled.
8630bbfda8aSnia
8640bbfda8aSniaForceIcons::
8650bbfda8aSnia  This variable indicates that icon pixmaps specified in the `Icons`
8660bbfda8aSnia  variable should override any client-supplied pixmaps.
8670bbfda8aSnia
8680bbfda8aSniaFramePadding `pixels`::
8690bbfda8aSnia  This variable specifies the distance between the titlebar decorations (the
8700bbfda8aSnia  button and text) and the window frame.  The default is 2 pixels if `UseThreeDTitles` is
8710bbfda8aSnia  not set, 0 if it is set.
8720bbfda8aSnia
8730bbfda8aSniaGrabServer::
8740bbfda8aSnia  Specifies that ctwm should grab the X server (blocking all events other
8750bbfda8aSnia  than ours) when popping up menus and moving opaque windows.  See also
8760bbfda8aSnia  `NoGrabServer`.  Added in 4.0.0; in previous versions this was the
8770bbfda8aSnia  default.
8780bbfda8aSnia
8790bbfda8aSniaIconBackground `string` [{ `win-list` }]::
8800bbfda8aSnia  This variable specifies the background color of icons, and may
8810bbfda8aSnia  only be specified inside of a `Color` or `Monochrome` list.
8820bbfda8aSnia  The optional `win-list` is a list of window names and colors so that
8830bbfda8aSnia  per-window colors may be specified.  See the `BorderColor`
8840bbfda8aSnia  variable for a complete description of the `win-list`.
8850bbfda8aSnia  The default is ``white''.
8860bbfda8aSnia
8870bbfda8aSniaIconBorderColor `string` [{ `win-list` }]::
8880bbfda8aSnia  This variable specifies the color of the border used for icon windows, and
8890bbfda8aSnia  may only be specified inside of a `Color` or `Monochrome` list.
8900bbfda8aSnia  The optional `win-list` is a list of window names and colors so that
8910bbfda8aSnia  per-window colors may be specified.  See the `BorderColor`
8920bbfda8aSnia  variable for a complete description of the `win-list`.
8930bbfda8aSnia  The default is ``black''.
8940bbfda8aSnia
8950bbfda8aSniaIconBorderWidth `pixels`::
8960bbfda8aSnia  This variable specifies the width in pixels of the border surrounding
8970bbfda8aSnia  icon windows.  The default is 2.
8980bbfda8aSnia
8990bbfda8aSniaIconDirectory `string`::
9000bbfda8aSnia  This variable specifies the directory that should be searched
9010bbfda8aSnia  if a bitmap file cannot be found in any of the directories
9020bbfda8aSnia  in the `bitmapFilePath` resource.
9030bbfda8aSnia
9040bbfda8aSniaIconFont `string`::
9050bbfda8aSnia  This variable specifies the font to be used to display icon names within
9060bbfda8aSnia  icons.  The default is ``variable''.
9070bbfda8aSnia
9080bbfda8aSniaIconForeground `string` [{ `win-list` }]::
9090bbfda8aSnia  This variable specifies the foreground color to be used when displaying icons,
9100bbfda8aSnia  and may only be specified inside of a
9110bbfda8aSnia  `Color` or `Monochrome` list.
9120bbfda8aSnia  The optional `win-list` is a list of window names and colors so that
9130bbfda8aSnia  per-window colors may be specified.  See the `BorderColor`
9140bbfda8aSnia  variable for a complete description of the `win-list`.
9150bbfda8aSnia  The default is ``black''.
9160bbfda8aSnia
9170bbfda8aSniaIconifyByUnmapping [{ `win-list` }]::
9180bbfda8aSnia  This variable indicates that windows should be iconified by being unmapped
9190bbfda8aSnia  without trying to map any icons.  This assumes that the user is will
9200bbfda8aSnia  remap the window through the icon manager, the `f.warpto` function, or
9210bbfda8aSnia  the `TwmWindows` menu.
9220bbfda8aSnia  If the optional `win-list` is provided, only those windows will be
9230bbfda8aSnia  iconified by simply unmapping.  Windows that have both this and the
9240bbfda8aSnia  `IconManagerDontShow` options set may not be accessible if no binding
9250bbfda8aSnia  to the `TwmWindows` menu is set in the user's startup file.
9260bbfda8aSnia
9270bbfda8aSniaIconifyStyle `string`::
9280bbfda8aSnia  Where string is either `"normal"`, `"mosaic"`, `"zoomin"`, `"zoomout"`
9290bbfda8aSnia  or `"sweep"`. Tells ctwm to use some fancy graphical effects when iconifying
9300bbfda8aSnia  windows.
9310bbfda8aSnia
9320bbfda8aSniaIconJustification `string`::
9330bbfda8aSnia  Where string is either `"left"`, `"center"` or `"right"`.
9340bbfda8aSnia  Tells ctwm how to justify the icon image against the icon title (if any).
9350bbfda8aSnia
9360bbfda8aSniaIconManagerBackground `string` [{ `win-list` }]::
9370bbfda8aSnia  This variable specifies the background color to use for icon manager entries,
9380bbfda8aSnia  and may only be specified inside of a
9390bbfda8aSnia  `Color` or `Monochrome` list.
9400bbfda8aSnia  The optional `win-list` is a list of window names and colors so that
9410bbfda8aSnia  per-window colors may be specified.  See the `BorderColor`
9420bbfda8aSnia  variable for a complete description of the `win-list`.
9430bbfda8aSnia  The default is ``white''.
9440bbfda8aSnia
9450bbfda8aSniaIconManagerDontShow [{ `win-list` }]::
9460bbfda8aSnia  This variable indicates that the icon manager should not display any
9470bbfda8aSnia  windows.  If the optional `win-list` is given, only those windows will
9480bbfda8aSnia  not be displayed.  This variable is used to prevent windows that are rarely
9490bbfda8aSnia  iconified (such as `xclock` or `xload`) from taking up space in
9500bbfda8aSnia  the icon manager.
9510bbfda8aSnia
9520bbfda8aSniaIconManagerFont `string`::
9530bbfda8aSnia  This variable specifies the font to be used when displaying icon manager
9540bbfda8aSnia  entries.  The default is ``variable''.
9550bbfda8aSnia
9560bbfda8aSniaIconManagerForeground `string` [{ `win-list` }]::
9570bbfda8aSnia  This variable specifies the foreground color to be used when displaying
9580bbfda8aSnia  icon manager entries, and may only be specified inside of a
9590bbfda8aSnia  `Color` or `Monochrome` list.
9600bbfda8aSnia  The optional `win-list` is a list of window names and colors so that
9610bbfda8aSnia  per-window colors may be specified.  See the `BorderColor`
9620bbfda8aSnia  variable for a complete description of the `win-list`.
9630bbfda8aSnia  The default is ``black''.
9640bbfda8aSnia
9650bbfda8aSniaIconManagerGeometry `string` [ `columns` ]::
9660bbfda8aSnia  This variable specifies the geometry of the icon manager window.  The
9670bbfda8aSnia  `string` argument is standard geometry specification that indicates
9680bbfda8aSnia  the initial full size of the icon manager.  The icon manager window is
9690bbfda8aSnia  then broken into `columns` pieces and scaled according to the number
9700bbfda8aSnia  of entries in the icon manager.  Extra entries are wrapped to form
9710bbfda8aSnia  additional rows.  The default number of columns is 1.
9720bbfda8aSnia
9730bbfda8aSniaIconManagerHighlight `string` [{ `win-list` }]::
9740bbfda8aSnia  This variable specifies the border color to be used when highlighting
9750bbfda8aSnia  the icon manager entry that currently has the focus,
9760bbfda8aSnia  and can only be specified inside of a
9770bbfda8aSnia  `Color` or `Monochrome` list.
9780bbfda8aSnia  The optional `win-list` is a list of window names and colors so that
9790bbfda8aSnia  per-window colors may be specified.  See the `BorderColor`
9800bbfda8aSnia  variable for a complete description of the `win-list`.
9810bbfda8aSnia  The default is ``black''.
9820bbfda8aSnia
9830bbfda8aSniaIconManagers { `iconmgr-list` }::
9840bbfda8aSnia  This variable specifies a list of icon managers to create.  Each item in the
9850bbfda8aSnia  `iconmgr-list` has the following format:
9860bbfda8aSnia+
9870bbfda8aSnia------
9880bbfda8aSnia    "winname" ["iconname"] "geometry" columns
9890bbfda8aSnia------
9900bbfda8aSnia+
9910bbfda8aSnia[normal]
9920bbfda8aSnia  where `winname` is the name of the windows that should be put into this
9930bbfda8aSnia  icon manager, `iconname` is the name of that icon manager window's icon,
9940bbfda8aSnia  `geometry` is a standard geometry specification, and `columns` is
9950bbfda8aSnia  the number of columns in this icon manager as described in
9960bbfda8aSnia  `IconManagerGeometry`.  For example:
9970bbfda8aSnia+
9980bbfda8aSnia------
9990bbfda8aSniaIconManagers
10000bbfda8aSnia{
10010bbfda8aSnia    "XTerm"  "=300x5+800+5"  5
10020bbfda8aSnia    "myhost" "=400x5+100+5"  2
10030bbfda8aSnia}
10040bbfda8aSnia------
10050bbfda8aSnia+
10060bbfda8aSnia[normal]
10070bbfda8aSnia  Clients whose name or class is ``XTerm'' will have an entry created
10080bbfda8aSnia  in the ``XTerm'' icon manager.  Clients whose name was ``myhost'' would
10090bbfda8aSnia  be put into the ``myhost'' icon manager.
10100bbfda8aSnia
10110bbfda8aSniaIconManagerShadowDepth `pixels`::
10120bbfda8aSnia  This variable specifies the depth of the shadow ctwm uses for
10130bbfda8aSnia  3D IconManager entries, when UseThreeDIconManagers is selected.
10140bbfda8aSnia
10150bbfda8aSniaIconManagerShow { `win-list` }::
10160bbfda8aSnia  This variable specifies a list of windows that should appear in the icon
10170bbfda8aSnia  manager.  When used in conjunction with the `IconManagerDontShow`
10180bbfda8aSnia  variable, only the windows in this list will be shown in the icon manager.
10190bbfda8aSnia
10200bbfda8aSniaIconMenuDontShow { `win-list` }::
10210bbfda8aSnia  Don't show the name of these windows in the TwmIcons menu.
10220bbfda8aSnia
10230bbfda8aSniaIconRegion `geomstring` `vgrav hgrav gridwidth gridheight` [`iconjust`] [`iconregjust`] [`iconregalign`] [{ `win-list` }]::
10240bbfda8aSnia  This variable specifies an area on the root window in which icons are placed
10250bbfda8aSnia  if no specific icon location is provided by the client.  The `geomstring`
10260bbfda8aSnia  is a quoted string containing a standard geometry specification. If more than
10270bbfda8aSnia  one `IconRegion` lines are given, icons will be put into the succeeding
10280bbfda8aSnia  icon regions when the first is full. The `vgrav` argument should be either
10290bbfda8aSnia  `North` or `South`  and is used to control whether icons are
10300bbfda8aSnia  first filled in from the top or bottom of the icon region.  Similarly, the
10310bbfda8aSnia  `hgrav` argument should be either `East` or `West` and is used
10320bbfda8aSnia  to control whether icons should be filled in from left or from the right. Icons
10330bbfda8aSnia  are laid out within the region in a grid with cells `gridwidth` pixels
10340bbfda8aSnia  wide and `gridheight` pixels  high. The optional win-list argument tells
10350bbfda8aSnia  ctwm that if such a window is iconified, and there is enough room in this
10360bbfda8aSnia  icon region for its icon, then place it here. The optional `iconjust`,
10370bbfda8aSnia  `iconregjust` and `iconregalign` can be used to give specific values
10380bbfda8aSnia  of IconJustification, IconRegionJustification and IconRegionAlignement for
10390bbfda8aSnia  this IconRegion.
10400bbfda8aSnia
10410bbfda8aSniaIconRegionAlignement `string`::
10420bbfda8aSnia  Where string is either `"top"`, `"center"` `"bottom"` or `"border"`.
10430bbfda8aSnia  Tells ctwm how to align icons inside their place in the IconRegion.
10440bbfda8aSnia  If ``border'' is given, the justification will be ``top'' if
10450bbfda8aSnia  the icon region gravity is ``north'' and ``bottom'' if the icon region gravity is ``south''.
10460bbfda8aSnia
10470bbfda8aSniaIconRegionJustification `string`::
10480bbfda8aSnia  Where string is either `"left"`, `"center"` `"right"` or `"border"`.
10490bbfda8aSnia  Tells ctwm how to justify icons inside their place in the IconRegion.
10500bbfda8aSnia  If ``border'' is given, the justification will be ``left'' if
10510bbfda8aSnia  the icon region gravity is ``west'' and ``right'' if the icon region gravity is ``east''.
10520bbfda8aSnia
10530bbfda8aSniaIcons { `win-list` }::
10540bbfda8aSnia  This variable specifies a list of window names and the bitmap filenames that
10550bbfda8aSnia  should be used as their icons.  For example:
10560bbfda8aSnia+
10570bbfda8aSnia------
10580bbfda8aSniaIcons
10590bbfda8aSnia{
10600bbfda8aSnia    "XTerm"  "xterm.icon"
10610bbfda8aSnia    "xfd"    "xfd_icon"
10620bbfda8aSnia}
10630bbfda8aSnia------
10640bbfda8aSnia+
10650bbfda8aSnia[normal]
10660bbfda8aSnia  Windows that match ``XTerm'' and would not be iconified by unmapping, would try
10670bbfda8aSnia  to use  the icon bitmap in the file ``xterm.icon''.If `ForceIcons` is
10680bbfda8aSnia  specified, this bitmap will be used even if the client has requested its
10690bbfda8aSnia  own icon pixmap.
10700bbfda8aSnia
10710bbfda8aSniaIconSize `string`::
10720bbfda8aSnia  (Only if built with `USE_EWMH`)
10730bbfda8aSnia  string is of the form
10740bbfda8aSnia  "`<width>x<height>`"
10750bbfda8aSnia  or
10760bbfda8aSnia  "`size`"
10770bbfda8aSnia  for a square size.
10780bbfda8aSnia  This indicates the preferred size of icons selected from the EWMH window
10790bbfda8aSnia  property `_NET_WM_ICON`.
10800bbfda8aSnia  If an icon with the exact size is not available, one with the nearest (area)
10810bbfda8aSnia  size will be chosen.
10820bbfda8aSnia+
10830bbfda8aSniaFirst appeared in 4.0.0.
10840bbfda8aSnia
10850bbfda8aSniaIgnoreCaseInMenuSelection::
10860bbfda8aSnia  Used when moving the pointer inside a menu with the keyboard. When you
10870bbfda8aSnia  type a letter, the pointer goes to the next entry beginning with this
10880bbfda8aSnia  letter. If IgnoreCaseInMenuSelection is present, this selection ignores
10890bbfda8aSnia  the case of this first letter.
10900bbfda8aSnia
10910bbfda8aSniaIgnoreLockModifier::
10920bbfda8aSnia  If present, all bindings (buttons and keys) will ignore the LockMask. Useful if you
10930bbfda8aSnia  often use caps lock, and don't want to define twice all your bindings.
10940bbfda8aSnia
10950bbfda8aSniaIgnoreModifier::
10960bbfda8aSnia  All bindings (buttons and keys) will ignore the modifiers
10970bbfda8aSnia  you specified. It is useful when you use caps locks or
10980bbfda8aSnia  num locks. You don't need IgnoreLockModifier any more with this option.
10990bbfda8aSnia+
11000bbfda8aSnia------
11010bbfda8aSniaIgnoreModifier { lock m2 }
11020bbfda8aSnia------
11030bbfda8aSnia+
11040bbfda8aSnia
11050bbfda8aSniaIgnoreTransient::
11060bbfda8aSnia  List of windows for which to ignore transients.
11070bbfda8aSnia+
11080bbfda8aSnia------
11090bbfda8aSniaIgnoreTransient { "Wine" }
11100bbfda8aSnia------
11110bbfda8aSnia+
11120bbfda8aSnia
11130bbfda8aSniaInterpolateMenuColors::
11140bbfda8aSnia  This variable indicates that menu entry colors should be interpolated between
11150bbfda8aSnia  entry specified colors.  In the example below:
11160bbfda8aSnia+
11170bbfda8aSnia------
11180bbfda8aSniaMenu "mymenu"
11190bbfda8aSnia{
11200bbfda8aSnia    "Title"     ("black":"red")     f.title
11210bbfda8aSnia    "entry1"                        f.nop
11220bbfda8aSnia    "entry2"                        f.nop
11230bbfda8aSnia    "entry3"    ("white":"green")   f.nop
11240bbfda8aSnia    "entry4"                        f.nop
11250bbfda8aSnia    "entry5"    ("red":"white")     f.nop
11260bbfda8aSnia}
11270bbfda8aSnia------
11280bbfda8aSnia+
11290bbfda8aSnia[normal]
11300bbfda8aSnia  the foreground colors for ``entry1'' and ``entry2'' will be interpolated
11310bbfda8aSnia  between black and white, and the background colors between red and green.
11320bbfda8aSnia  Similarly, the foreground for ``entry4'' will be half-way between white and
11330bbfda8aSnia  red, and the background will be half-way between green and white.
11340bbfda8aSnia
11350bbfda8aSniaMakeTitle { `win-list` }::
11360bbfda8aSnia  This variable specifies a list of windows on which a titlebar should be placed
11370bbfda8aSnia  and is used to request titles on specific windows when `NoTitle` has been
11380bbfda8aSnia  set.
11390bbfda8aSnia
11400bbfda8aSniaMapWindowBackground color [{ win-list }]::
11410bbfda8aSnia  This variable specifies the background colors to use for small windows in the
11420bbfda8aSnia  workspace map window and may only be specified inside of a Color or Monochrome
11430bbfda8aSnia  list. The optional `win-list` is a list of window names and colors so
11440bbfda8aSnia  that per-window colors may be specified. If there is neither MapWindowBackground,
11450bbfda8aSnia  nor MapWindowForeground the window title colors are used.
11460bbfda8aSnia
11470bbfda8aSniaMapWindowCurrentWorkSpace { border_color [background] [foreground] [bitmap] }::
11480bbfda8aSnia  Specify the appearence of the map window corresponding to the current workspace.
11490bbfda8aSnia
11500bbfda8aSniaMapWindowDefaultWorkSpace { border_color [background] [foreground] [bitmap] }::
11510bbfda8aSnia  Specify the appearence of the map window corresponding to the workspaces other
11520bbfda8aSnia  than the current workspace when no root background information has been provided
11530bbfda8aSnia  to ctwm in the WorkSpace command. Not used in others cases.
11540bbfda8aSnia
11550bbfda8aSniaMapWindowForeground color [{ win-list }]::
11560bbfda8aSnia  This variable specifies the foreground colors to use for small windows in the
11570bbfda8aSnia  workspace map window and may only be specified inside of a Color or Monochrome
11580bbfda8aSnia  list. The optional `win-list` is a list of window names and colors so
11590bbfda8aSnia  that per-window colors may be specified. If there is neither MapWindowBackground,
11600bbfda8aSnia  nor MapWindowForeground the window title colors are used.
11610bbfda8aSnia
11620bbfda8aSniaMaxIconTitleWidth `width`::
11630bbfda8aSnia  The integer argument tells ctwm the maximun width to use for an
11640bbfda8aSnia  icon title. If an icon title is larger than `width`, it is truncated.
11650bbfda8aSnia
11660bbfda8aSniaMaxWindowSize `string`::
11670bbfda8aSnia  This variable specifies a geometry in which the width and height
11680bbfda8aSnia  give the maximum size for a given window.  This is typically used to
11690bbfda8aSnia  restrict windows to the size of the screen.  The default is ``30000x30000''.
11700bbfda8aSnia
11710bbfda8aSniaMenuBackground `string`::
11720bbfda8aSnia  This variable specifies the background color used for menus,
11730bbfda8aSnia  and can only be specified inside of a
11740bbfda8aSnia  `Color` or `Monochrome` list.  The default is ``white''.
11750bbfda8aSnia
11760bbfda8aSniaMenuFont `string`::
11770bbfda8aSnia  This variable specifies the font to use when displaying menus.  The default
11780bbfda8aSnia  is ``variable''.
11790bbfda8aSnia
11800bbfda8aSniaMenuForeground `string`::
11810bbfda8aSnia  This variable specifies the foreground color used for menus,
11820bbfda8aSnia  and can only be specified inside of a
11830bbfda8aSnia  `Color` or `Monochrome` list.  The default is ``black''.
11840bbfda8aSnia
11850bbfda8aSniaMenuShadowColor `string`::
11860bbfda8aSnia  This variable specifies the color of the shadow behind pull-down menus
11870bbfda8aSnia  and can only be specified inside of a
11880bbfda8aSnia  `Color` or `Monochrome` list.  The default is ``black''.
11890bbfda8aSnia
11900bbfda8aSniaMenuShadowDepth `pixels`::
11910bbfda8aSnia  This variable specifies the depth of the shadow ctwm uses for
11920bbfda8aSnia  3D menus, when UseThreeDMenus is selected.
11930bbfda8aSnia
11940bbfda8aSniaMenuTitleBackground `string`::
11950bbfda8aSnia  This variable specifies the background color for `f.title` entries in
11960bbfda8aSnia  menus, and
11970bbfda8aSnia  can only be specified inside of a
11980bbfda8aSnia  `Color` or `Monochrome` list.  The default is ``white''.
11990bbfda8aSnia
12000bbfda8aSniaMenuTitleForeground `string`::
12010bbfda8aSnia  This variable specifies the foreground color for `f.title` entries in
12020bbfda8aSnia  menus and
12030bbfda8aSnia  can only be specified inside of a
12040bbfda8aSnia  `Color` or `Monochrome` list.  The default is ``black''.
12050bbfda8aSnia
12060bbfda8aSniaMonochrome { `colors` }::
12070bbfda8aSnia  This variable specifies a list of color assignments that should be made if
12080bbfda8aSnia  the screen has a depth of 1.  See the description of `Color`.
12090bbfda8aSnia
12100bbfda8aSniaMoveDelta `pixels`::
12110bbfda8aSnia  This variable specifies the number of pixels the pointer
12120bbfda8aSnia  must move before the `f.move` function starts working.  Also
12130bbfda8aSnia  see the `f.deltastop` function.  The default is zero pixels.
12140bbfda8aSnia
12150bbfda8aSniaMovePackResistance `pixels`::
12160bbfda8aSnia  This variable specifies the number of pixels of the movepack and movepush
12170bbfda8aSnia  resistance. See `f.movepack` and `f.movepush`.
12180bbfda8aSnia
12190bbfda8aSniaMoveOffResistance `pixels`::
12200bbfda8aSnia  This variable specifies the number of pixels of the moveoff resistance.
12210bbfda8aSnia  If `pixels` is positive, `DontMoveOff` will only prevent
12220bbfda8aSnia  you from going off the edge if you're within n pixels off the edge. If you
12230bbfda8aSnia  go further, `DontMoveOff` gives up and lets you go as far as you wish.
12240bbfda8aSnia  `f.forcemove` still allows you to totally ignore `DontMoveOff`.
12250bbfda8aSnia  A negative value puts you back into ``never moveoff'' mode (it's the default).
12260bbfda8aSnia
12270bbfda8aSniaMWMIgnore::
12280bbfda8aSnia  Sets Motif window manager hints ctwm will ignore.  The following
12290bbfda8aSnia  example shows all the valid options:
12300bbfda8aSnia+
12310bbfda8aSnia------
12320bbfda8aSniaMWMIgnore
12330bbfda8aSnia{
12340bbfda8aSnia    # en/disable window borders
12350bbfda8aSnia    "DECOR_BORDER"
12360bbfda8aSnia
12370bbfda8aSnia    # en/disable titlebars
12380bbfda8aSnia    "DECOR_TITLE"
12390bbfda8aSnia}
12400bbfda8aSnia------
12410bbfda8aSnia+
12420bbfda8aSniaFirst appeared in 4.0.0.
12430bbfda8aSnia
12440bbfda8aSniaNoBackingStore::
12450bbfda8aSnia  This variable indicates that ctwm's menus should not request backing
12460bbfda8aSnia  store to minimize repainting of menus.  This is typically used with
12470bbfda8aSnia  servers that can repaint faster than they can handle backing store.
12480bbfda8aSnia  See also `BackingStore`.  As of 4.0.0 this is the default.
12490bbfda8aSnia
12500bbfda8aSniaNoBorder { `win-list` }::
12510bbfda8aSnia  These windows won't have borders. If you want no borders on all windows,
12520bbfda8aSnia  use the BorderWidth keyword.
12530bbfda8aSnia
12540bbfda8aSniaNoCaseSensitive::
12550bbfda8aSnia  This variable indicates that case should be ignored when sorting icon names
12560bbfda8aSnia  in an icon manager.  This option is typically used with applications that
12570bbfda8aSnia  capitalize the first letter of their icon name.
12580bbfda8aSnia
12590bbfda8aSniaNoDecorateTransients::
12600bbfda8aSnia  Specify that transient windows (i.e., windows with a `WM_TRANSIENT_FOR`
12610bbfda8aSnia  property set) should be ignored (not given decorations) by ctwm.  See
12620bbfda8aSnia  also `DecorateTransients`.  Added in 4.0.0; in previous versions
12630bbfda8aSnia  this was the default.
12640bbfda8aSnia
12650bbfda8aSniaNoDefaults::
12660bbfda8aSnia  This variable indicates that ctwm should not supply the default
12670bbfda8aSnia  titlebuttons and bindings.  This option should only be used if the startup
12680bbfda8aSnia  file contains a completely new set of bindings and definitions.
12690bbfda8aSnia
12700bbfda8aSniaNoGrabServer::
12710bbfda8aSnia  This variable indicates that ctwm should not grab the server
12720bbfda8aSnia  when popping up menus and moving opaque windows.  As of 4.0.0 this
12730bbfda8aSnia  is the default.
12740bbfda8aSnia
12750bbfda8aSniaNoHighlight [{ `win-list` }]::
12760bbfda8aSnia  This variable indicates that borders should not be highlighted to track the
12770bbfda8aSnia  location of the pointer.  If the optional `win-list` is given, highlighting
12780bbfda8aSnia  will only be disabled for those windows.
12790bbfda8aSnia  When the border is highlighted, it will
12800bbfda8aSnia  be drawn in the current `BorderColor`.  When the border is not
12810bbfda8aSnia  highlighted, it will be stippled with an gray pattern using the
12820bbfda8aSnia  current `BorderTileForeground` and `BorderTileBackground` colors.
12830bbfda8aSnia
12840bbfda8aSniaNoIconTitle [{ `win-list` }]::
12850bbfda8aSnia  This variable indicates that icons should not display the icon name
12860bbfda8aSnia  of the client.  If the
12870bbfda8aSnia  optional `win-list` is given, only those clients will not have
12880bbfda8aSnia  icon titles.
12890bbfda8aSnia
12900bbfda8aSniaNoIconManagerFocus::
12910bbfda8aSnia  This variable indicates that ctwm will not set the focus on the corresponding
12920bbfda8aSnia  window when the pointer is in an IconManager.
12930bbfda8aSnia
12940bbfda8aSniaNoIconManagers::
12950bbfda8aSnia  This variable indicates that no icon manager should be created.
12960bbfda8aSnia
12970bbfda8aSniaNoImagesInWorkSpaceManager::
12980bbfda8aSnia  This variable turns off displaying of background images in the WorkSpaceMap.
12990bbfda8aSnia  Instead only the colors defined in `WorkSpaces` will be used as background
13000bbfda8aSnia  in the WorkSpaceMap.
13010bbfda8aSnia
13020bbfda8aSniaNoMenuShadows::
13030bbfda8aSnia  This variable indicates that menus should not have drop shadows drawn behind
13040bbfda8aSnia  them.  This is typically used with slower servers since it speeds up menu
13050bbfda8aSnia  drawing at the expense of making the menu slightly harder to read.
13060bbfda8aSnia
13070bbfda8aSniaNoOpaqueMove [{ `window-list` }]::
13080bbfda8aSnia  The counterpart of `OpaqueMove`. See `OpaqueMove`.
13090bbfda8aSnia
13100bbfda8aSniaNoOpaqueResize [{ `window-list` }]::
13110bbfda8aSnia  The counterpart of `OpaqueResize`. See `OpaqueResize`.
13120bbfda8aSnia
13130bbfda8aSniaNoRaiseOnDeiconify::
13140bbfda8aSnia  This variable indicates that windows that are deiconified should not be
13150bbfda8aSnia  raised.
13160bbfda8aSnia
13170bbfda8aSniaNoRaiseOnMove::
13180bbfda8aSnia  This variable indicates that windows should not be raised when moved.  This
13190bbfda8aSnia  is typically used to allow windows to slide underneath each other.
13200bbfda8aSnia
13210bbfda8aSniaNoRaiseOnResize::
13220bbfda8aSnia  This variable indicates that windows should not be raised when resized.  This
13230bbfda8aSnia  is typically used to allow windows to be resized underneath each other.
13240bbfda8aSnia
13250bbfda8aSniaNoRaiseOnWarp::
13260bbfda8aSnia  This variable indicates that windows should not be raised when the pointer
13270bbfda8aSnia  is warped into them with the `f.warpto` function.  If this option is set,
13280bbfda8aSnia  warping to an occluded window may result in the pointer ending up in the
13290bbfda8aSnia  occluding window instead the desired window (which causes unexpected behavior
13300bbfda8aSnia  with `f.warpring`).
13310bbfda8aSnia
13320bbfda8aSniaNoRestartPreviousState::
13330bbfda8aSnia  Don't attempt to regenerate the state the screen was in before the
13340bbfda8aSnia  previous window manager was shut down.  See `RestartPreviousState` for
13350bbfda8aSnia  details.  Added in 4.0.0; in previous versions this was the default.
13360bbfda8aSnia
13370bbfda8aSniaNoSaveUnders::
13380bbfda8aSnia  This variable indicates that menus should not request save-unders to minimize
13390bbfda8aSnia  window repainting following menu selection.  It is typically used with displays
13400bbfda8aSnia  that can repaint faster than they can handle save-unders.
13410bbfda8aSnia
13420bbfda8aSniaNoShowOccupyAll::
13430bbfda8aSnia  This variable specifies that OccupyAll windows won't be displayed in the
13440bbfda8aSnia  WorkSpaceMap window.
13450bbfda8aSnia
13460bbfda8aSniaNoSortIconManager::
13470bbfda8aSnia  Specifies that entries in the icon manager should be appended in the
13480bbfda8aSnia  order they show up.  See also `SortIconManager`.  Added in 4.0.0; in
13490bbfda8aSnia  previous versions this was the default.
13500bbfda8aSnia
13510bbfda8aSniaNoStackMode [{ `win-list` }]::
13520bbfda8aSnia  This variable indicates that client window requests to change stacking order
13530bbfda8aSnia  should be ignored.  If the optional `win-list` is given, only requests on
13540bbfda8aSnia  those windows will be ignored.  This is typically used to prevent applications
13550bbfda8aSnia  from relentlessly popping themselves to the front of the window stack.
13560bbfda8aSnia
13570bbfda8aSniaNoTitle [{ `win-list` }]::
13580bbfda8aSnia  This variable indicates that windows should not have titlebars.  If the
13590bbfda8aSnia  optional `win-list` is given, only those windows will not have titlebars.
13600bbfda8aSnia  `MakeTitle` may be used with this option to force titlebars to be put
13610bbfda8aSnia  on specific windows.
13620bbfda8aSnia
13630bbfda8aSniaNoTitleFocus::
13640bbfda8aSnia  This variable indicates that ctwm should not set keyboard input focus to
13650bbfda8aSnia  each window as it is entered.  Normally, ctwm sets the focus
13660bbfda8aSnia  so that focus and key events from the titlebar and
13670bbfda8aSnia  icon managers are delivered to the application.  If the pointer is moved
13680bbfda8aSnia  quickly and ctwm is slow to respond, input can be directed to the old
13690bbfda8aSnia  window instead of the new.  This option is typically
13700bbfda8aSnia  used to prevent this ``input lag'' and to
13710bbfda8aSnia  work around bugs in older applications that have problems with focus events.
13720bbfda8aSnia
13730bbfda8aSniaNoTitleHighlight [{ `win-list` }]::
13740bbfda8aSnia  This variable indicates that the highlight area of the titlebar, which is
13750bbfda8aSnia  used to indicate the window that currently has the input focus, should not
13760bbfda8aSnia  be displayed.  If the optional `win-list` is given, only those windows
13770bbfda8aSnia  will not have highlight areas.  This and the `SqueezeTitle` options
13780bbfda8aSnia  can be set to substantially reduce the amount of screen space required by
13790bbfda8aSnia  titlebars.
13800bbfda8aSnia
13810bbfda8aSniaNoWarpToMenuTitle::
13820bbfda8aSnia  This variable indicates that the cursor should not be warped to the title
13830bbfda8aSnia  of a menu which does not have room to drop down below the current cursor
13840bbfda8aSnia  position.
13850bbfda8aSnia
13860bbfda8aSniaOccupy { `occupy-list` }::
13870bbfda8aSnia  This variable specifies which windows occupy which workspaces at startup.
13880bbfda8aSnia+
13890bbfda8aSnia[normal]
13900bbfda8aSnia  `occupy-list` consists of entries of the form :
13910bbfda8aSnia+
13920bbfda8aSnia------
13930bbfda8aSnia        [Window]   win-name  { wspc1 wspc2 ... }
13940bbfda8aSniaor      Workspace  wspc-name { win1  win2 ...  }
13950bbfda8aSnia------
13960bbfda8aSnia+
13970bbfda8aSnia[normal]
13980bbfda8aSnia  Example :
13990bbfda8aSnia+
14000bbfda8aSnia------
14010bbfda8aSniaOccupy
14020bbfda8aSnia{
14030bbfda8aSnia               "xload"   {"all"}
14040bbfda8aSnia    Window     "xterm"   {"here" "there" "elsewhere"}
14050bbfda8aSnia               "xv"      {"images"}
14060bbfda8aSnia    WorkSpace  "images"  {"xloadimage"}
14070bbfda8aSnia}
14080bbfda8aSnia------
14090bbfda8aSnia+
14100bbfda8aSnia[normal]
14110bbfda8aSnia  If `all` is given for the workspace name (in either form), the named
14120bbfda8aSnia  window[s] will be put in all workspaces as if they were listed in
14130bbfda8aSnia  `OccupyAll`.  If the workspace name begins with `ws:`, the workspace
14140bbfda8aSnia  name will be looked up without the prefix first.  That is, if the given
14150bbfda8aSnia  name is `ws:abc`, it will first look for a workspace called `abc`, and
14160bbfda8aSnia  assign to that if found.  Else it will fall back to looking for the
14170bbfda8aSnia  name `ws:abc`.
14180bbfda8aSnia+
14190bbfda8aSnia[normal]
14200bbfda8aSnia  Note : The Occupy declaration should come after the WorkSpaces declaration.
14210bbfda8aSnia
14220bbfda8aSniaOccupyAll { `window-list` }::
14230bbfda8aSnia+
14240bbfda8aSnia[normal]
14250bbfda8aSnia  This variable specifies a list of windows that will occupy all workspaces at startup.
14260bbfda8aSnia+
14270bbfda8aSnia[normal]
14280bbfda8aSnia  `window-list` is a list of window names.
14290bbfda8aSnia+
14300bbfda8aSnia[normal]
14310bbfda8aSnia  Example :
14320bbfda8aSnia+
14330bbfda8aSnia------
14340bbfda8aSniaOccupyAll
14350bbfda8aSnia{
14360bbfda8aSnia    "xload"
14370bbfda8aSnia    "xbiff"
14380bbfda8aSnia    "xconsole"
14390bbfda8aSnia}
14400bbfda8aSnia------
14410bbfda8aSnia+
14420bbfda8aSnia[normal]
14430bbfda8aSnia  Note : The OccupyAll declaration should come after the WorkSpaces declaration.
14440bbfda8aSnia
14450bbfda8aSniaOnTopPriority [Icons] `priority` [ { `win-list` } ]::
14460bbfda8aSnia  ctwm allows you to put windows in several overlapping priority planes
14470bbfda8aSnia  going from -8 to +8, which makes it possible to have windows that stay on
14480bbfda8aSnia  top or that are kept in the background. If `win-list` is present, it
14490bbfda8aSnia  specifies which windows should be put in the `priority` plane.
14500bbfda8aSnia  Else the `priority` sets the default value to use (the default default
14510bbfda8aSnia  is 0). The `Icons` parameter, if present, indicates that the preference
14520bbfda8aSnia  described applies to icons rather than to windows.
14530bbfda8aSnia+
14540bbfda8aSnia[normal]
14550bbfda8aSnia  Example:
14560bbfda8aSnia+
14570bbfda8aSnia------
14580bbfda8aSniaOnTopPriority Icons -1  # place icons a little in the background
14590bbfda8aSniaOnTopPriority Icons 1   # place mail icons on top of normal windows
14600bbfda8aSnia{
14610bbfda8aSnia    "Exmh"
14620bbfda8aSnia    "xbiff"
14630bbfda8aSnia}
14640bbfda8aSnia
14650bbfda8aSniaOnTopPriority 8         # keep these always on top of other windows
14660bbfda8aSnia{
14670bbfda8aSnia    "Emacs Icon Manager" "WorkSpaceManager"
14680bbfda8aSnia    "TWM Icon Manager" "XDaliClock"
14690bbfda8aSnia}
14700bbfda8aSnia------
14710bbfda8aSnia+
14720bbfda8aSniaFirst appeared in 4.0.0.
14730bbfda8aSnia
14740bbfda8aSniaOpaqueMove [{ `window-list` }]::
14750bbfda8aSnia  This variable indicates that the `f.move` function should actually move
14760bbfda8aSnia  the window instead of just an outline so that the user can immediately see
14770bbfda8aSnia  what the window will look like in the new position.  This option is typically
14780bbfda8aSnia  used on fast displays (particularly if `NoGrabServer` is set). The optional
14790bbfda8aSnia  window list parameter indicates that only windows in this list should actually
14800bbfda8aSnia  be moved in opaque mode. The `NoOpaqueMove` counterpart is also available.
14810bbfda8aSnia+
14820bbfda8aSniaAs of 4.0.0 this is enabled by default.
14830bbfda8aSnia
14840bbfda8aSniaOpaqueMoveThreshold `threshold`::
14850bbfda8aSnia  The integer parameter is a percentage and indicates that only windows
14860bbfda8aSnia  (elligible for opaque moving) with a surface smaller than this
14870bbfda8aSnia  percentage of the surface of the screen should actually be moved in
14880bbfda8aSnia  opaque mode.  The default is 200.  Since 4.0.0, values >= 200 are
14890bbfda8aSnia  treated as infinity, causing windows to always `OpaqueMove` if
14900bbfda8aSnia  eligible.
14910bbfda8aSnia
14920bbfda8aSniaOpaqueResize [{ `window-list` }]::
14930bbfda8aSnia  The opaque version of resize. Extremely resource intensive, but
14940bbfda8aSnia  beautiful with fast server/client/network. See `OpaqueMove`. The
14950bbfda8aSnia  `NoOpaqueResize` counterpart is also available.  As of 4.0.0 this is
14960bbfda8aSnia  enabled by default.
14970bbfda8aSnia
14980bbfda8aSniaOpaqueResizeThreshold `threshold`::
14990bbfda8aSnia  The resize version of `OpaqueMoveThreshold`.  The default is 1000.
15000bbfda8aSnia  Since 3.8.1, values >= 1000 are treated as infinity, causing windows to
15010bbfda8aSnia  always `OpaqueResize` if eligible.
15020bbfda8aSnia
15030bbfda8aSniaOpenWindowTimeout `seconds`::
15040bbfda8aSnia  seconds is an integer representing a number of second. When a window
15050bbfda8aSnia  tries to open on an unattended display, it will be automatically
15060bbfda8aSnia  mapped after this number of seconds.
15070bbfda8aSnia
15080bbfda8aSniaPackNewWindows::
15090bbfda8aSnia  Use f.movepack algorithm instead of f.move when opening a new window.
15100bbfda8aSnia
15110bbfda8aSniaPixmaps { `pixmaps` }::
15120bbfda8aSnia  This variable specifies a list of pixmaps that define the appearance of various
15130bbfda8aSnia  images.  Each entry is a keyword indicating the pixmap to set, followed by a
15140bbfda8aSnia  string giving the name of the bitmap file.  The following pixmaps
15150bbfda8aSnia  may be specified:
15160bbfda8aSnia+
15170bbfda8aSnia------
15180bbfda8aSniaPixmaps
15190bbfda8aSnia{
15200bbfda8aSnia        TitleHighlight  "gray1"
15210bbfda8aSnia#       TitleHighlight  "supman%.xbm"
15220bbfda8aSnia}
15230bbfda8aSnia------
15240bbfda8aSnia+
15250bbfda8aSnia[normal]
15260bbfda8aSnia  The default for `TitleHighlight` is to use an even stipple pattern.
15270bbfda8aSnia
15280bbfda8aSniaPixmapDirectory `path`::
15290bbfda8aSnia  This variable specifies the path where ctwm looks to find non-X11 bitmap
15300bbfda8aSnia  files.  Whenever you want to use a image file that is not an X11 bitmap,
15310bbfda8aSnia  specify : +xpm:filename+ for xpm files, +xwd:filename+ for xwd files,
15320bbfda8aSnia  +jpeg:file+ for jpeg file,
15330bbfda8aSnia  or +|command+ for an on the fly generated xwd file. Use the % character
15340bbfda8aSnia  to specify an animation. `path` can be a colon separated list of directories.
15350bbfda8aSnia  Example :
15360bbfda8aSnia+
15370bbfda8aSnia------
15380bbfda8aSniaPixmapDirectory  "/usr/lib/X11/twm"
15390bbfda8aSniaIcons
15400bbfda8aSnia{
15410bbfda8aSnia    "Axe"    "xpm:edit.xpm"
15420bbfda8aSnia    "xterm"  "xpm:ball%.xpm"
15430bbfda8aSnia}
15440bbfda8aSnia------
15450bbfda8aSnia+
15460bbfda8aSnia[normal]
15470bbfda8aSnia  N.B This is only valid if your version of ctwm has been compiled with the
15480bbfda8aSnia  right extension (XPM or JPEG).
15490bbfda8aSnia
15500bbfda8aSniaPrioritySwitching [Icons] { `win-list` }::
15510bbfda8aSnia  Specifies that the windows in `win-list` can switch priority. This means
15520bbfda8aSnia  that they can be in plane `priority` or `-priority` depending on the
15530bbfda8aSnia  situation. For instance a window whose `priority` is 2 will be put into
15540bbfda8aSnia  plane 2 when raised and plane -2 when lowered, which means that it will usually
15550bbfda8aSnia  stay on top if you raise another window, but can still be lowered if its
15560bbfda8aSnia  priority is temporarily too high for your liking. If `Icons` is specified,
15570bbfda8aSnia  it means that the preference applies to icons rather than windows.  See
15580bbfda8aSnia  also the `f.priorityswitching` function for dynamically adding/removing
15590bbfda8aSnia  windows at runtime.
15600bbfda8aSnia+
15610bbfda8aSniaFirst appeared in 4.0.0.
15620bbfda8aSnia
15630bbfda8aSniaPriorityNotSwitching [Icons] { `win-list` }::
15640bbfda8aSnia  As above except that it declares that the default should be for windows to be
15650bbfda8aSnia  able to switch priority except for the windows in `win-list` which can't.
15660bbfda8aSnia+
15670bbfda8aSniaFirst appeared in 4.0.0.
15680bbfda8aSnia
15690bbfda8aSniaRaiseDelay `milliseconds`::
15700bbfda8aSnia  For windows that are to be automatically raised when the pointer enters
15710bbfda8aSnia  (see the `AutoRaise` variable and the `f.autoraise` function)
15720bbfda8aSnia  this variable specifies the length of time the pointer should rest in
15730bbfda8aSnia  the window before it is raised.  The default is 0 milliseconds.
15740bbfda8aSnia
15750bbfda8aSniaRaiseOnClick::
15760bbfda8aSnia  If present a window will be raised on top of others when clicked on, and the
15770bbfda8aSnia  ButtonPress event will be correctly forwarded to the client that owns this window
15780bbfda8aSnia  (if it asked to). See `RaiseOnClickButton`.
15790bbfda8aSnia
15800bbfda8aSniaRaiseOnClickButton `button_number`::
15810bbfda8aSnia  Where `button_number` is a valid button number (currently 1 to 11). Specify
15820bbfda8aSnia  the button to use for RaiseOnClick.
15830bbfda8aSnia
15840bbfda8aSniaRaiseWhenAutoUnSqueeze::
15850bbfda8aSnia  Windows are raised when auto-unsqueezed (See AutoSqueeze).
15860bbfda8aSnia
15870bbfda8aSniaRandomPlacement [ `string1` [ `string2` ]]::
15880bbfda8aSnia  This variable indicates that windows with no specified geometry should
15890bbfda8aSnia  be placed in a pseudo-random location instead of having the user drag
15900bbfda8aSnia  out an outline.  If no argument is given, it is interpreted as
15910bbfda8aSnia  `RandomPlacement "on"`.
15920bbfda8aSnia+
15930bbfda8aSnia`string1` may be ``on'', ``off'', ``all'' or ``unmapped'', and `string2`
15940bbfda8aSniais a displacement for the pseudo-randomly placed window compared to the
15950bbfda8aSniaprevious one.  The argument ``on'' or ``all'' are equivalent, and tell
15960bbfda8aSniactwm to do this for all such windows, ``off'', not to do this, and
15970bbfda8aSnia``unmapped'', only for unmapped windows, e.g. iconified or not visible in
15980bbfda8aSniathe current workspace.  If the second argument isn't given, the
15990bbfda8aSniadisplacement +30+30 (30 pixels right and down) is used.
16000bbfda8aSnia+
16010bbfda8aSniaAs of 4.0.0, ``on'' is the default if no `RandomPlacement` is
16020bbfda8aSniaspecified in the config.  Previously ``off'' was default.
16030bbfda8aSnia
16040bbfda8aSniaReallyMoveInWorkspaceManager::
16050bbfda8aSnia  This keyword tells ctwm to move the actual window when the user is
16060bbfda8aSnia  moving the small windows in the WorkSpaceMap window. If not present the
16070bbfda8aSnia  WorkSpaceMap can be used only to modify the occupation of a window.
16080bbfda8aSnia  Pressing the `shift` key while dragging a window in the workspace manager
16090bbfda8aSnia  temporarily toggles this option.
16100bbfda8aSnia
16110bbfda8aSniaResizeFont `string`::
16120bbfda8aSnia  This variable specifies the font to be used for in the dimensions window when
16130bbfda8aSnia  resizing windows.  The default is ``fixed''.
16140bbfda8aSnia
16150bbfda8aSniaRestartPreviousState::
16160bbfda8aSnia  This variable indicates that properties on client windows to attempt to
16170bbfda8aSnia  regenerate the state that the screen was in before the previous window
16180bbfda8aSnia  manager was shutdown.  This includes using the `WM_STATE` property to
16190bbfda8aSnia  tell which windows should be iconified and which should be left
16200bbfda8aSnia  visible, and the `WM_OCCUPATION` property to determine in which
16210bbfda8aSnia  workspaces a window should be visible.  As of 4.0.0 this is the
16220bbfda8aSnia  default.
16230bbfda8aSnia
16240bbfda8aSniaReverseCurrentWorkspace::
16250bbfda8aSnia  This variable tells ctwm to reverse the background and
16260bbfda8aSnia  foreground colors in the small windows in the workspace map for the current
16270bbfda8aSnia  workspace.
16280bbfda8aSnia
16290bbfda8aSniaRplaySoundHost `string`::
16300bbfda8aSnia  The host on which sounds should be played.  Only meaningful when ctwm
16310bbfda8aSnia  is built with `USE_SOUND`; will give a warning otherwise.  See the
16320bbfda8aSnia  SOUNDS section.  Added in 4.0.0; prior versions used the `SoundHost`
16330bbfda8aSnia  parameter instead.
16340bbfda8aSnia
16350bbfda8aSniaRplaySounds { `sounds-list` }::
16360bbfda8aSnia  Define what sounds to play on various events through rplayd.  It
16370bbfda8aSnia  contains entries of the form
16380bbfda8aSnia+
16390bbfda8aSnia----
16400bbfda8aSnia    "EventName"   "/file/to/play.wav"
16410bbfda8aSnia----
16420bbfda8aSnia+
16430bbfda8aSniaOnly meaningful when ctwm is built with `USE_SOUND`; it will give a
16440bbfda8aSniawarning otherwise.  See the SOUNDS section.  Note that if this section is
16450bbfda8aSniagiven in the ctwmrc, the `~/.ctwm-sounds` file will not be parsed.  First
16460bbfda8aSniaappeared in 4.0.0.
16470bbfda8aSnia
16480bbfda8aSniaSaveColor { `colors-list` }::
16490bbfda8aSnia  This variable indicates a list of color assignments to be stored as pixel
16500bbfda8aSnia  values in the root window property _MIT_PRIORITY_COLORS.  Clients may elect
16510bbfda8aSnia  to preserve these values when installing their own colormap.  Note that
16520bbfda8aSnia  use of this mechanism is a way for an application to avoid the ``technicolor''
16530bbfda8aSnia  problem, whereby useful screen objects such as window borders and titlebars
16540bbfda8aSnia  disappear when a program's custom colors are installed by the window
16550bbfda8aSnia  manager.
16560bbfda8aSnia  For example:
16570bbfda8aSnia+
16580bbfda8aSnia------
16590bbfda8aSniaSaveColor
16600bbfda8aSnia{
16610bbfda8aSnia    BorderColor
16620bbfda8aSnia    TitleBackground
16630bbfda8aSnia    TitleForeground
16640bbfda8aSnia    "red"
16650bbfda8aSnia    "green"
16660bbfda8aSnia    "blue"
16670bbfda8aSnia}
16680bbfda8aSnia------
16690bbfda8aSnia+
16700bbfda8aSnia[normal]
16710bbfda8aSnia  This would place on the root window 3 pixel values for borders and titlebars,
16720bbfda8aSnia  as well as the three color strings, all taken from the default colormap.
16730bbfda8aSnia
16740bbfda8aSniaShrinkIconTitles::
16750bbfda8aSnia  A la Motif shrinking of icon titles, and expansion when mouse is inside icon.
16760bbfda8aSnia  The old incorrect spelling `SchrinkIconTitles` is also still accepted.
16770bbfda8aSnia
16780bbfda8aSniaShortAllWindowsMenus::
16790bbfda8aSnia  Don't show WorkSpaceManager and IconManagers in the TwmWindows and TwmAllWindows menus.
16800bbfda8aSnia
16810bbfda8aSniaShowIconManager::
16820bbfda8aSnia  This variable indicates that the icon manager window should be displayed when
16830bbfda8aSnia  ctwm is started.  It can always be brought up using the
16840bbfda8aSnia  `f.showiconmgr` function.
16850bbfda8aSnia
16860bbfda8aSniaShowWorkSpaceManager::
16870bbfda8aSnia  This variable specifies that the WorkSpaceManager should be visible.
16880bbfda8aSnia
16890bbfda8aSniaSloppyFocus::
16900bbfda8aSnia  Use sloppy focus.
16910bbfda8aSnia
16920bbfda8aSniaSaveWorkspaceFocus::
16930bbfda8aSnia  When changing to a workspace, restore the focus to the last window
16940bbfda8aSnia  that had the focus when you left the workspace by warping the mouse
16950bbfda8aSnia  into it. This essentially saves the focus window with the workspace
16960bbfda8aSnia  and restores it automatically when you switch. In many cases, it
16970bbfda8aSnia  avoids having to reach for the mouse after moving to a new workspace.
16980bbfda8aSnia
16990bbfda8aSniaSortIconManager::
17000bbfda8aSnia  This variable indicates that entries in the icon manager should be
17010bbfda8aSnia  sorted alphabetically rather than by simply appending new windows to
17020bbfda8aSnia  the end.  As of 4.0.0 this is the default.
17030bbfda8aSnia
17040bbfda8aSniaSoundHost `string`::
17050bbfda8aSnia  Alias for `RplaySoundHost`, used in versions prior to 4.0.0.  Unless
17060bbfda8aSnia  you need backward compatibility with them, use `RplaySoundHost`
17070bbfda8aSnia  instead.  This alias will be removed in a future version.
17080bbfda8aSnia
17090bbfda8aSniaSqueezeTitle [{ `squeeze-list` }]::
17100bbfda8aSnia  This variable indicates that ctwm should attempt to use the SHAPE
17110bbfda8aSnia  extension to make titlebars occupy only as much screen space as they need,
17120bbfda8aSnia  rather than extending all the way across the top of the window.
17130bbfda8aSnia  The optional `squeeze-list`
17140bbfda8aSnia  may be used to control the location of the squeezed titlebar along the
17150bbfda8aSnia  top of the window.  It contains entries of the form:
17160bbfda8aSnia+
17170bbfda8aSnia------
17180bbfda8aSnia    "name"  justification num denom
17190bbfda8aSnia------
17200bbfda8aSnia+
17210bbfda8aSnia[normal]
17220bbfda8aSnia  where `name` is a window name, `justification` is either `left`,
17230bbfda8aSnia  `center`, or `right`, and `num` and `denom`
17240bbfda8aSnia  are numbers specifying a ratio giving the relative position about which
17250bbfda8aSnia  the titlebar is justified.  The ratio is measured from left to right if
17260bbfda8aSnia  the numerator is positive, and right to left if negative.  A denominator
17270bbfda8aSnia  of 0 indicates that the numerator should be interpreted as pixels.
17280bbfda8aSnia  For compatibility, the pixel-position 0/0 is the relative  middle  of
17290bbfda8aSnia  the window (1/2) for `center` and the relative right side of the
17300bbfda8aSnia  window (2/2) for `right`, but this use is not recommended.
17310bbfda8aSnia  Use "right 2 2" for relative positioning, or "right -1 0" for absolute;
17320bbfda8aSnia  this makes a difference when  dragging  the  titlebar (see
17330bbfda8aSnia  `f.movetitlebar`).
17340bbfda8aSnia  For example:
17350bbfda8aSnia+
17360bbfda8aSnia------
17370bbfda8aSniaSqueezeTitle
17380bbfda8aSnia{
17390bbfda8aSnia    "XTerm"   left    0  0
17400bbfda8aSnia    "xterm1"  left    1  3
17410bbfda8aSnia    "xterm2"  left    2  3
17420bbfda8aSnia    "oclock"  center  1  2
17430bbfda8aSnia    "emacs"   right   2  2
17440bbfda8aSnia}
17450bbfda8aSnia------
17460bbfda8aSnia+
17470bbfda8aSnia[normal]
17480bbfda8aSnia  The default positioning is left-justified, absolute at 0 pixels.
17490bbfda8aSnia  The `DontSqueezeTitle` list can be used to turn off squeezing on
17500bbfda8aSnia  certain titles.
17510bbfda8aSnia
17520bbfda8aSniaStartIconified { `win-list` }::
17530bbfda8aSnia  This variable indicates that client windows should initially be left as
17540bbfda8aSnia  icons until explicitly deiconified by the user.  If the optional `win-list`
17550bbfda8aSnia  is given, only those windows will be started iconic.  This is useful for
17560bbfda8aSnia  programs that do not support an `-iconic` command line option or
17570bbfda8aSnia  resource.
17580bbfda8aSnia
17590bbfda8aSniaStartInButtonState::
17600bbfda8aSnia  Start the WorkSpaceManage in button form.  See also `StartInMapState`.
17610bbfda8aSnia  Added in 4.0.0.
17620bbfda8aSnia
17630bbfda8aSniaStartInMapState::
17640bbfda8aSnia  This variable specifies that the WorkSpaceManager should be started
17650bbfda8aSnia  in its map form when created.  See also `StartInButtonState`.  As of
17660bbfda8aSnia  4.0.0 this is the default.
17670bbfda8aSnia
17680bbfda8aSniaStartSqueezed { `win-list` }::
17690bbfda8aSnia  These windows will first show up squeezed (see f.squeeze).
17700bbfda8aSnia
17710bbfda8aSniaStayUpMenus::
17720bbfda8aSnia  Tells ctwm to use stayup menus. These menus
17730bbfda8aSnia  will stay on the screen when ButtonUp, if either the menu has not
17740bbfda8aSnia  yet been entered by the pointer, or the current item is a f.title.
17750bbfda8aSnia
17760bbfda8aSniaStrictWinNameEncoding::
17770bbfda8aSnia  Whether to be strict about what encodings we accept for window naming
17780bbfda8aSnia  properties.  Added in 4.0.2.
17790bbfda8aSnia+
17800bbfda8aSnia[normal]
17810bbfda8aSnia  This is used when translating properties relating to naming windows,
17820bbfda8aSnia  like `WM_NAME`.  For example, according to the ICCCM, `WM_NAME` can
17830bbfda8aSnia  only be a `STRING` or `COMPOUND_TEXT` type.  However, sloppy programs
17840bbfda8aSnia  like Chrome may set it to a `UTF8_STRING` instead.  If this var is set,
17850bbfda8aSnia  ctwm will reject that, as was standard behavior prior to 4.0.2.
17860bbfda8aSnia
17870bbfda8aSniaSunkFocusWindowTitle::
17880bbfda8aSnia  This variable specifies that the title of the focus window (if exists)
17890bbfda8aSnia  should be sunken instead of raised. Only valid if UseThreeDTitles is set.
17900bbfda8aSnia
17910bbfda8aSniaThreeDBorderWidth  `pixels`::
17920bbfda8aSnia  The width of the 3D border in pixels, if any.
17930bbfda8aSnia
17940bbfda8aSniaTitleBackground `string` [{ `win-list` }]::
17950bbfda8aSnia  This variable specifies the background color used in titlebars,
17960bbfda8aSnia  and may only be specified inside of a
17970bbfda8aSnia  `Color` or `Monochrome` list.
17980bbfda8aSnia  The optional `win-list` is a list of window names and colors so that
17990bbfda8aSnia  per-window colors may be specified.
18000bbfda8aSnia  The default is ``white''.
18010bbfda8aSnia
18020bbfda8aSniaTitleButtonBorderWidth `pixels`::
18030bbfda8aSnia  This variable specifies the width in pixels of the border surrounding
18040bbfda8aSnia  titlebuttons.  This is typically set to 0 to allow titlebuttons to take up as
18050bbfda8aSnia  much space as possible and to not have a border.
18060bbfda8aSnia  The default is 1 if `UseThreeDTitles` is not set, 0 if it is set.
18070bbfda8aSnia
18080bbfda8aSniaTitleButtonShadowDepth `pixels`::
18090bbfda8aSnia  This variable specifies the depth of the shadow ctwm uses for
18100bbfda8aSnia  3D title buttons, when UseThreeDTitles is selected.
18110bbfda8aSnia
18120bbfda8aSniaTitleFont `string`::
18130bbfda8aSnia  This variable specifies the font used for displaying window names in
18140bbfda8aSnia  titlebars.  The default is ``variable''.
18150bbfda8aSnia
18160bbfda8aSniaTitleForeground `string` [{ `win-list` }]::
18170bbfda8aSnia  This variable specifies the foreground color used in titlebars, and
18180bbfda8aSnia  may only be specified inside of a
18190bbfda8aSnia  `Color` or `Monochrome` list.
18200bbfda8aSnia  The optional `win-list` is a list of window names and colors so that
18210bbfda8aSnia  per-window colors may be specified.
18220bbfda8aSnia  The default is ``black''.
18230bbfda8aSnia
18240bbfda8aSniaTitleJustification `string`::
18250bbfda8aSnia  This keyword needs a string value. The acceptable values are : ``left'',
18260bbfda8aSnia  ``center'' and ``right''. The window titles will be justified according to
18270bbfda8aSnia  this in the title window.
18280bbfda8aSnia
18290bbfda8aSniaTitlePadding `pixels`::
18300bbfda8aSnia  This variable specifies the distance between the various buttons, text, and
18310bbfda8aSnia  highlight areas in the titlebar.  The default is 8 pixels if `UseThreeDTitles`
18320bbfda8aSnia  is not set, 0 if it is set.
18330bbfda8aSnia
18340bbfda8aSniaTitleShadowDepth `pixels`::
18350bbfda8aSnia  This variable specifies the depth of the shadow ctwm uses for
18360bbfda8aSnia  3D titles, when UseThreeDTitles is selected.
18370bbfda8aSnia
18380bbfda8aSniaTransientHasOccupation::
18390bbfda8aSnia  This variable specifies that transient-for and non-group leader windows
18400bbfda8aSnia  can have their own occupation potentially different from their leader
18410bbfda8aSnia  window. The default case is that these windows follow their leader, use
18420bbfda8aSnia  this keyword if the default action doesn't please you.
18430bbfda8aSnia
18440bbfda8aSniaTransientOnTop `percentage`::
18450bbfda8aSnia  The parameter (required) is a percentage and tells ctwm to put transient
18460bbfda8aSnia  (and non-group leader) windows always on top of their leader if and only
18470bbfda8aSnia  if their surface is smaller than this fraction of the surface of their
18480bbfda8aSnia  leader. The surface of a window is its width times its weight.  The
18490bbfda8aSnia  default is 30%.  Added in 3.0.
18500bbfda8aSnia
18510bbfda8aSniaUnknownIcon `string`::
18520bbfda8aSnia  This variable specifies the filename of a bitmap file to be
18530bbfda8aSnia  used as the default icon.  This bitmap will be used as the icon of all
18540bbfda8aSnia  clients which do not provide an icon bitmap and are not listed
18550bbfda8aSnia  in the `Icons` list.
18560bbfda8aSnia
18570bbfda8aSniaUnmapByMovingFarAway { `win-list` }::
18580bbfda8aSnia  These windows will be moved out of the screen instead of being unmapped
18590bbfda8aSnia  when they become invisible due to a change workspace. This has been
18600bbfda8aSnia  added because some ill-behaved clients (Frame5) don't like to be unmapped.
18610bbfda8aSnia
18620bbfda8aSniaUsePPosition `string`::
18630bbfda8aSnia  This variable specifies whether or not ctwm should honor
18640bbfda8aSnia  program-requested locations (given by the `PPosition` flag in the
18650bbfda8aSnia  `WM_NORMAL_HINTS` property) in the absence of a user-specified position.
18660bbfda8aSnia  The argument `string` may have one of three values:  `"off"`
18670bbfda8aSnia  (the default) indicating that ctwm should ignore the program-supplied
18680bbfda8aSnia  position, `"on"` indicating that the position should be used, and
18690bbfda8aSnia  `"non-zero"` indicating that the position should used if it is other
18700bbfda8aSnia  than (0,0).  The latter option is for working around a bug in older toolkits.
18710bbfda8aSnia
18720bbfda8aSniaUseSunkTitlePixmap::
18730bbfda8aSnia  This makes it so the shadows are inversed for title pixmaps when focus is lost.
18740bbfda8aSnia  This is similar to having the SunkFocusWindowTitle, but it makes your xbm or
18750bbfda8aSnia  3d XPM (if any) sink instead of just the whole bar.
18760bbfda8aSnia
18770bbfda8aSniaUseThreeDBorders::
18780bbfda8aSnia  Tells ctwm to use 3D-looking window borders. The width ot the 3D borders
18790bbfda8aSnia  is `ThreeDBorderWidth`. The color of the 3D border is `BorderTileBackground`,
18800bbfda8aSnia  and if NoHighlight is not selected, the border of the Focus window is
18810bbfda8aSnia  `BorderColor`.
18820bbfda8aSnia  Setting this automatically unsets `ClientBorderWidth`.
18830bbfda8aSnia
18840bbfda8aSniaUseThreeDIconManagers::
18850bbfda8aSnia  Tells ctwm to use 3D-looking IconManagers if any.
18860bbfda8aSnia
18870bbfda8aSniaUseThreeDMenus::
18880bbfda8aSnia  Tells ctwm to use 3D-looking menus.
18890bbfda8aSnia
18900bbfda8aSniaUseThreeDTitles::
18910bbfda8aSnia  Tells ctwm to use 3D-looking windows titles. In which case the default
18920bbfda8aSnia  values of `TitleButtonBorderWidth`, `FramePadding`, `TitlePadding`
18930bbfda8aSnia  and `ButtonIndent` are set to 0.
18940bbfda8aSnia  There are plenty of built-in scalable pixmaps for buttons:
18950bbfda8aSnia  +:xpm:menu+,
18960bbfda8aSnia  +:xpm:dot+,
18970bbfda8aSnia  +:xpm:cross+,
18980bbfda8aSnia  +:xpm:bar+,
18990bbfda8aSnia  +:xpm:vbar+,
19000bbfda8aSnia  +:xpm:iconify+,
19010bbfda8aSnia  +:xpm:resize+,
19020bbfda8aSnia  +:xmp:sunkresize+, and
19030bbfda8aSnia  +:xpm:box+.
19040bbfda8aSnia  There are several built-in scalable
19050bbfda8aSnia  animations for buttons:
19060bbfda8aSnia  +%xpm:resize+,
19070bbfda8aSnia  +%xpm:menu-up+,
19080bbfda8aSnia  +%xpm:menu-down+,
19090bbfda8aSnia  +%xpm:resize-out-top+,
19100bbfda8aSnia  +%xpm:resize-in-top+,
19110bbfda8aSnia  +%xpm:resize-out-bot+,
19120bbfda8aSnia  +%xpm:resize-in-bot+,
19130bbfda8aSnia  +%xpm:maze-out+,
19140bbfda8aSnia  +%xpm:maze-in+,
19150bbfda8aSnia  +%xpm:zoom-out+,
19160bbfda8aSnia  +%xpm:zoom-in+, and
19170bbfda8aSnia  +%xpm:zoom-inout+.
19180bbfda8aSnia  Try them to see what they look like.
19190bbfda8aSnia
19200bbfda8aSniaUseThreeDWMap::
19210bbfda8aSnia  Tells ctwm to use 3D for the small windows in the workspace map.
19220bbfda8aSnia
19230bbfda8aSniaVirtualScreens { `geometries-list` }::
19240bbfda8aSnia+
19250bbfda8aSnia[normal]
19260bbfda8aSnia  This variable specifies a list of geometries for virtual screens. Virtual screens
19270bbfda8aSnia  are designed to be used when you have several physical screens bound together
19280bbfda8aSnia  with the Xinerama X extension.
19290bbfda8aSnia+
19300bbfda8aSnia[normal]
19310bbfda8aSnia  `geometries-list` is a list of valid geometry strings, that correspond to
19320bbfda8aSnia  your actual physical screens.
19330bbfda8aSnia+
19340bbfda8aSnia[normal]
19350bbfda8aSnia  Example :
19360bbfda8aSnia+
19370bbfda8aSnia------
19380bbfda8aSniaVirtualScreens
19390bbfda8aSnia{
19400bbfda8aSnia    "1280x1024+0+0"
19410bbfda8aSnia    "1600x1200+1280+0"
19420bbfda8aSnia}
19430bbfda8aSnia------
19440bbfda8aSnia+
19450bbfda8aSnia
19460bbfda8aSniaWarpCursor [{ `win-list` }]::
19470bbfda8aSnia  This variable indicates that the pointer should be warped into windows when
19480bbfda8aSnia  they are deiconified.  If the optional `win-list` is given, the pointer
19490bbfda8aSnia  will only be warped when those windows are deiconified.
19500bbfda8aSnia
19510bbfda8aSniaWarpOnDeIconify { `win-list` }::
19520bbfda8aSnia  When ctwm receives a request to map a window, it normally just deiconifies
19530bbfda8aSnia  it, but if the window is in `win-list`, it will additionally bring it
19540bbfda8aSnia  into the current workspace, if necessary. For example
19550bbfda8aSnia+
19560bbfda8aSnia------
19570bbfda8aSniaWarpOnDeIconify { "Emacs" }
19580bbfda8aSnia------
19590bbfda8aSnia+
19600bbfda8aSnia[normal]
19610bbfda8aSnia  will make sure emacs windows will always popup in the current workspace when
19620bbfda8aSnia  necessary (typically when the minibuffer or the *Help* frame is in another
19630bbfda8aSnia  workspace).
19640bbfda8aSnia+
19650bbfda8aSniaFirst appeared in 4.0.0.
19660bbfda8aSnia
19670bbfda8aSniaWarpRingOnScreen::
19680bbfda8aSnia  Tells ctwm that f.warpring warps pointer only to windows visible in
19690bbfda8aSnia  the current workspace.
19700bbfda8aSnia
19710bbfda8aSniaWarpToDefaultMenuEntry::
19720bbfda8aSnia  (Useful only with StayUpMenus) When using StayUpMenus, and a menu does
19730bbfda8aSnia  stays up, the pointer is warped to the default entry of the menu.
19740bbfda8aSnia
19750bbfda8aSniaWarpUnmapped::
19760bbfda8aSnia  This variable indicates that that the `f.warpto` function should deiconify
19770bbfda8aSnia  any iconified windows it encounters.  This is typically used to make a key
19780bbfda8aSnia  binding that will pop a particular window (such as `xmh`), no matter
19790bbfda8aSnia  where it is.  The default is for `f.warpto` to ignore iconified windows.
19800bbfda8aSnia
19810bbfda8aSniaWindowBox [{ `win-list` }]::
19820bbfda8aSnia  creates a new window called a box, where
19830bbfda8aSnia  all the client windows that match the windows list are opened in,
19840bbfda8aSnia  instead of the root window. This is useful to group small windows
19850bbfda8aSnia  in the same box (xload for instance)
19860bbfda8aSnia+
19870bbfda8aSnia------
19880bbfda8aSniaWindowBox "xloadbox" "320x100+0-0" {
19890bbfda8aSnia    "xload"
19900bbfda8aSnia}
19910bbfda8aSnia------
19920bbfda8aSnia+
19930bbfda8aSnia
19940bbfda8aSniaWindowGeometries { `win-list` }::
19950bbfda8aSnia  Used to give a default geometry to some clients :
19960bbfda8aSnia+
19970bbfda8aSnia------
19980bbfda8aSniaWindowGeometries {
19990bbfda8aSnia    "Mozilla*"       "1000x800+10+10"
20000bbfda8aSnia    "jpilot*"        "800x600-0-0"
20010bbfda8aSnia}
20020bbfda8aSnia------
20030bbfda8aSnia+
20040bbfda8aSnia
20050bbfda8aSniaWindowRegion `geomstring` `vgrav` `hgrav` { `win-list` }::
20060bbfda8aSnia  Similar to IconRegion, but for windows.  Note that the `win-list` is
20070bbfda8aSnia  not optional.
20080bbfda8aSnia
20090bbfda8aSniaWindowRing [{ `win-list` }]::
20100bbfda8aSnia  This variable specifies a list of windows along which the `f.warpring`
20110bbfda8aSnia  function cycles. If no argument is given, all the windows are in the ring.
20120bbfda8aSnia
20130bbfda8aSniaWindowRingExclude [{ `win-list` }]::
20140bbfda8aSnia  All listed windows will be excluded from the WarpRing.
20150bbfda8aSnia
20160bbfda8aSniaWMgrButtonShadowDepth `depth`::
20170bbfda8aSnia  Control the depth of the shadow of the workspace manager buttons.
20180bbfda8aSnia
20190bbfda8aSniaWMgrButtonStyle `string`::
20200bbfda8aSnia  Sets the style of the workspace manager buttons (when in button rather
20210bbfda8aSnia  than map state), as well as the buttons in the Occupy window.
20220bbfda8aSnia  Available options are `normal` (the default 3d look), `style1`,
20230bbfda8aSnia  `style2`, and `style3` (which are slightly different 2d looks).
20240bbfda8aSnia
20250bbfda8aSniaWMgrHorizButtonIndent `nb_pixels`::
20260bbfda8aSnia  Specifies the horizontal space, in pixel, between the buttons of the workspace
20270bbfda8aSnia  manager (in button mode).
20280bbfda8aSnia
20290bbfda8aSniaWMgrVertButtonIndent `nb_pixels`::
20300bbfda8aSnia  Specifies the vertical space, in pixel, between the buttons of the workspace
20310bbfda8aSnia  manager (in button mode).
20320bbfda8aSnia
20330bbfda8aSniaWorkSpaceFont `string`::
20340bbfda8aSnia  This allows you to specify the font to use for the small windows in the
20350bbfda8aSnia  workspace manager map. (Try `-adobe-times-*-r-*--10-*-*-*-*-*-*-*`).
20360bbfda8aSnia
20370bbfda8aSniaWorkSpaceManagerGeometry `string` [ `columns` ]::
20380bbfda8aSnia  This variable specifies the geometry of the workspace manager window. The
20390bbfda8aSnia  `string` argument is standard geometry specification that indicates
20400bbfda8aSnia  the initial full size of the workspace manager. The `columns` argument
20410bbfda8aSnia  indicates the number of columns to use for the workspace manager window.
20420bbfda8aSnia+
20430bbfda8aSnia------
20440bbfda8aSniaWorkSpaceManagerGeometry        "360x60+60-0" 8
20450bbfda8aSnia------
20460bbfda8aSnia+
20470bbfda8aSnia
20480bbfda8aSniaWorkSpaces { `workspace-list` }::
20490bbfda8aSnia  This variable specifies a list of workspaces that are created at startup,
20500bbfda8aSnia  Where `workspace-list` is :
20510bbfda8aSnia+
20520bbfda8aSnia------
20530bbfda8aSnianame [{bg-button [fg-button] [bg-root] [fg-root] [pixmap-root]}]
20540bbfda8aSnia------
20550bbfda8aSnia+
20560bbfda8aSnia[normal]
20570bbfda8aSnia  With:
20580bbfda8aSnia+
20590bbfda8aSnia--
20600bbfda8aSnia[horizontal]
20610bbfda8aSniabg-button:::
20620bbfda8aSnia  background color of the corresponding button in the workspace manager.
20630bbfda8aSnia
20640bbfda8aSniafg-button:::
20650bbfda8aSnia  foreground color of the corresponding button in the workspace manager.
20660bbfda8aSnia
20670bbfda8aSniabg-root:::
20680bbfda8aSnia  background color of the corresponding root screen.
20690bbfda8aSnia
20700bbfda8aSniafg-root:::
20710bbfda8aSnia  foreground color of the corresponding root screen.
20720bbfda8aSnia
20730bbfda8aSniapixmap-root:::
20740bbfda8aSnia  pixmap to display on the corresponding root screen, either the name of
20750bbfda8aSnia  a bitmap, +xpm:xpmfile+, +xwd:xwdfile+, +jpeg:jpgfile+, or
20760bbfda8aSnia  +|command_that generates_xwd+.
20770bbfda8aSnia--
20780bbfda8aSnia+
20790bbfda8aSnia[normal]
20800bbfda8aSnia  Example:
20810bbfda8aSnia+
20820bbfda8aSnia------
20830bbfda8aSniaWorkSpaces
20840bbfda8aSnia{
20850bbfda8aSnia  "One"   {"#686B9F" "white" "DeepSkyBlue3" "white" "jpeg:shark.jpg"}
20860bbfda8aSnia  "Two"   {"#619AAE" "white" "firebrick"}
20870bbfda8aSnia  "Three" {"#727786" "white" "MidnightBlue" "white" "xpm:ball%.xpm"}
20880bbfda8aSnia  "Four"  {"#727786" "white" "white"        "white"
20890bbfda8aSnia                                      "|(giftoppm | pnmtoxwd) < 2010.gif"}
20900bbfda8aSnia
20910bbfda8aSnia  "Five"  {"#727786" "white" "DeepSkyBlue3" "white" "plaid"}
20920bbfda8aSnia  "Six"   {"#619AAE" "white" "DeepSkyBlue3" "white" "xpm:background1"}
20930bbfda8aSnia  "Seven" {"#8C5b7A" "white" "chartreuse4"}
20940bbfda8aSnia  "Eight" {"#686B9F" "white" "MidnightBlue"}
20950bbfda8aSnia}
20960bbfda8aSnia------
20970bbfda8aSnia+
20980bbfda8aSnia[normal]
20990bbfda8aSnia  The WorkSpaces declaration should come before the Occupy or OccupyAll
21000bbfda8aSnia  declarations. The maximum number of workspaces is 32.
21010bbfda8aSnia+
21020bbfda8aSnia[normal]
21030bbfda8aSnia  Each workspace also has a label, which is displayed in the
21040bbfda8aSnia  WorkSpaceManager window when it is in button state.  By moving the
21050bbfda8aSnia  mouse cursor over a button and typing letters and/or backspace, you may
21060bbfda8aSnia  edit the label.  The name is unaffected.  Functions that look up
21070bbfda8aSnia  workspaces by name also look at the label.
21080bbfda8aSnia
21090bbfda8aSniaXMoveGrid `number`::
21100bbfda8aSnia  This variable specifies the value to use to constrain window movement.
21110bbfda8aSnia  When moving windows around, the x coordinate will always be a multiple of
21120bbfda8aSnia  this variable. Default is 1. f.forcemove ignores this variable.
21130bbfda8aSnia
21140bbfda8aSniaXorValue `number`::
21150bbfda8aSnia  This variable specifies the value to use when drawing window outlines for
21160bbfda8aSnia  moving and resizing.  This should be set to a value that will result in a
21170bbfda8aSnia  variety of distinguishable colors when exclusive-or'ed with the contents of the
21180bbfda8aSnia  user's typical screen.  Setting this variable to 1 often gives nice results
21190bbfda8aSnia  if adjacent colors in the default colormap are distinct.  By default,
21200bbfda8aSnia  ctwm will attempt to cause temporary lines to appear at the opposite
21210bbfda8aSnia  end of the colormap from the graphics.
21220bbfda8aSnia
21230bbfda8aSniaYMoveGrid `number`::
21240bbfda8aSnia  This variable specifies the value to use to constrain window movement.
21250bbfda8aSnia  When moving windows around, the y coordinate will always be a multiple of
21260bbfda8aSnia  this variable. Default is 1. f.forcemove ignores this variable.
21270bbfda8aSnia
21280bbfda8aSniaZoom [ `count` ]::
21290bbfda8aSnia  This variable indicates that outlines suggesting movement of a window
21300bbfda8aSnia  to and from its iconified state should be displayed whenever a window is
21310bbfda8aSnia  iconified or deiconified.  The optional `count` argument specifies the
21320bbfda8aSnia  number of outlines to be drawn.  The default count is 8.
21330bbfda8aSnia
21340bbfda8aSnia
21350bbfda8aSniaThe following variables must be set after the fonts have been
21360bbfda8aSniaassigned, so it is usually best to put them at the end of the variables
21370bbfda8aSniaor beginning of the bindings sections:
21380bbfda8aSnia
21390bbfda8aSnia
21400bbfda8aSniaChangeWorkspaceFunction `function`::
21410bbfda8aSnia  This variable specifies the function to be executed when the user change
21420bbfda8aSnia  the current workspace (zap).
21430bbfda8aSnia
21440bbfda8aSniaDefaultFunction `function`::
21450bbfda8aSnia  This variable specifies the function to be executed when a key or button
21460bbfda8aSnia  event is received for which no binding is provided.  This is typically
21470bbfda8aSnia  bound to `f.nop`, `f.beep`, or a menu containing window operations.
21480bbfda8aSnia
21490bbfda8aSniaDeIconifyFunction `function`::
21500bbfda8aSnia  This variable specifies the function to be executed when a window is
21510bbfda8aSnia  deiconified.
21520bbfda8aSnia
21530bbfda8aSniaIconifyFunction `function`::
21540bbfda8aSnia  This variable specifies the function to be executed when a window is
21550bbfda8aSnia  iconified.
21560bbfda8aSnia
21570bbfda8aSniaWindowFunction `function`::
21580bbfda8aSnia  This variable specifies the function to execute when a window is selected
21590bbfda8aSnia  from the `TwmWindows` menu.  If this variable is not set, the window
21600bbfda8aSnia  will be deiconified and raised.
21610bbfda8aSnia
21620bbfda8aSnia
21630bbfda8aSnia== BINDINGS
21640bbfda8aSniaAfter the desired variables have been set, functions may be attached to
21650bbfda8aSniatitlebuttons and key and pointer buttons.  Titlebuttons may be added
21660bbfda8aSniafrom the left or right side and appear in the titlebar from left-to-right
21670bbfda8aSniaaccording to the
21680bbfda8aSniaorder in which they are specified.  Key and pointer button
21690bbfda8aSniabindings may be given in any order.
21700bbfda8aSnia
21710bbfda8aSnia=== Title buttons
21720bbfda8aSnia
21730bbfda8aSniaTitlebuttons specifications must include the name of the pixmap to use in
21740bbfda8aSniathe button box and the function to be invoked when a pointer button is
21750bbfda8aSniapressed within them:
21760bbfda8aSnia
21770bbfda8aSnia------
21780bbfda8aSniaLeftTitleButton "bitmapname" = function
21790bbfda8aSnia------
21800bbfda8aSnia
21810bbfda8aSniaor
21820bbfda8aSnia
21830bbfda8aSnia------
21840bbfda8aSniaLeftTitleButton "bitmapname" {
21850bbfda8aSnia    Buttoni = modlist : function
21860bbfda8aSnia    ...
21870bbfda8aSnia    Buttonj = function
21880bbfda8aSnia}
21890bbfda8aSnia------
21900bbfda8aSnia
21910bbfda8aSniaor
21920bbfda8aSnia
21930bbfda8aSnia------
21940bbfda8aSniaRightTitleButton "bitmapname" = function
21950bbfda8aSnia------
21960bbfda8aSnia
21970bbfda8aSniaor
21980bbfda8aSnia
21990bbfda8aSnia------
22000bbfda8aSniaRightTitleButton "bitmapname" {
22010bbfda8aSnia    Buttoni = modlist : function
22020bbfda8aSnia    ...
22030bbfda8aSnia    Buttonj = function
22040bbfda8aSnia}
22050bbfda8aSnia------
22060bbfda8aSnia
22070bbfda8aSniaThe `bitmapname` may refer to one of the  built-in bitmaps
22080bbfda8aSnia(which are scaled to match `TitleFont`) by using the appropriate
22090bbfda8aSniacolon-prefixed name described above.
22100bbfda8aSnia
22110bbfda8aSniaThe pointer button specifications come in two forms, with a modifier
22120bbfda8aSnialist or without.  When the specification comes without a modifier
22130bbfda8aSnialist, it's used for the case when no modifiers are used.  In other
22140bbfda8aSniawords, the following two lines are equivalent:
22150bbfda8aSnia
22160bbfda8aSnia------
22170bbfda8aSnia    Buttoni = function
22180bbfda8aSnia------
22190bbfda8aSnia
22200bbfda8aSnia
22210bbfda8aSnia------
22220bbfda8aSnia    Buttoni = : function
22230bbfda8aSnia------
22240bbfda8aSnia
22250bbfda8aSnia
22260bbfda8aSnia=== Key and pointer buttons
22270bbfda8aSnia
22280bbfda8aSniaKey and pointer button specifications must give the modifiers that must
22290bbfda8aSniabe pressed, over which parts of the screen the pointer must be, and what
22300bbfda8aSniafunction is to be invoked.  Keys are given as strings containing the
22310bbfda8aSniaappropriate
22320bbfda8aSniakeysym name; buttons are given as the keywords `Button1`-`Button11`:
22330bbfda8aSnia
22340bbfda8aSnia------
22350bbfda8aSnia"FP1"   = modlist : context : function
22360bbfda8aSniaButton1 = modlist : context : function
22370bbfda8aSnia------
22380bbfda8aSnia
22390bbfda8aSniaA user who wanted to be able to manipulate windows from the keyboard could
22400bbfda8aSniause the following bindings:
22410bbfda8aSnia
22420bbfda8aSnia------
22430bbfda8aSnia"F1"    =       : all : f.iconify
22440bbfda8aSnia"F2"    =       : all : f.raiselower
22450bbfda8aSnia"F3"    =       : all : f.warpring "next"
22460bbfda8aSnia"F4"    =       : all : f.warpto "xmh"
22470bbfda8aSnia"F5"    =       : all : f.warpto "emacs"
22480bbfda8aSnia"F6"    =       : all : f.colormap "next"
22490bbfda8aSnia"F7"    =       : all : f.colormap "default"
22500bbfda8aSnia"F20"   =       : all : f.warptoscreen "next"
22510bbfda8aSnia"Left"  = m     : all : f.backiconmgr
22520bbfda8aSnia"Right" = m | s : all : f.forwiconmgr
22530bbfda8aSnia"Up"    = m     : all : f.upiconmgr
22540bbfda8aSnia"Down"  = m | s : all : f.downiconmgr
22550bbfda8aSnia------
22560bbfda8aSnia
22570bbfda8aSniactwm provides many more window manipulation primitives than can be
22580bbfda8aSniaconveniently stored in a titlebar, menu, or set of key bindings.  Although
22590bbfda8aSniaa small set of defaults are supplied (unless the `NoDefaults` is
22600bbfda8aSniaspecified), most users will want to have their most common operations
22610bbfda8aSniabound to key and button strokes.  To do this, ctwm associates names
22620bbfda8aSniawith each of the primitives and provides user-defined functions for
22630bbfda8aSniabuilding higher level primitives and menus for interactively selecting
22640bbfda8aSniaamong groups of functions.
22650bbfda8aSnia
22660bbfda8aSnia
22670bbfda8aSnia=== Modifiers and Contexts
22680bbfda8aSnia
22690bbfda8aSniaThe `modlist` allows specifying different bindings for a button or key
22700bbfda8aSniawhen modifiers are applied.  The list of recognized modifier names
22710bbfda8aSnia(abbreviated) are
22720bbfda8aSnia`shift` (`s`),
22730bbfda8aSnia`control` (`c`),
22740bbfda8aSnia`lock` (`l`),
22750bbfda8aSnia`alter1` (`a1`),
22760bbfda8aSnia`alter2` (`a2`),
22770bbfda8aSnia`alter3` (`a3`),
22780bbfda8aSnia`alter4` (`a4`),
22790bbfda8aSnia`alter5` (`a5`),
22800bbfda8aSnia`meta` (`m`),
22810bbfda8aSnia`mod1` (`m1`),
22820bbfda8aSnia`mod2` (`m2`),
22830bbfda8aSnia`mod3` (`m3`),
22840bbfda8aSnia`mod4` (`m4`),
22850bbfda8aSniaand `mod5` (`m5`).
22860bbfda8aSniaMultiple modifiers may be applied to a single line by combining them with
22870bbfda8aSniaa vertical bar (`|`).  For example:
22880bbfda8aSnia
22890bbfda8aSnia------
22900bbfda8aSnia# Open the "top" menu with a Button1 (usually left mouse button) click in
22910bbfda8aSnia# the root window
22920bbfda8aSniaButton1 =        : root : f.menu "top"
22930bbfda8aSnia
22940bbfda8aSnia# Open the "top2" menu with shift-click
22950bbfda8aSniaButton1 =     s  : root : f.menu "top2"
22960bbfda8aSnia
22970bbfda8aSnia# And "top3" when control-shift-click
22980bbfda8aSniaButton1 = c | s  : root : f.menu "top3"
22990bbfda8aSnia------
23000bbfda8aSnia
23010bbfda8aSniaThe `lock` modifier refers to CapsLock.  `meta` is generally your Alt
23020bbfda8aSniakey.  `mod1` is the same as `meta`.  `mod2..5` can have various special
23030bbfda8aSniameanings; try running `xmodmap -pm` to see how your X server is mapping
23040bbfda8aSniathings (the `xkeycaps` program may also be useful).  The `alter1..5`
23050bbfda8aSniamodifiers refer to ctwm alternate keymaps; see the description of
23060bbfda8aSnia`f.altkeymap` below for details.
23070bbfda8aSnia
23080bbfda8aSniaNote that if you're using the `m4` preprocessor, most implementations
23090bbfda8aSniadefine a `shift` macro internally, so using that as a modifier will
23100bbfda8aSniasilently fail to work right.  To get around it, you'll need to quote it
23110bbfda8aSniaso that `m4` passes it through as a literal string: `pass:[`shift']`.
23120bbfda8aSnia
23130bbfda8aSniaThe `context` lets you specify which mappings apply based on where the
23140bbfda8aSniapointer currently is on the screen.  The available options are
23150bbfda8aSnia`window` (`w`),
23160bbfda8aSnia`title` (`t`),
23170bbfda8aSnia`icon` (`i`),
23180bbfda8aSnia`root` (`r`),
23190bbfda8aSnia`frame` (`f`),
23200bbfda8aSnia`workspace` (no abbreviation),
23210bbfda8aSnia`iconmgr` (`m`), and
23220bbfda8aSnia`alter` (`a`).
23230bbfda8aSniaLike the modifiers above, they may be combined with a vertical bar, which
23240bbfda8aSniaallows you to bind an action in multiple contexts at once.
23250bbfda8aSniaAlternately, `all` can be given for the context to specify that the
23260bbfda8aSniabinding should happen everywhere.  It's equivalent to combining all the
23270bbfda8aSniachoices (except `alter`, which is special).
23280bbfda8aSnia
23290bbfda8aSniaThe `alter` context allows binding the function when in the alternate
23300bbfda8aSniacontext; see the `f.altcontext` function below for details.
23310bbfda8aSnia
23320bbfda8aSniaThere is an additional possible magical value for `context`; if you
23330bbfda8aSniaprovide a quoted string (e.g., `"MyXterm"`) for the context of a key (but
23340bbfda8aSnianot button) binding, then that binding will trigger the given function in
23350bbfda8aSniawindow context to all windows matching that name.  e.g.,
23360bbfda8aSnia
23370bbfda8aSnia----
23380bbfda8aSnia# Pressing "F1" anywhere on the screen will cause all windows with name
23390bbfda8aSnia# "xterm" to raise themselves.
23400bbfda8aSnia"F1" = : "xterm" : f.raise
23410bbfda8aSnia----
23420bbfda8aSnia
23430bbfda8aSniaBeware that this can have odd side effects if multiple windows are
23440bbfda8aSniamatched, especially if the function can conflict one with the other
23450bbfda8aSnia(e.g., in the example above, if two "xterm" windows overlap each other).
23460bbfda8aSnia
23470bbfda8aSnia
23480bbfda8aSnia=== Functions
23490bbfda8aSnia
23500bbfda8aSniaThe `function` in a binding is any of the `f.` keywords described below.
23510bbfda8aSniaFor example, the default startup file contains the following bindings:
23520bbfda8aSnia
23530bbfda8aSnia------
23540bbfda8aSniaButton1 =   : root          : f.menu "TwmWindows"
23550bbfda8aSniaButton1 = m : window | icon : f.function "move-or-lower"
23560bbfda8aSniaButton2 = m : window | icon : f.iconify
23570bbfda8aSniaButton3 = m : window | icon : f.function "move-or-raise"
23580bbfda8aSniaButton1 =   : title         : f.function "move-or-raise"
23590bbfda8aSniaButton2 =   : title         : f.raiselower
23600bbfda8aSniaButton1 =   : icon          : f.function "move-or-iconify"
23610bbfda8aSniaButton2 =   : icon          : f.iconify
23620bbfda8aSniaButton1 =   : iconmgr       : f.iconify
23630bbfda8aSniaButton2 =   : iconmgr       : f.iconify
23640bbfda8aSnia------
23650bbfda8aSnia
23660bbfda8aSniaUser-defined functions contain the name by which they are referenced in
23670bbfda8aSniacalls to `f.function` and a list of other functions to execute.  For
23680bbfda8aSniaexample:
23690bbfda8aSnia
23700bbfda8aSnia------
23710bbfda8aSniaFunction "move-or-lower"    { f.move f.deltastop f.lower }
23720bbfda8aSniaFunction "move-or-raise"    { f.move f.deltastop f.raise }
23730bbfda8aSniaFunction "move-or-iconify"  { f.move f.deltastop f.iconify }
23740bbfda8aSniaFunction "restore-colormap" { f.colormap "default" f.lower }
23750bbfda8aSnia------
23760bbfda8aSnia
23770bbfda8aSniaThe function name must be used in `f.function` exactly as it appears in
23780bbfda8aSniathe function specification.
23790bbfda8aSnia
23800bbfda8aSniaIn the descriptions below, if the function is said to operate on the selected
23810bbfda8aSniawindow, but is invoked from a root menu, the cursor will be changed to
23820bbfda8aSniathe `Select` cursor and the next window to receive a button press will
23830bbfda8aSniabe chosen:
23840bbfda8aSnia
23850bbfda8aSnia! `string`::
23860bbfda8aSnia  This is an abbreviation for `f.exec` `string`.
23870bbfda8aSnia
23880bbfda8aSniaf.addtoworkspace `string`::
23890bbfda8aSnia  This function adds the selected window to the workspace whose name is
23900bbfda8aSnia  `string`.
23910bbfda8aSnia
23920bbfda8aSniaf.adoptwindow::
23930bbfda8aSnia  This function asks for the user to select a window with the mouse, and then
23940bbfda8aSnia  adopt this window if it doesn't belong to the current ctwm. Useful only
23950bbfda8aSnia  with the -w flag.
23960bbfda8aSnia
23970bbfda8aSniaf.altcontext::
23980bbfda8aSnia  Set the alternate context. The next key or button event ctwm receives will
23990bbfda8aSnia  be interpreted using the alternate context. To define bindings in the alternate
24000bbfda8aSnia  context, use the keyword `alter` in the context field of the binding command.
24010bbfda8aSnia  For example:
24020bbfda8aSnia+
24030bbfda8aSnia------
24040bbfda8aSnia"Return" = m : all   : f.altcontext
24050bbfda8aSnia"n" =        : alter : f.nextworkspace
24060bbfda8aSnia"p" =        : alter : f.prevworkspace
24070bbfda8aSnia------
24080bbfda8aSnia+
24090bbfda8aSnia
24100bbfda8aSniaf.altkeymap `number`::
24110bbfda8aSnia  Set the alternate keymap `number`, where `number` is an integer
24120bbfda8aSnia  between 1 and 5 inclusive. The next key or button event ctwm receives will
24130bbfda8aSnia  be interpreted using this alternate keymap. To define bindings in an alternate
24140bbfda8aSnia  keymap, use the keyword `a` followed by `number` in the modifier
24150bbfda8aSnia  field of the binding command. For example:
24160bbfda8aSnia+
24170bbfda8aSnia------
24180bbfda8aSnia"Return" = c : all                  : f.altkeymap "1"
24190bbfda8aSnia"i" =     a1 : window|icon|iconmgr  : f.iconify
24200bbfda8aSnia"z" =     a1 : window               : f.zoom
24210bbfda8aSnia"d" =     a1 : window|icon          : f.delete
24220bbfda8aSnia"o" =     a1 : window|icon          : f.occupy
24230bbfda8aSnia"r" =     a1 : window|icon          : f.refresh
24240bbfda8aSnia------
24250bbfda8aSnia+
24260bbfda8aSnia[normal]
24270bbfda8aSnia  When using an alternate keymaps, only the root, window, icon and iconmgr
24280bbfda8aSnia  contexts are allowed.
24290bbfda8aSnia
24300bbfda8aSniaf.autolower::
24310bbfda8aSnia  This function toggles whether or not the selected window is lowered
24320bbfda8aSnia  whenever the pointer leaves it.  See the description of the variable
24330bbfda8aSnia  `AutoLower`.
24340bbfda8aSnia
24350bbfda8aSniaf.autoraise::
24360bbfda8aSnia  This function toggles whether or not the selected window is raised whenever
24370bbfda8aSnia  entered by the pointer.  See the description of the variable `AutoRaise`.
24380bbfda8aSnia
24390bbfda8aSniaf.backiconmgr::
24400bbfda8aSnia  This function warps the pointer to the previous column in the
24410bbfda8aSnia  current icon manager, wrapping back to the previous row if necessary.
24420bbfda8aSnia
24430bbfda8aSniaf.backmapiconmgr::
24440bbfda8aSnia  This function warps the  pointer in the same manner as `f.backiconmgr`
24450bbfda8aSnia  but only stops at windows that are mapped.
24460bbfda8aSnia
24470bbfda8aSniaf.beep::
24480bbfda8aSnia  This function sounds the keyboard bell.
24490bbfda8aSnia
24500bbfda8aSniaf.bottomzoom::
24510bbfda8aSnia  This function stretches the bottom side of the window out to the bottom
24520bbfda8aSnia  edge of the screen, or restores the original size if the window was
24530bbfda8aSnia  already bottomzoom'd.
24540bbfda8aSnia
24550bbfda8aSniaf.changepriority `rel-value`::
24560bbfda8aSnia  Change the priority of a window by `rel-value` (enclosed within double
24570bbfda8aSnia  quotes). For instance, to bury a window one level down, you would use
24580bbfda8aSnia  f.changepriority "-1".  See `OnTopPriority` variable.
24590bbfda8aSnia+
24600bbfda8aSniaFirst appeared in 4.0.0.
24610bbfda8aSnia
24620bbfda8aSniaf.changesize `string`::
24630bbfda8aSnia  This function allows you to change the size of the focused window. The
24640bbfda8aSnia  format of the string must be either `"<border> <+|-><sizechange>"`
24650bbfda8aSnia  (where `<border>` must be one of `top`, `bottom`, `left` or
24660bbfda8aSnia  `right`) or `"<x size>x<y size>"` (where the size is the requested
24670bbfda8aSnia  new window size). The height of the window can never be set/changed to less
24680bbfda8aSnia  than the title height + 1 (or 1 if the window has no title) and the width
24690bbfda8aSnia  can never be set/changed to less than 1.
24700bbfda8aSnia+
24710bbfda8aSnia------
24720bbfda8aSnia"Right"  = c|s : all : f.changesize "right +10"
24730bbfda8aSnia"Left"   = c|s : all : f.changesize "right -10"
24740bbfda8aSnia"Down"   = c|s : all : f.changesize "bottom +10"
24750bbfda8aSnia"Up"     = c|s : all : f.changesize "bottom -10"
24760bbfda8aSnia
24770bbfda8aSnia"F1"     = c|s : all : f.changesize "640x480"
24780bbfda8aSnia"F2"     = c|s : all : f.changesize "800x600"
24790bbfda8aSnia"F3"     = c|s : all : f.changesize "1024x768"
24800bbfda8aSnia------
24810bbfda8aSnia+
24820bbfda8aSnia
24830bbfda8aSniaf.circledown::
24840bbfda8aSnia  This function lowers the top-most window that occludes another window.
24850bbfda8aSnia
24860bbfda8aSniaf.circleup::
24870bbfda8aSnia  This function raises the bottom-most window that is occluded by another window.
24880bbfda8aSnia
24890bbfda8aSniaf.colormap `string`::
24900bbfda8aSnia  This function rotates the colormaps (obtained from the `WM_COLORMAP_WINDOWS`
24910bbfda8aSnia  property on the window) that ctwm will display when the pointer
24920bbfda8aSnia  is in this window.  The argument `string` may have one of the following
24930bbfda8aSnia  values: `"next"`, `"prev"`, and `"default"`.  It should be noted
24940bbfda8aSnia  here that in general, the installed colormap is determined by keyboard focus.
24950bbfda8aSnia  A pointer driven keyboard focus will install a private colormap upon entry
24960bbfda8aSnia  of the window owning the colormap.  Using the click to type model, private
24970bbfda8aSnia  colormaps will not be installed until the user presses a mouse button on
24980bbfda8aSnia  the target window.
24990bbfda8aSnia
25000bbfda8aSniaf.deiconify::
25010bbfda8aSnia  This function deiconifies the selected window.  If the window is not an icon,
25020bbfda8aSnia  this function does nothing.
25030bbfda8aSnia
25040bbfda8aSniaf.delete::
25050bbfda8aSnia  This function sends the `WM_DELETE_WINDOW` message to the selected window if
25060bbfda8aSnia  the client application has requested it through the `WM_PROTOCOLS` window
25070bbfda8aSnia  property.  The application is supposed to respond to the message by removing
25080bbfda8aSnia  the indicated window.  If the window has not requested
25090bbfda8aSnia  `WM_DELETE_WINDOW` messages, the keyboard bell will be rung indicating that
25100bbfda8aSnia  the user should choose an alternative method.  Note this is very different
25110bbfda8aSnia  from f.destroy.  The intent here is to delete a single window,  not
25120bbfda8aSnia  necessarily the entire application.
25130bbfda8aSnia
25140bbfda8aSniaf.deleteordestroy::
25150bbfda8aSnia  First tries to delete the window (send it `WM_DELETE_WINDOW` message),
25160bbfda8aSnia  or kills it, if the client doesn't accept such message.
25170bbfda8aSnia
25180bbfda8aSniaf.deltastop::
25190bbfda8aSnia  This function allows a user-defined function to be aborted if the pointer has
25200bbfda8aSnia  been moved more than `MoveDelta` pixels.  See the example definition
25210bbfda8aSnia  given for `Function "move-or-raise"` at the beginning of the section.
25220bbfda8aSnia
25230bbfda8aSniaf.destroy::
25240bbfda8aSnia  This function instructs the X server to close the display connection of the
25250bbfda8aSnia  client that created the selected window.  This should only be used as a last
25260bbfda8aSnia  resort for shutting down runaway clients.  See also f.delete.
25270bbfda8aSnia
25280bbfda8aSniaf.downiconmgr::
25290bbfda8aSnia  This function warps the pointer to the next row in the current icon manger,
25300bbfda8aSnia  wrapping to the beginning of the next column if necessary.
25310bbfda8aSnia
25320bbfda8aSniaf.downworkspace::
25330bbfda8aSnia  Goto the workspace immediately underneath the current workspace in the workspace
25340bbfda8aSnia  manager. If the current workspace is the bottom one, goto the top one in the
25350bbfda8aSnia  same column. The result depends on the layout of the workspace manager.
25360bbfda8aSnia
25370bbfda8aSniaf.exec `string`::
25380bbfda8aSnia  This function passes the argument `string` to `/bin/sh` for execution.
25390bbfda8aSnia  In multiscreen mode, if `string` starts a new X client without
25400bbfda8aSnia  giving a display argument, the client will appear on the screen from
25410bbfda8aSnia  which this function was invoked. If the string ``$currentworkspace''
25420bbfda8aSnia  is present inside the string argument, it will be substituted with
25430bbfda8aSnia  the current workspace name.
25440bbfda8aSnia
25450bbfda8aSniaf.fill `string`::
25460bbfda8aSnia  Where string is either : ``right'', ``left'', ``top'', ``bottom'' or ``vertical''.
25470bbfda8aSnia  The current window is resized in the specified direction until it
25480bbfda8aSnia  reaches an obstacle (either another window, or the screen border).
25490bbfda8aSnia  f.fill ``vertical'' sets the window status to ``zoomed'' and toggles, ie
25500bbfda8aSnia  calling it again will reset the previous window size.
25510bbfda8aSnia
25520bbfda8aSniaf.fittocontent::
25530bbfda8aSnia  Can be used only with window boxes. The result is to have the box have the
25540bbfda8aSnia  minimal size that contains all its children windows.
25550bbfda8aSnia
25560bbfda8aSniaf.focus::
25570bbfda8aSnia  This function toggles the keyboard focus of the server to the
25580bbfda8aSnia  selected window, changing the focus rule from pointer-driven if necessary.
25590bbfda8aSnia  If the selected window already was focused, this function executes an
25600bbfda8aSnia  `f.unfocus`.
25610bbfda8aSnia
25620bbfda8aSniaf.forcemove::
25630bbfda8aSnia  This function is like `f.move` except that it ignores the `DontMoveOff`
25640bbfda8aSnia  variable.
25650bbfda8aSnia
25660bbfda8aSniaf.forwiconmgr::
25670bbfda8aSnia  This function warps the pointer to the next column in the current icon
25680bbfda8aSnia  manager, wrapping to the beginning of the next row if necessary.
25690bbfda8aSnia
25700bbfda8aSniaf.forwmapiconmgr::
25710bbfda8aSnia  This function warps the  pointer in the same manner as `f.forwiconmgr`
25720bbfda8aSnia  but only stops at windows that are mapped.
25730bbfda8aSnia
25740bbfda8aSniaf.fullscreenzoom::
25750bbfda8aSnia  This function is similar to the `f.fullzoom` function, except that it
25760bbfda8aSnia  makes the client window (the part inside the frame) the size of the
25770bbfda8aSnia  screen, so the window decorations are off-screen.  This gives the same
25780bbfda8aSnia  visual effect as the window covering the whole screen with no
25790bbfda8aSnia  decorations.  If the window is already fullscreenzoom'd, it restores
25800bbfda8aSnia  the original size.
25810bbfda8aSnia
25820bbfda8aSniaf.fullzoom::
25830bbfda8aSnia  This function resizes the selected window to the full size of the
25840bbfda8aSnia  screen, or restores the original size if the window was already
25850bbfda8aSnia  fullzoom'd.
25860bbfda8aSnia
25870bbfda8aSniaf.function `string`::
25880bbfda8aSnia  This function executes the user-defined function whose name is specified
25890bbfda8aSnia  by the argument `string`.
25900bbfda8aSnia
25910bbfda8aSniaf.gotoworkspace `workspace_name`::
25920bbfda8aSnia  This function warps you to the workspace whose name is `workspace_name`.
25930bbfda8aSnia
25940bbfda8aSniaf.hbzoom::
25950bbfda8aSnia  This function is a synonym for `f.bottomzoom`.
25960bbfda8aSnia
25970bbfda8aSniaf.hideiconmgr::
25980bbfda8aSnia  This function unmaps the current icon manager.
25990bbfda8aSnia
26000bbfda8aSniaf.hideworkspacemgr::
26010bbfda8aSnia  Unmap the WorkSpace manager.
26020bbfda8aSnia
26030bbfda8aSniaf.horizoom::
26040bbfda8aSnia  This function stretches the window so that it covers the whole width of
26050bbfda8aSnia  the screen, or restores the original size if the window was already
26060bbfda8aSnia  horizoom'd.
26070bbfda8aSnia
26080bbfda8aSniaf.htzoom::
26090bbfda8aSnia  This function is a synonym for `f.topzoom`.
26100bbfda8aSnia
26110bbfda8aSniaf.hypermove::
26120bbfda8aSnia  Use this function to ``move'' a window between 2 captives ctwm (or between a
26130bbfda8aSnia  captive and the root ctwm). Of course 2 ctwms are completely different
26140bbfda8aSnia  universes. You have to go in hyperspace to achieve this, hence the name.
26150bbfda8aSnia
26160bbfda8aSniaf.hzoom::
26170bbfda8aSnia  This function is a synonym for `f.horizoom`.
26180bbfda8aSnia
26190bbfda8aSniaf.iconify::
26200bbfda8aSnia  This function iconifies or deiconifies the selected window or icon,
26210bbfda8aSnia  respectively.
26220bbfda8aSnia
26230bbfda8aSniaf.identify::
26240bbfda8aSnia  This function displays a summary of the name and geometry of the
26250bbfda8aSnia  selected window.  Clicking the pointer or pressing a key in the window
26260bbfda8aSnia  will dismiss it.
26270bbfda8aSnia
26280bbfda8aSniaf.initsize::
26290bbfda8aSnia  This function resets a window to its initial size given by the
26300bbfda8aSnia  `WM_NORMAL_HINTS` hints.
26310bbfda8aSnia
26320bbfda8aSniaf.jumpdown `step`::
26330bbfda8aSnia  This function is designed to be bound to a key, it moves the current window
26340bbfda8aSnia  (step * {X,Y}MoveGrid) pixels downward. stopping if the window encounters
26350bbfda8aSnia  another window or the screen border (ala f.pack).
26360bbfda8aSnia
26370bbfda8aSniaf.jumpleft `step`::
26380bbfda8aSnia  Leftward equivalent of f.jumpdown.
26390bbfda8aSnia
26400bbfda8aSniaf.jumpright `step`::
26410bbfda8aSnia  Rightward equivalent of f.jumpdown.
26420bbfda8aSnia
26430bbfda8aSniaf.jumpup `step`::
26440bbfda8aSnia  Upward equivalent of f.jumpdown.
26450bbfda8aSnia
26460bbfda8aSniaf.lefticonmgr::
26470bbfda8aSnia  This function similar to `f.backiconmgr` except that wrapping does not
26480bbfda8aSnia  change rows.
26490bbfda8aSnia
26500bbfda8aSniaf.leftworkspace::
26510bbfda8aSnia  Goto the workspace immediately on the left of the current workspace in the
26520bbfda8aSnia  workspace manager. If the current workspace is the leftest one, goto the
26530bbfda8aSnia  rightest one in the same row. The result depends on the layout of the workspace
26540bbfda8aSnia  manager.
26550bbfda8aSnia
26560bbfda8aSniaf.leftzoom::
26570bbfda8aSnia  This function stretches the left side of the window out to the left
26580bbfda8aSnia  edge of the screen, or restores the original size if the window was
26590bbfda8aSnia  already leftzoom'd.
26600bbfda8aSnia
26610bbfda8aSniaf.lower::
26620bbfda8aSnia  This function lowers the selected window.
26630bbfda8aSnia
26640bbfda8aSniaf.menu `string`::
26650bbfda8aSnia  This function invokes the menu specified by the argument `string`.
26660bbfda8aSnia  Cascaded menus may be built by nesting calls to `f.menu`. When a menu
26670bbfda8aSnia  is popped up, you can use the arrow keys to move the cursor around it. ``Down''
26680bbfda8aSnia  or space goes down, ``Up'' goes up, ``Left'' pops down the menu, and ``Right''
26690bbfda8aSnia  activates the current entry. The first letter of an entry name activates this
26700bbfda8aSnia  entry (the first one if several entries match). If the first letter is ~ then
26710bbfda8aSnia  Meta-the-second-letter activates it, if this first letter is ^ then
26720bbfda8aSnia  Control-the-second-letter activates it, and if this first letter is space,
26730bbfda8aSnia  then the second letter activates it.
26740bbfda8aSnia
26750bbfda8aSniaf.move::
26760bbfda8aSnia  This function drags an outline of the selected window (or the window itself
26770bbfda8aSnia  if the `OpaqueMove` variable is set) until the invoking pointer button
26780bbfda8aSnia  is released.  Double clicking within the number of milliseconds given by
26790bbfda8aSnia  `ConstrainedMoveTime` warps
26800bbfda8aSnia  the pointer to the center of the window and
26810bbfda8aSnia  constrains the move to be either horizontal or vertical depending on which
26820bbfda8aSnia  grid line is crossed.
26830bbfda8aSnia  To abort a move, press another button before releasing the
26840bbfda8aSnia  first button.
26850bbfda8aSnia
26860bbfda8aSniaf.movepack::
26870bbfda8aSnia  This function is like `f.move` except that it tries to avoid overlapping
26880bbfda8aSnia  of windows. When the moving window begin to overlap with another window, the
26890bbfda8aSnia  move is stopped. If you go too far over the other window (more that
26900bbfda8aSnia  `MovePackResistance` pixels), the move is resumed and the moving window
26910bbfda8aSnia  can overlap with the other window. Useful to pack windows closely.
26920bbfda8aSnia
26930bbfda8aSniaf.movepush::
26940bbfda8aSnia  This function is like `f.move` except that it tries to avoid overlapping
26950bbfda8aSnia  of windows. When the moving window begins to overlap with another window, the
26960bbfda8aSnia  other window is pushed. If you go too far over the other window (more that
26970bbfda8aSnia  `MovePackResistance` pixels), there is no push and the moving window
26980bbfda8aSnia  can overlap with the other window. Only available if `OpaqueMove` is
26990bbfda8aSnia  active.
27000bbfda8aSnia
27010bbfda8aSniaf.moveresize `geometry`::
27020bbfda8aSnia  Takes one string argument which is a geometry with the
27030bbfda8aSnia  standard X geometry syntax (e.g. 200x300+150-0). Sets the current window
27040bbfda8aSnia  to the specified geometry. The width and height are to be given in pixel,
27050bbfda8aSnia  no base size or resize increment are used.
27060bbfda8aSnia
27070bbfda8aSniaf.movetitlebar::
27080bbfda8aSnia  If applied to a squeezed titlebar (see `SqueezeTitle`) you can drag
27090bbfda8aSnia  it along the top of the window (a feature which was first found in
27100bbfda8aSnia  BeOS). The existing justification type is preserved, as is the
27110bbfda8aSnia  positioning (relative or absolute). This means that a relatively
27120bbfda8aSnia  positioned titlebar will move when the width of a window changes,
27130bbfda8aSnia  whereas an absolutely positioned title will not.
27140bbfda8aSnia  The default positioning is left-justified, absolute at 0 pixels.
27150bbfda8aSnia+
27160bbfda8aSnia------
27170bbfda8aSniaButton1 = m1 : title : f.movetitlebar
27180bbfda8aSnia------
27190bbfda8aSnia+
27200bbfda8aSnia[normal]
27210bbfda8aSnia  `f.movetitlebar` does nothing if the window has no title, the
27220bbfda8aSnia  window is squeezed (see f.squeeze), or the title is not squeezed
27230bbfda8aSnia  (see `SqueezeTitle`).
27240bbfda8aSnia
27250bbfda8aSniaf.movetonextworkspace::
27260bbfda8aSniaf.movetonextworkspaceandfollow::
27270bbfda8aSnia  Move the window to the next workspace, and optionally switch view over
27280bbfda8aSnia  to that workspace.
27290bbfda8aSnia
27300bbfda8aSniaf.movetoprevworkspace::
27310bbfda8aSniaf.movetoprevworkspaceandfollow::
27320bbfda8aSnia  Move the window to the previous workspace, and optionally switch view
27330bbfda8aSnia  over to that workspace.
27340bbfda8aSnia
27350bbfda8aSniaf.nexticonmgr::
27360bbfda8aSnia  This function warps the pointer to the next icon manager containing any windows
27370bbfda8aSnia  on the current or any succeeding screen.
27380bbfda8aSnia
27390bbfda8aSniaf.nextworkspace::
27400bbfda8aSnia  Goto the next workspace in the list, using the order given in the `.ctwmrc` file.
27410bbfda8aSnia
27420bbfda8aSniaf.nop::
27430bbfda8aSnia  This function does nothing and is typically used with the `DefaultFunction`
27440bbfda8aSnia  or `WindowFunction` variables or to introduce blank lines in menus.
27450bbfda8aSnia
27460bbfda8aSniaf.occupy::
27470bbfda8aSnia  This function pops up a window for the user to choose which workspaces a window
27480bbfda8aSnia  belongs to.
27490bbfda8aSnia
27500bbfda8aSniaf.occupyall::
27510bbfda8aSnia  This function makes the specified window occupy all the workspaces.
27520bbfda8aSnia
27530bbfda8aSniaf.pack `string`::
27540bbfda8aSnia  Where string is either : ``right'', ``left'', ``top'' or ``bottom''
27550bbfda8aSnia  The current window is moved in the specified direction until it reaches
27560bbfda8aSnia  an obstacle (either another window, or the screen border). The pointer
27570bbfda8aSnia  follows the window.
27580bbfda8aSnia
27590bbfda8aSniaf.pin::
27600bbfda8aSnia  Valid only in a root menu. Make a menu permanent on the screen. This is a toggle
27610bbfda8aSnia  function, if you select it while the menu is already permanent, it becomes
27620bbfda8aSnia  non-permanent.
27630bbfda8aSnia
27640bbfda8aSniaf.previconmgr::
27650bbfda8aSnia  This function warps the pointer to the previous icon manager containing any
27660bbfda8aSnia  windows on the current or preceding screens.
27670bbfda8aSnia
27680bbfda8aSniaf.prevworkspace::
27690bbfda8aSnia  Goto the previous workspace in the list, using the order given in the `.ctwmrc` file.
27700bbfda8aSnia
27710bbfda8aSniaf.priorityswitching::
27720bbfda8aSnia  Toggle the window's switching ability.  X-ref `PrioritySwitching` and
27730bbfda8aSnia  `OnTopPriority` variables.
27740bbfda8aSnia+
27750bbfda8aSniaFirst appeared in 4.0.0.
27760bbfda8aSnia
27770bbfda8aSniaf.quit::
27780bbfda8aSnia  This function causes ctwm to restore the window's borders and exit.  If
27790bbfda8aSnia  ctwm is the first client invoked from `xdm`, this will result in a
27800bbfda8aSnia  server reset.
27810bbfda8aSnia
27820bbfda8aSniaf.raise::
27830bbfda8aSnia  This function raises the selected window.
27840bbfda8aSnia
27850bbfda8aSniaf.raiseicons::
27860bbfda8aSnia  This function raises all the icons in the current workspace.
27870bbfda8aSnia
27880bbfda8aSniaf.raiselower::
27890bbfda8aSnia  This function raises the selected window to the top of the stacking order if
27900bbfda8aSnia  it is occluded by any windows, otherwise the window will be lowered.
27910bbfda8aSnia
27920bbfda8aSniaf.raiseorsqueeze::
27930bbfda8aSnia  Raise the window or squeeze it if it's a double click.  The time that
27940bbfda8aSnia  defines a double click is given by the `ConstrainedMoveTime` variable.
27950bbfda8aSnia+
27960bbfda8aSniaFirst appeared in 4.0.0.
27970bbfda8aSnia
27980bbfda8aSniaf.refresh::
27990bbfda8aSnia  This function causes all windows to be refreshed.
28000bbfda8aSnia
28010bbfda8aSniaf.removefromworkspace `string`::
28020bbfda8aSnia  This function removes the selected window from the workspace whose name
28030bbfda8aSnia  is `string`.
28040bbfda8aSnia
28050bbfda8aSniaf.rereadsounds::
28060bbfda8aSnia  This function causes the `.ctwm-sounds` file to be re-read.  Note that
28070bbfda8aSnia  this will *not* re-read sounds set in `RplaySounds` in the config file.
28080bbfda8aSnia  As a result, this function will probably go away in the future when
28090bbfda8aSnia  `.ctwm-sounds` support is removed.  See the SOUNDS section.
28100bbfda8aSnia
28110bbfda8aSniaf.rescuewindows::
28120bbfda8aSnia  If you somehow managed to move a window out of sight, calling this
28130bbfda8aSnia  function will check all windows and icons on currently visible virtual
28140bbfda8aSnia  screens, and those that are (nearly) out of the bounds of their virtual
28150bbfda8aSnia  screen will be brought completely inside (if that fits).
28160bbfda8aSnia+
28170bbfda8aSniaFirst appeared in 4.0.0.
28180bbfda8aSnia
28190bbfda8aSniaf.resize::
28200bbfda8aSnia  This function displays an outline of the selected window.  Crossing a border
28210bbfda8aSnia  (or setting `AutoRelativeResize`) will cause the outline to begin to
28220bbfda8aSnia  rubber band until the invoking button is released.  To abort a resize,
28230bbfda8aSnia  press another button before releasing the first button.
28240bbfda8aSnia
28250bbfda8aSniaf.restart::
28260bbfda8aSnia  This function kills and restarts ctwm.
28270bbfda8aSnia
28280bbfda8aSniaf.restoregeometry::
28290bbfda8aSnia  Restore the current window geometry to what was saved in the last
28300bbfda8aSnia  call to f.savegeometry.
28310bbfda8aSnia
28320bbfda8aSniaf.righticonmgr::
28330bbfda8aSnia  This function is similar to `f.nexticonmgr` except that wrapping does
28340bbfda8aSnia  not change rows.
28350bbfda8aSnia
28360bbfda8aSniaf.rightworkspace::
28370bbfda8aSnia  Goto the workspace immediately on the right of the current workspace in the
28380bbfda8aSnia  workspace manager. If the current workspace is the rightest one, goto the
28390bbfda8aSnia  leftest one in the same row. The result depends on the layout of the workspace
28400bbfda8aSnia  manager.
28410bbfda8aSnia
28420bbfda8aSniaf.rightzoom::
28430bbfda8aSnia  This function stretches the right side of the window out to the right
28440bbfda8aSnia  edge of the screen, or restores the original size if the window was
28450bbfda8aSnia  already rightzoom'd.
28460bbfda8aSnia
28470bbfda8aSniaf.ring::
28480bbfda8aSnia  Selects a window and adds it to the WarpRing, or removes it if it
28490bbfda8aSnia  was already in the ring. This command makes `f.warpring` much more
28500bbfda8aSnia  useful, by making its configuration dynamic.
28510bbfda8aSnia
28520bbfda8aSniaf.savegeometry::
28530bbfda8aSnia  The geometry of the current window is saved. The next call to
28540bbfda8aSnia  f.restoregeometry will restore this window to this geometry.
28550bbfda8aSnia
28560bbfda8aSniaf.saveyourself::
28570bbfda8aSnia  This function sends a `WM_SAVEYOURSELF` message to the selected window if it
28580bbfda8aSnia  has requested the message in its `WM_PROTOCOLS` window property.  Clients that
28590bbfda8aSnia  accept this message are supposed to checkpoint all state associated with the
28600bbfda8aSnia  window and update the `WM_COMMAND` property as specified in the ICCCM.  If
28610bbfda8aSnia  the selected window has not selected for this message, the keyboard bell
28620bbfda8aSnia  will be rung.
28630bbfda8aSnia
28640bbfda8aSniaf.separator::
28650bbfda8aSnia  Valid only in menus. The effect is to add a line separator between the
28660bbfda8aSnia  previous and the following entry. The name selector part in the menu is not
28670bbfda8aSnia  used (but must be present).
28680bbfda8aSnia
28690bbfda8aSniaf.setbuttonsstate::
28700bbfda8aSnia  Set the WorkSpace manager in button state.
28710bbfda8aSnia
28720bbfda8aSniaf.setmapstate::
28730bbfda8aSnia  Set the WorkSpace manager in map state.
28740bbfda8aSnia
28750bbfda8aSniaf.setpriority "`value`"::
28760bbfda8aSnia  Set the window's priority to `value` (enclosed between double quotes).
28770bbfda8aSnia  If `value` is directly followed by `<` or `b`, the window is
28780bbfda8aSnia  placed below other windows of the given priority. Otherwise it is placed
28790bbfda8aSnia  above.  See `OnTopPriority` variable for details.
28800bbfda8aSnia+
28810bbfda8aSniaFirst appeared in 4.0.0.
28820bbfda8aSnia
28830bbfda8aSniaf.showbackground::
28840bbfda8aSnia  This function unmaps all windows in the current workspace. This is a toggle
28850bbfda8aSnia  function, if all windows are unmapped, they are all remapped. Better bind this
28860bbfda8aSnia  function in the root context.
28870bbfda8aSnia
28880bbfda8aSniaf.showiconmgr::
28890bbfda8aSnia  This function maps the current icon manager.
28900bbfda8aSnia
28910bbfda8aSniaf.showworkspacemgr::
28920bbfda8aSnia  Map the WorkSpace manager.
28930bbfda8aSnia
28940bbfda8aSniaf.slowdownanimation::
28950bbfda8aSnia  Decrease `AnimationSpeed` by 1.
28960bbfda8aSnia
28970bbfda8aSniaf.sorticonmgr::
28980bbfda8aSnia  This function sorts the entries in the current icon manager alphabetically.
28990bbfda8aSnia  See the variable `SortIconManager`.
29000bbfda8aSnia
29010bbfda8aSniaf.speedupanimation::
29020bbfda8aSnia  Increase `AnimationSpeed` by 1.
29030bbfda8aSnia
29040bbfda8aSniaf.squeeze::
29050bbfda8aSnia  f.squeeze squeezes a window to a null vertical size. Works only for windows
29060bbfda8aSnia  with either a title, or a 3D border (in order to have something left on the
29070bbfda8aSnia  screen). If the window is already squeezed, it is unsqueezed.
29080bbfda8aSnia
29090bbfda8aSniaf.startanimation::
29100bbfda8aSnia  Restart freezed animations (if any).
29110bbfda8aSnia
29120bbfda8aSniaf.stopanimation::
29130bbfda8aSnia  Freeze animations (if any).
29140bbfda8aSnia
29150bbfda8aSniaf.switchpriority::
29160bbfda8aSnia  Switch the window's priority, independently of its ability to switch
29170bbfda8aSnia  automatically.  X-ref `OnTopPriority` and `PrioritySwitching`
29180bbfda8aSnia  variables.
29190bbfda8aSnia+
29200bbfda8aSniaFirst appeared in 4.0.0.
29210bbfda8aSnia
29220bbfda8aSniaf.tinylower::
29230bbfda8aSnia
29240bbfda8aSniaf.tinyraise::
29250bbfda8aSnia  These two functions allow you to raise/lower a window "one step" at
29260bbfda8aSnia  a time. For instance, `f.tinyraise` will bring the current window
29270bbfda8aSnia  just above the lowest one that's hiding it. These two functions are not
29280bbfda8aSnia  subject to priority-switching.
29290bbfda8aSnia+
29300bbfda8aSniaFirst appeared in 4.0.0.
29310bbfda8aSnia
29320bbfda8aSniaf.title::
29330bbfda8aSnia  This function provides a centered, unselectable item in a menu definition.  It
29340bbfda8aSnia  should not be used in any other context.
29350bbfda8aSnia
29360bbfda8aSniaf.toggleoccupation `string`::
29370bbfda8aSnia  This function adds the selected window to the workspace whose name
29380bbfda8aSnia  is `string` if it doesn't already belongs to it, and removes it
29390bbfda8aSnia  from this workspace if not.
29400bbfda8aSnia
29410bbfda8aSniaf.togglesound::
29420bbfda8aSnia  Toggle sound on/off.  See the SOUNDS section.
29430bbfda8aSnia
29440bbfda8aSniaf.togglestate::
29450bbfda8aSnia  Toggle the state of the WorkSpace manager.
29460bbfda8aSnia
29470bbfda8aSniaf.toggleworkspacemgr::
29480bbfda8aSnia  Toggle the presence of the WorkSpaceManager. If
29490bbfda8aSnia  it is mapped, it will be unmapped and vice versa.
29500bbfda8aSnia
29510bbfda8aSniaf.topzoom::
29520bbfda8aSnia  This function stretches the top side of the window out to the top
29530bbfda8aSnia  edge of the screen, or restores the original size if the window was
29540bbfda8aSnia  already topzoom'd.
29550bbfda8aSnia
29560bbfda8aSniaf.trace `string`::
29570bbfda8aSnia  Used for handling dumping debug output.  If a filename is given in
29580bbfda8aSnia  `string`, begins writing output to that file; if `string` is `"stderr"`
29590bbfda8aSnia  writes to stderr.  If debug file is already open, calling f.trace again
29600bbfda8aSnia  closes it.
29610bbfda8aSnia+
29620bbfda8aSnia[normal]
29630bbfda8aSnia  This is probably only useful if you're doing development on ctwm.
29640bbfda8aSnia
29650bbfda8aSniaf.twmrc::
29660bbfda8aSnia  Alias for +f.restart+.
29670bbfda8aSnia
29680bbfda8aSniaf.unfocus::
29690bbfda8aSnia  This function resets the focus back to pointer-driven.  This should be used
29700bbfda8aSnia  when a focused window is no longer desired.
29710bbfda8aSnia
29720bbfda8aSniaf.unsqueeze::
29730bbfda8aSnia  Is to `f.squeeze` what `f.deiconify` is to `f.iconify`.
29740bbfda8aSnia+
29750bbfda8aSniaFirst appeared in 4.0.0.
29760bbfda8aSnia
29770bbfda8aSniaf.upiconmgr::
29780bbfda8aSnia  This function warps the pointer to the previous row in the current icon
29790bbfda8aSnia  manager, wrapping to the last row in the same column if necessary.
29800bbfda8aSnia
29810bbfda8aSniaf.upworkspace::
29820bbfda8aSnia  Goto the workspace immediately above the current workspace in the workspace
29830bbfda8aSnia  manager. If the current workspace is the top one, goto the bottom one in the
29840bbfda8aSnia  same column. The result depends on the layout of the workspace manager.
29850bbfda8aSnia
29860bbfda8aSniaf.vanish::
29870bbfda8aSnia  The specified window vanishes from the current workspace if it occupies at least
29880bbfda8aSnia  one other WorkSpace. Do nothing in the others cases.
29890bbfda8aSnia
29900bbfda8aSniaf.version::
29910bbfda8aSnia  This function causes the ctwm version window to be displayed.  This
29920bbfda8aSnia  window will be displayed until a pointer button is pressed or the
29930bbfda8aSnia  pointer is moved from one window to another.
29940bbfda8aSnia
29950bbfda8aSniaf.vlzoom::
29960bbfda8aSnia  This function is a synonym for `f.leftzoom`.
29970bbfda8aSnia
29980bbfda8aSniaf.vrzoom::
29990bbfda8aSnia  This function is a synonym for `f.rightzoom`.
30000bbfda8aSnia
30010bbfda8aSniaf.warphere `win_name`::
30020bbfda8aSnia  This function adds the window which has a name or class that matches string
30030bbfda8aSnia  to the current workspace and warps the pointer to it. If the window is iconified,
30040bbfda8aSnia  it will be deiconified if the variable WarpUnmapped is set or else ignored.
30050bbfda8aSnia
30060bbfda8aSniaf.warpring `string`::
30070bbfda8aSnia  This function warps the pointer to the next or previous window (as indicated
30080bbfda8aSnia  by the argument `string`, which may be `"next"` or `"prev"`)
30090bbfda8aSnia  specified in the `WindowRing` variable.
30100bbfda8aSnia
30110bbfda8aSniaf.warpto `string`::
30120bbfda8aSnia  This function warps the pointer to the window which has a name or class
30130bbfda8aSnia  that matches `string`.  If the window is iconified, it will be deiconified
30140bbfda8aSnia  if the variable `WarpUnmapped` is set or else ignored.
30150bbfda8aSnia
30160bbfda8aSniaf.warptoiconmgr `string`::
30170bbfda8aSnia  This function warps the pointer to the icon manager entry
30180bbfda8aSnia  associated with the window containing the pointer in the icon manager
30190bbfda8aSnia  specified by the argument `string`.  If `string` is empty (i.e. ""),
30200bbfda8aSnia  the current icon manager is chosen.
30210bbfda8aSnia
30220bbfda8aSniaf.warptoscreen `string`::
30230bbfda8aSnia  This function warps the pointer to the screen specified by the
30240bbfda8aSnia  argument `string`.  The argument may be a number (e.g. `"0"` or
30250bbfda8aSnia  `"1"`), the word `"next"` (indicating the current screen plus 1,
30260bbfda8aSnia  skipping over any unmanaged screens),
30270bbfda8aSnia  the word `"back"` (indicating the current screen minus 1, skipping over
30280bbfda8aSnia  any unmanaged screens), or the word
30290bbfda8aSnia  `"prev"` (indicating the last screen visited).
30300bbfda8aSnia
30310bbfda8aSniaf.winrefresh::
30320bbfda8aSnia  This function is similar to the `f.refresh` function except that only the
30330bbfda8aSnia  selected window is refreshed.
30340bbfda8aSnia
30350bbfda8aSniaf.zoom::
30360bbfda8aSnia  This function stretches the window so that it covers the whole height of
30370bbfda8aSnia  the screen, or restores the original size if the window was already
30380bbfda8aSnia  zoom'd.  It's the vertical counterpart fo `f.horizoom`; perhaps
30390bbfda8aSnia  `f.vertzoom` would be a better name...
30400bbfda8aSnia
30410bbfda8aSnia
30420bbfda8aSnia== MENUS
30430bbfda8aSniaFunctions may be grouped and interactively selected using pop-up
30440bbfda8aSnia(when bound to a pointer button) or pull-down (when associated
30450bbfda8aSniawith a titlebutton) menus.  Each menu specification contains the name of the
30460bbfda8aSniamenu as it will be referred to by `f.menu`, optional default
30470bbfda8aSniaforeground and background colors, the list of item names and the functions
30480bbfda8aSniathey should invoke, and optional foreground and background colors for
30490bbfda8aSniaindividual items:
30500bbfda8aSnia
30510bbfda8aSnia------
30520bbfda8aSniaMenu "menuname" [ ("deffg":"defbg") ]
30530bbfda8aSnia{
30540bbfda8aSnia    string1  [ ("fg1":"bg1") ]  function1
30550bbfda8aSnia    string2  [ ("fg2":"bg2") ]  function2
30560bbfda8aSnia        .
30570bbfda8aSnia        .
30580bbfda8aSnia        .
30590bbfda8aSnia    stringN  [ ("fgN":"bgN") ]  functionN
30600bbfda8aSnia}
30610bbfda8aSnia------
30620bbfda8aSnia
30630bbfda8aSnia
30640bbfda8aSniaThe `menuname` is case-sensitive.
30650bbfda8aSniaThe optional `deffg` and `defbg` arguments specify the foreground
30660bbfda8aSniaand background colors used on a color display
30670bbfda8aSniato highlight menu entries.
30680bbfda8aSniaThe `string` portion
30690bbfda8aSniaof each menu entry will be the text which will appear in the menu.
30700bbfda8aSniaThe optional `fgN` and `bgN` arguments specify the foreground
30710bbfda8aSniaand background colors of the menu entry when the pointer is not in
30720bbfda8aSniathe entry.  These colors will only be used on a color display.  The
30730bbfda8aSniadefault is to use the colors specified by the
30740bbfda8aSnia`MenuForeground` and `MenuBackground` variables.
30750bbfda8aSniaThe `function` portion of the menu entry is one of the functions,
30760bbfda8aSniaincluding any user-defined functions, or additional menus.
30770bbfda8aSnia
30780bbfda8aSniaIf an entry name begins with a ``*'' (star), this star won't be displayed and
30790bbfda8aSniathe corresponding entry will be the default entry for this menu. When a menu
30800bbfda8aSniahas a default entry and is used as a submenu of another menu, this default entry
30810bbfda8aSniaaction will be executed automatically when this submenu is selected without being
30820bbfda8aSniadisplayed. It's hard to explain, but easy to understand.
30830bbfda8aSnia
30840bbfda8aSnia=== Special Menus
30850bbfda8aSnia
30860bbfda8aSniaThere are several special menus.
30870bbfda8aSnia
30880bbfda8aSnia`TwmWindows` contains the names of all of the client and ctwm-supplied
30890bbfda8aSniawindows in the current workspace.  Selecting an entry will cause the
30900bbfda8aSnia`WindowFunction` to be executed on that window.  If `WindowFunction`
30910bbfda8aSniahasn't been set, the window will be deiconified and raised.
30920bbfda8aSnia
30930bbfda8aSnia`TwmVisible` lists those windows which are currently deiconified (first
30940bbfda8aSniaappeared in 3.7).
30950bbfda8aSnia`TwmIcons` lists only those which are currently iconified.
30960bbfda8aSnia
30970bbfda8aSnia`TwmAllWindows` and `TwmAllIcons` act similarly to the non-All variants
30980bbfda8aSniadescribed above, except that they show windows in all workspaces, rather
30990bbfda8aSniathan just the current one.
31000bbfda8aSnia
31010bbfda8aSnia`TwmWorkspaces` contains the names of your workspaces, selecting an entry
31020bbfda8aSniagoto this workspace. In addition, these entries have submenus containing
31030bbfda8aSniathe names of all windows occupying this workspace, selecting such an
31040bbfda8aSniaentry executes `f.warpto` on this window.
31050bbfda8aSnia
31060bbfda8aSnia`TwmKeys` lists all the keybindings in the root context that invoke
31070bbfda8aSnia`f.exec`.  First appeared in 3.7.
31080bbfda8aSnia
31090bbfda8aSnia
31100bbfda8aSnia== ICONS
31110bbfda8aSniactwm supports several different ways of manipulating iconified windows.
31120bbfda8aSniaThe common pixmap-and-text style may be laid out by hand or automatically
31130bbfda8aSniaarranged as described by the `IconRegion` variable.  In addition, a
31140bbfda8aSniaterse grid of icon names, called an icon manager, provides a more efficient
31150bbfda8aSniause of screen space as well as the ability to navigate among windows from
31160bbfda8aSniathe keyboard.
31170bbfda8aSnia
31180bbfda8aSniaAn icon manager is a window that contains names of selected or all
31190bbfda8aSniawindows currently on the display.  In addition to the window name,
31200bbfda8aSniaa small button using the default iconify symbol will be displayed to the
31210bbfda8aSnialeft of the name when the window is iconified.  By default, clicking on an
31220bbfda8aSniaentry in the icon manager performs `f.iconify`.
31230bbfda8aSniaTo change the actions taken in the icon manager, use the
31240bbfda8aSniathe `iconmgr` context when specifying button and keyboard bindings.
31250bbfda8aSnia
31260bbfda8aSniaMoving the pointer into the icon manager also directs keyboard focus to
31270bbfda8aSniathe indicated window (setting the focus explicitly or else sending synthetic
31280bbfda8aSniaevents `NoTitleFocus` is set).
31290bbfda8aSniaUsing the `f.upiconmgr`, `f.downiconmgr`
31300bbfda8aSnia`f.lefticonmgr`, and
31310bbfda8aSnia`f.righticonmgr` functions,
31320bbfda8aSniathe input focus can be changed between windows directly from the
31330bbfda8aSniakeyboard.
31340bbfda8aSnia
31350bbfda8aSnia
31360bbfda8aSnia== X WINDOW PROPERTIES
31370bbfda8aSnia
31380bbfda8aSniaAs a window manager, ctwm reads and sets a huge variety of properties on
31390bbfda8aSniathe windows it manages and the windows it creates.  Most of that is
31400bbfda8aSniabeyond the scope of user documentation.  However, a few points are worth
31410bbfda8aSniamentioning.
31420bbfda8aSnia
31430bbfda8aSnia=== Window Naming
31440bbfda8aSnia
31450bbfda8aSniaWindows get their names via X properties.  There are two types of names;
31460bbfda8aSniathe window name (which is what shows up in the titlebar, the `f.identify`
31470bbfda8aSniawindow, etc), and the icon name (which shows up on the icon and on the
31480bbfda8aSniaicon manager).
31490bbfda8aSnia
31500bbfda8aSniaPrior to 4.0.2, ctwm only supported the standard ICCCM properties for
31510bbfda8aSniasetting the window and icon names.  These are `WM_NAME` for the window
31520bbfda8aSnianame, and `WM_ICON_NAME` for the icon name.  As of 4.0.2, ctwm also
31530bbfda8aSniasupports the EWMH versions of these, which are `_NET_WM_NAME` and
31540bbfda8aSnia`_NET_WM_ICON_NAME`.  If the EWMH variants exist, they're used in
31550bbfda8aSniapreference to the older ICCCM style.
31560bbfda8aSnia
31570bbfda8aSniaAs of 4.0.2, ctwm also supports an additional pair of properties;
31580bbfda8aSnia`CTWM_WM_NAME` and `CTWM_WM_ICON_NAME`, which override all the others.
31590bbfda8aSniaThese are specifically intended for the user to manually set, not for
31600bbfda8aSniaprograms to set themselves.  This allows the user to override programs
31610bbfda8aSniathat name themselves unhelpfully, or to otherwise label things to their
31620bbfda8aSnialiking.
31630bbfda8aSnia
31640bbfda8aSniaYou can set these via any method you'd use to set window properties.
31650bbfda8aSniaFrom the command line, the `xprop(1)` tool is widely available, if a
31660bbfda8aSnialittle clunky.  So, for instance, to set the icon name of a window
31670bbfda8aSnia(changing how it looks in the icon manager), but leave the window name
31680bbfda8aSniaalone as the program itself normally sets it (leaving the titlebar
31690bbfda8aSnianormal), you could run a command like:
31700bbfda8aSnia
31710bbfda8aSnia----
31720bbfda8aSniaxprop -f CTWM_WM_ICON_NAME 8u -set CTWM_WM_ICON_NAME "I hate this window"
31730bbfda8aSnia----
31740bbfda8aSnia
31750bbfda8aSniaand then click the window you want to set it on.  Unfortunately,
31760bbfda8aSnia`xprop(1)` does require you to specify the property name when defining
31770bbfda8aSniathe format, as well as when setting it, so it's a little ugly.  The `8u`
31780bbfda8aSniameans you're giving a UTF-8 string.  Other possible formats are `8s` for
31790bbfda8aSniaa plain 7-bit `STRING` (i.e, plain ASCII), and `8t` for
31800bbfda8aSnia``internationalized'' ICCCM-style `COMPOUND_TEXT`.  Usually you'd just
31810bbfda8aSniause UTF-8 though.  `xprop -remove CTWM_WM_ICON_NAME` and click would let
31820bbfda8aSniayou undo it and go back to the normal naming.  See the `xprop(1)` manual
31830bbfda8aSniafor more.
31840bbfda8aSnia
31850bbfda8aSnia
31860bbfda8aSnia== SOUNDS
31870bbfda8aSniaIf built with the `USE_SOUND` option, ctwm is able to play sounds
31880bbfda8aSniafor any X event.  This may be configured in two ways.
31890bbfda8aSnia
31900bbfda8aSniaAs of 4.0.0, the sounds may be configured in the ctwmrc with the
31910bbfda8aSnia`RplaySounds` config parameter.  See above for details.
31920bbfda8aSnia
31930bbfda8aSniaIf that is not found, or in older versions, ctwm will look for the file
31940bbfda8aSnia`.ctwm-sounds` in the user's home directory to map every X event to a
31950bbfda8aSniasound file to be played.  Each line in `.ctwm-sounds` has the following
31960bbfda8aSniasyntax:
31970bbfda8aSnia
31980bbfda8aSnia------
31990bbfda8aSnia{X event}: {sound file}
32000bbfda8aSnia------
32010bbfda8aSnia
32020bbfda8aSniaIf `RplaySounds` is given in the config file, and `.ctwm-sounds` exists,
32030bbfda8aSniaa warning will be given, and the contents of `.ctwm-sounds` will be
32040bbfda8aSniaignored.  All support for `.ctwm-sounds` will be removed in a future
32050bbfda8aSniaversion, leaving only the ctwmrc configuration method available
32060bbfda8aSnia
32070bbfda8aSniaHowever configured, the currently known X events that can be given are:
32080bbfda8aSnia
32090bbfda8aSnia------
32100bbfda8aSniaKeyPress
32110bbfda8aSniaKeyRelease
32120bbfda8aSniaButtonPress
32130bbfda8aSniaButtonRelease
32140bbfda8aSniaMotionNotify
32150bbfda8aSniaEnterNotify
32160bbfda8aSniaLeaveNotify
32170bbfda8aSniaFocusIn
32180bbfda8aSniaFocusOut
32190bbfda8aSniaKeymapNotify
32200bbfda8aSniaExpose
32210bbfda8aSniaGraphicsExpose
32220bbfda8aSniaNoExpose
32230bbfda8aSniaVisibilityNotify
32240bbfda8aSniaCreateNotify
32250bbfda8aSniaDestroyNotify
32260bbfda8aSniaUnmapNotify
32270bbfda8aSniaMapNotify
32280bbfda8aSniaMapRequest
32290bbfda8aSniaReparentNotify
32300bbfda8aSniaConfigureNotify
32310bbfda8aSniaConfigureRequest
32320bbfda8aSniaGravityNotify
32330bbfda8aSniaResizeRequest
32340bbfda8aSniaCirculateNotify
32350bbfda8aSniaCirculateRequest
32360bbfda8aSniaPropertyNotify
32370bbfda8aSniaSelectionClear
32380bbfda8aSniaSelectionRequest
32390bbfda8aSniaSelectionNotify
32400bbfda8aSniaColormapNotify
32410bbfda8aSniaClientMessage
32420bbfda8aSniaMappingNotify
32430bbfda8aSnia------
32440bbfda8aSnia
32450bbfda8aSniaAdditionally, the following two are recognised, and represent the time
32460bbfda8aSniawhen ctwm is started or shut down:
32470bbfda8aSnia
32480bbfda8aSnia------
32490bbfda8aSniaStartup
32500bbfda8aSniaShutdown
32510bbfda8aSnia------
32520bbfda8aSnia
32530bbfda8aSnia
32540bbfda8aSnia== BUGS
32550bbfda8aSniaThe resource manager should have been used instead of all of the window
32560bbfda8aSnialists.
32570bbfda8aSnia
32580bbfda8aSniaDouble clicking very fast to get the constrained move function will sometimes
32590bbfda8aSniacause the window to move, even though the pointer is not moved.
32600bbfda8aSnia
32610bbfda8aSniaIf `IconifyByUnmapping` is on and windows are listed in
32620bbfda8aSnia`IconManagerDontShow` but not in `DontIconifyByUnmapping`,
32630bbfda8aSniathey may be lost if they are iconified and no bindings to
32640bbfda8aSnia`f.menu "TwmWindows"` or `f.warpto` are setup.
32650bbfda8aSnia
32660bbfda8aSnia== FILES
32670bbfda8aSniaSee earlier Customization section.
32680bbfda8aSnia
32690bbfda8aSnia== ENVIRONMENT VARIABLES
32700bbfda8aSnia
32710bbfda8aSniaDISPLAY::
32720bbfda8aSnia  This variable is used to determine which X server to use.  It is also set
32730bbfda8aSnia  during `f.exec` so that programs come up on the proper screen.
32740bbfda8aSnia
32750bbfda8aSniaHOME::
32760bbfda8aSnia  This variable is used as the prefix for files that begin with a tilde and
32770bbfda8aSnia  for locating the ctwm startup file.
32780bbfda8aSnia
32790bbfda8aSnia
32800bbfda8aSnia== SEE ALSO
32810bbfda8aSniaX(1), Xserver(1), xdm(1), xrdb(1)
32820bbfda8aSnia
32830bbfda8aSnia== COPYRIGHT
32840bbfda8aSniaPortions copyright 1988 Evans & Sutherland Computer Corporation; portions
32850bbfda8aSniacopyright 1989 Hewlett-Packard Company and the Massachusetts Institute of
32860bbfda8aSniaTechnology,  See `X(1)` for a full statement of rights and permissions.
32870bbfda8aSnia
32880bbfda8aSniaSee COPYRIGHT file in distribution for more information.
32890bbfda8aSnia
32900bbfda8aSnia== AUTHORS
32910bbfda8aSnia
32920bbfda8aSnia=== TWM
32930bbfda8aSniaTom LaStrange, Solbourne Computer; Jim Fulton, MIT X Consortium;
32940bbfda8aSniaSteve Pitschke, Stardent Computer; Keith Packard, MIT X Consortium;
32950bbfda8aSniaDave Sternlicht, MIT X Consortium; Dave Payne, Apple Computer.
32960bbfda8aSnia
32970bbfda8aSnia=== CTWM
32980bbfda8aSniaClaude Lecommandeur, Swiss Polytechnical Institute of Lausanne
32990bbfda8aSnia(lecom@sic.epfl.ch);
33000bbfda8aSniaRichard Levitte (richard@levitte.org);
33010bbfda8aSniaMatthew Fuller (fullermd@over-yonder.net);
33020bbfda8aSniaand many other contributors.
33030bbfda8aSnia
33040bbfda8aSnia== VERSION
33050bbfda8aSniaThis manual is build for ctwm @ctwm_version_str@.
33060bbfda8aSnia
33070bbfda8aSnia
33080bbfda8aSnia
33090bbfda8aSnia// vim:ft=asciidoc:expandtab:
3310