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.
For GUI commands, you might prefer to use mod_query.exec_on_merr(), which monitors the process's stderr and shows any output as warnings on the screen instead of in notions own output.
Note that this function is asynchronous; the region will not actually have received the focus when this function returns.
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? |
warp_margin | (integer) Border offset in pixels to apply to the cursor when warping. |
warp_factor | (double[2]) X and Y factor to offset the cursor. between 0 and 1, where 0.5 is the center. |
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? |
frame_default_index | (string) Specifies where to add new regions on the mutually exclusive list of a frame. One of ”last”, ”next” (for after current), ”next-act” (for after current and anything with activity right after it). |
dblclick_delay | (integer) Delay between clicks of a double click. |
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. |
framed_transients | (boolean) Put transients in nested frames. |
float_placement_method | (string) How to place floating frames. One of ”udlr” (up-down, then left-right), ”lrud” (left-right, then up-down) or ”random”. |
unsqueeze | (boolean) Auto-unsqueeze transients/menus/queries/etc. |
window_dialog_float | (boolean) Float dialog type windows. |
autoraise | (boolean) Autoraise regions in groups on goto. |
autosave_layout | (boolean) Automatically save layout on restart and exit. |
window_stacking_request | (string) How to respond to window-stacking requests. `ignore' to do nothing, `activate' to set the activity flag on a window requesting to be stacked Above. |
focuslist_insert_delay | (integer) Time (in ms) that a window must stay focused in order to be added to the focus list. If this value is set <=0, this logic is disabled: the focus list is updated immediately |
activity_notification_on_all_screens | (boolean) If enabled, activity notifiers are displayed on ALL the screens, not just the screen that contains the window producing the notification. This is only relevant on multi-head setups. By default this is disabled |
workspace_indicator_timeout | (integer) If enabled, a workspace indicator comes up at the bottom-left of the screen when a new workspace is selected. This indicator stays active for only as long as indicated by this variable (in ms). Timeout values <=0 disable the indicator altogether. This is disabled by default |
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).
{switchto=true}
is used.
In addition parameters to the region to be created are passed in this same table.
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 |
type | (string) Class name (a string) of the object to be created. |
name | (string) Name of the object to be created (a string). |
switchto | (boolean) Should the region be switched to (boolean)? |
unnumbered | (boolean) Do not put on the numbered mutually exclusive list. |
index | (integer) Index on this list, same as for WMPlex.set_index. |
level | (integer) Stacking level. |
modal | (boolean) Shortcut for modal stacking level. |
hidden | (boolean) Attach hidden, if not prevented by e.g. the mutually exclusive list being empty. This option overrides switchto. |
sizepolicy | (string) Size policy; see Section ![]() |
geom | (table) Geometry specification. |
In addition parameters to the region to be created are passed in this same table.
-1 | Last. |
-2 | After WMPlex.mx_current. |
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.
I'm not *entirely* sure what 'safe' means, but this doesn't change internal notion state, so I guess it's 'safe'... This function is considered safe.
Field | Description |
autoshowcompl | (boolean) Is auto-show-completions enabled? (default: true). |
autoshowcompl_delay | (integer) auto-show-completions delay in milliseconds (default: 250). |
caseicompl | (boolean) Turn some completions case-insensitive (default: true). |
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 {t, m, b}×{t, c, b} | 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 dock-app. |
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 occurred |
sub | WRegion | The managed region (primarily) affected |
Field | Type | Description |
tiling | WTiling | The tiling |
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 successful handler should return the target frame here. |
String | Description |
deinit | The region is about to be deinitialised. |
activated | The region has received focus. |
inactivated | The region has lost focus. |
activity | There's been activity in the region itself. |
sub_activity | There's been activity in some sub-region. |
name | The name of the region has changed. |
unset_manager | The region no longer has a manager. |
set_manager | The region now has a manager. |
tag | Tagging state has changed. |
pseudoactivated | The region has become pseudo-active (see below). |
pseudoinactivated | The region is no longer pseudo-active. |
A region is pseudo-active, when a) it is itself not active (does not not have the focus, and may not even have a window that could have it), but b) some region managed by it is active.
Some functions accept a sizepolicy parameter. The possible values are:
The “free” policies allow the managed object to be moved around, whereas the other versions do not. The “glue” policies glue the object to some border, while allowing it to be moved away from it by user action, but not automatically. The “stretch” policies stretch the object along the given border, while the coordinate-based policies simply place the object along that border.