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