The string guard maybe set to pose limits on _sub. Currently supported guards are _sub:non-nil and _sub:WFoobar, where WFoobar is a class.
Similarly to sed's 's' command, rule may contain characters that are inserted in the resulting string and specials as follows:
Special | Description |
$0 | Place the original string here. |
$1 to $9 | Insert n:th capture here (as usual,captures are surrounded by parentheses in the regex). |
$| | Alternative shortening separator. The shortening described before the first this kind of separator is tried first and if it fails to make the string short enough, the next is tried, and so on. |
$< | Remove characters on the left of this marker to shorten the string. |
$> | Remove characters on the right of this marker to shorten the string. Only the first $< or $> within an alternative shortening is used. |
Note that this function is asynchronous; the screen will not actually have received the focus when this function returns.
Note that this function is asynchronous; the screen will not actually have received the focus when this function returns.
Note that this function is asynchronous; the screen will not actually have received the focus when this function returns.
Note that this function is asynchronous; the region will not actually have received the focus when this function returns.
Field | Description |
opaque_resize | (boolean) Controls whether interactive move and resize operations simply draw a rubberband during the operation (false) or immediately affect the object in question at every step (true). |
warp | (boolean) Should focusing operations move the pointer to the object to be focused? |
switchto | (boolean) Should a managing WMPlex switch to a newly mapped client window? |
screen_notify | (boolean) Should notification tooltips be displayed for hidden workspaces with activity? |
dblclick_delay | (integer) Delay between clicks of a double click. |
default_ws_type | (string) Default workspace type for operations that create a workspace. |
kbresize_delay | (integer) Delay in milliseconds for ending keyboard resize mode after inactivity. |
kbresize_t_max | (integer) Controls keyboard resize acceleration. See description below for details. |
kbresize_t_min | (integer) See below. |
kbresize_step | (floating point) See below. |
kbresize_maxacc | (floating point) See below. |
When a keyboard resize function is called, and at most kbresize_t_max milliseconds has passed from a previous call, acceleration factor is reset to 1.0. Otherwise, if at least kbresize_t_min milliseconds have passed from the from previous acceleration update or reset the squere root of the acceleration factor is incremented by kbresize_step. The maximum acceleration factor (pixels/call modulo size hints) is given by kbresize_maxacc. The default values are (200, 50, 30, 100).
Field | Description |
type | Class name (a string) of the object to be created. Mandatory. |
name | Name of the object to be created (a string). Optional. |
switchto | Should the region be switched to (boolean)? Optional. |
index | Index of the new region in mplex's list of managed objects (integer, 0 = first). Optional. |
layer | Layer to attach on; 1 (default) or 2. |
passive | Is a layer 2 object passive/skipped when deciding object to gives focus to (boolean)? Optional. |
In addition parameters to the region to be created are passed in this same table.
Field | Description |
pos | The corner of the screen to place the status display in. One of tl, tr, bl or br. |
action | If this field is set to keep, corner and orientation are changed for the existing status display. If this field is set to remove, the existing status display is removed. If this field is not set or is set to replace, a new status display is created and the old, if any, removed. |
horizmul/vertmul | effect |
-1 | Move left/up |
0 | No effect |
1 | Move right/down |
Note that this function is asynchronous; the region will not actually have received the focus when this function returns.
Note that this function is asynchronous; the region will not actually have received the focus when this function returns.
The method can be one of ''udlr'', ''lrud'' (default) and ''random''. The ''udlr'' method looks for free space starting from top the top left corner of the workspace moving first down keeping the x coordinate fixed. If it find no free space, it start looking similarly at next x coordinate unoccupied by other objects and so on. ''lrud' is the same but with the role of coordinates changed and both fall back to ''random'' placement if no free area was found.
Field | Description |
switchto | Should the region be switched to (boolean)? Optional. |
geom | Geometry; x and y, if set, indicates top-left of the frame to be created while width and height, if set, indicate the size of the client window within that frame. Optional. |
Field | Description |
template | layout template for newly created WPaneWS workspaces. This can be either a table or one of the predefined layouts 'default', 'alternative1', and 'alternative2'. |
scalef | Scale factor for classification heuristics to work with different screen resolutions. The default is 1.0 and is designed for 1280x1024 at 75dpi. |
valid_classifications | A table with valid window classifications as valid keys. |
Field | Description |
autoshowcompl | (boolean) Is auto-show-completions enabled? (default: true). |
autoshowcompl_delay | (integer) auto-show-completions delay in milliseconds (default: 250). |
Note that this function is asynchronous; the selection will not actually be inserted before Ion receives it. This will be no earlier than Ion return to its main loop.
Field | Description |
scroll_amount | Number of pixels to scroll at a time pointer-controlled menus when one extends beyond a border of the screen and the pointer touches that border. |
scroll_delay | Time between such scrolling events in milliseconds. |
Key | Values | Description |
name | string | Name of dock |
pos | string in
![]() |
Dock position. Can only be used in floating mode. |
grow | up/down/left/right | Growth direction where new dockapps are added. Also sets orientation for dock when working as WMPlex status display (see WMPlex.set_stdisp). |
is_auto | bool | Should dock automatically manage new dockapps? |
Any parameters not explicitly set in conftab will be left unchanged.
Field | Type | Description |
switchto | bool | Do we want to switch to the client window. |
jumpto | bool | Do we want to jump to the client window. |
userpos | bool | Geometry set by user. |
dockapp | bool | Client window is a dockapp. |
maprq | bool | Map request (and not initialisation scan). |
gravity | number | Window gravity. |
geom | table | Requested geometry; x, y, w, h. |
tfor | WClientWin | Transient for window. |
This hook is not called in protected mode and can be used for arbitrary placement policies (deciding in which workspace a new WClientWin should go). In this case, you can call
reg:attach(cwin)where reg is the region where the window should go, and cwin is the first argument of the function added to the hook.
Field | Type | Description |
reg | WFrame | The frame in question |
mode | string | "switchonly", "reorder", "add" or "remove" |
sw | bool | Switch occured |
sub | WRegion | The managed region (primarily) affected |
Field | Type | Description |
ws | WIonWS | The workspace |
reg | WRegion | The region (always a WClientWin at the moment) to be placed |
mp | table | This table contains the same fields as the parameter of clientwin_do_manage_alt |
res_frame | WFrame | A succesfull handler should return the target frame here. |
Field | Type | Description |
ws | WPaneWS | The workspace |
frame | WFrame | A frame initially allocated for the region to be placed |
reg | WRegion | The region to be placed |
specifier | WRegion | For drag&drop on handling empty areas |
The handler should set some of these fields on success:
Field | Type | Description |
res_node | WSplit | Target split |
res_config | WFrame | New configuration for it, unless WSplitRegion |
res_w | integer | New width for target split (optional) |
res_h | integer | New height for target split (optional) |