Select a node.
----
-NODE_SEL := (DIR|CYCLE_DIR|PATH|last|older|newer|focused|biggest|<node_id>)[.[!]focused][.[!]automatic][.[!]local][.[!]leaf][.[!]window][.[!]STATE][.[!]FLAG][.[!]LAYER][.[!]same_class]
+NODE_SEL := (DIR|CYCLE_DIR|PATH|last|older|newer|focused|pointed|biggest|<node_id>)[.[!]focused][.[!]automatic][.[!]local][.[!]leaf][.[!]window][.[!]STATE][.[!]FLAG][.[!]LAYER][.[!]same_class]
STATE := tiled|pseudo_tiled|floating|fullscreen
-FLAG := urgent|sticky|private|locked
+FLAG := hidden|sticky|private|locked|urgent
LAYER := below|normal|above
focused::
Selects the currently focused node.
+pointed::
+ Selects the window under the pointer.
+
biggest::
Selects the biggest window on the current desktop.
[!]same_class::
Only consider windows that have or don't have the same class as the current window.
-[!](private|urgent|sticky|locked)::
+[!](hidden|sticky|private|locked|urgent)::
Only consider windows that have or don't have the given flag set.
[!](below|normal|above)::
Node Flags
----------
-locked::
- Ignores the *node --close* message.
+hidden::
+ Is hidden and doesn't occupy any tiling space.
sticky::
Stays in the focused desktop of its monitor.
private::
Tries to keep the same tiling position/size.
+locked::
+ Ignores the *node --close* message.
+
urgent::
Has its urgency hint set. This flag is set externally.
node ['NODE_SEL'] 'COMMANDS'
+If 'NODE_SEL' is omitted, *focused* is assumed.
+
Commands
^^^^^^^^
*-f*, *--focus* ['NODE_SEL']::
*-t*, *--state* [~](tiled|pseudo_tiled|floating|fullscreen)::
Set the state of the selected window. If *~* is present and the current state matches the given state, then the argument is interpreted as the last state.
-*-g*, *--flag* locked|sticky|private[=on|off]::
+*-g*, *--flag* hidden|sticky|private|locked[=on|off]::
Set or toggle the given flag for the selected node.
*-l*, *--layer* below|normal|above::
desktop ['DESKTOP_SEL'] 'COMMANDS'
+If 'DESKTOP_SEL' is omitted, *focused* is assumed.
+
COMMANDS
^^^^^^^^
*-f*, *--focus* ['DESKTOP_SEL']::
monitor ['MONITOR_SEL'] 'COMMANDS'
+If 'MONITOR_SEL' is omitted, *focused* is assumed.
+
Commands
^^^^^^^^
*-f*, *--focus* ['MONITOR_SEL']::
Options
^^^^^^^
-[*-m*,*--monitor* ['MONITOR_SEL']] | [*-d*,*--desktop* ['DESKTOP_SEL']] | [*-n*, *--node* ['NODE_SEL']]::
+*-m*,*--monitor* ['MONITOR_SEL']::
+*-d*,*--desktop* ['DESKTOP_SEL']::
+*-n*, *--node* ['NODE_SEL']::
Constrain matches to the selected monitor, desktop or node. The descriptor can be omitted for '-M', '-D' and '-N'.
Wm
Commands
^^^^^^^^
-*-a*, *--add* (<class_name>|\*)[:(<instance_name>|\*)] [*-o*|*--one-shot*] [monitor=MONITOR_SEL|desktop=DESKTOP_SEL|node=NODE_SEL] [state=STATE] [layer=LAYER] [split_dir=DIR] [split_ratio=RATIO] [(locked|sticky|private|center|follow|manage|focus|border)=(on|off)]::
+*-a*, *--add* (<class_name>|\*)[:(<instance_name>|\*)] [*-o*|*--one-shot*] [monitor=MONITOR_SEL|desktop=DESKTOP_SEL|node=NODE_SEL] [state=STATE] [layer=LAYER] [split_dir=DIR] [split_ratio=RATIO] [(hidden|sticky|private|locked|center|follow|manage|focus|border)=(on|off)]::
Create a new rule.
*-r*, *--remove* ^<n>|head|tail|(<class_name>|\*)[:(<instance_name>|*)]...::
'initial_polarity'::
On which child should a new window be attached when adding a window on a single window tree in automatic mode. Accept the following values: *first_child*, *second_child*.
-'history_aware_focus'::
- Give priority to the focus history when focusing nodes.
-
-'focus_by_distance'::
- Base focusing on distances between windows.
-
'borderless_monocle'::
Remove borders of tiled windows for the *monocle* desktop layout.
'pointer_modifier'::
Keyboard modifier used for moving or resizing windows. Accept the following values: *shift*, *control*, *lock*, *mod1*, *mod2*, *mod3*, *mod4*, *mod5*.
-'pointer_action1', 'pointer_action2', 'pointer_action3'::
- Action performed when pressing mouse buttons 1,2 & 3. Accept the following values: *move*, *resize_side*, *resize_corner*, *focus*.
+'pointer_action1'::
+'pointer_action2'::
+'pointer_action3'::
+ Action performed when pressing 'pointer_modifier' + 'button<n>'. Accept the following values: *move*, *resize_side*, *resize_corner*, *focus*.
'click_to_focus'::
Focus a window (or a monitor) by clicking it.
'pointer_modifier' + 'button3'::
Resize the window under the pointer by dragging the nearest corner.
+The behavior of 'pointer_modifier' + 'button<n>' can be modified through the 'pointer_action<n>' setting.
+
Events
------
'node_state <monitor_id> <desktop_id> <node_id> tiled|pseudo_tiled|floating|fullscreen on|off'::
The state of a window changed.
-'node_flag <monitor_id> <desktop_id> <node_id> sticky|private|locked|urgent on|off'::
+'node_flag <monitor_id> <desktop_id> <node_id> hidden|sticky|private|locked|urgent on|off'::
One of the flags of a node changed.
'node_layer <monitor_id> <desktop_id> <node_id> below|normal|above'::