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