]> git.lizzy.rs Git - bspwm.git/blobdiff - doc/bspwm.1.asciidoc
Add {,user}_LAYOUT modifiers to desktop selectors
[bspwm.git] / doc / bspwm.1.asciidoc
index 058022ab44bf99580ed3c16fdec265380297d5a6..7a17b8d94d739e51856ba8d9a12c87a0e8757fb7 100644 (file)
@@ -74,10 +74,10 @@ Node
 Select a node.
 
 ----
-NODE_SEL := [NODE_SEL#](DIR|CYCLE_DIR|PATH|any|last|newest|
+NODE_SEL := [NODE_SEL#](DIR|CYCLE_DIR|PATH|any|first_ancestor|last|newest|
                         older|newer|focused|pointed|biggest|smallest|
                         <node_id>)[.[!]focused][.[!]active][.[!]automatic][.[!]local]
-                                  [.[!]leaf][.[!]window][.[!]STATE][.[!]FLAG][.[!]LAYER]
+                                  [.[!]leaf][.[!]window][.[!]STATE][.[!]FLAG][.[!]LAYER][.[!]SPLIT_TYPE]
                                   [.[!]same_class][.[!]descendant_of][.[!]ancestor_of]
 
 STATE := tiled|pseudo_tiled|floating|fullscreen
@@ -86,6 +86,8 @@ FLAG := hidden|sticky|private|locked|marked|urgent
 
 LAYER := below|normal|above
 
+SPLIT_TYPE := horizontal|vertical
+
 PATH := @[DESKTOP_SEL:][[/]JUMP](/JUMP)*
 
 JUMP := first|1|second|2|brother|parent|DIR
@@ -98,7 +100,7 @@ Descriptors
        Selects the window in the given (spacial) direction relative to the reference node.
 
 'CYCLE_DIR'::
-       Selects the window in the given (cyclic) direction relative to the reference node.
+       Selects the node in the given (cyclic) direction relative to the reference node within a depth-first in-order traversal of the tree.
 
 'PATH'::
        Selects the node at the given path.
@@ -106,6 +108,9 @@ Descriptors
 any::
        Selects the first node that matches the given selectors.
 
+first_ancestor::
+       Selects the first ancestor of the reference node that matches the given selectors.
+
 last::
        Selects the previously focused node relative to the reference node.
 
@@ -122,13 +127,13 @@ focused::
        Selects the currently focused node.
 
 pointed::
-       Selects the window under the pointer.
+       Selects the leaf under the pointer.
 
 biggest::
-       Selects the biggest window.
+       Selects the biggest leaf.
 
 smallest::
-       Selects the smallest window.
+       Selects the smallest leaf.
 
 <node_id>::
        Selects the node with the given ID.
@@ -156,8 +161,6 @@ parent::
 Modifiers
 ^^^^^^^^^
 
-
-
 [!]focused::
        Only consider the focused node.
 
@@ -194,6 +197,10 @@ Modifiers
 [!](below|normal|above)::
        Only consider windows in the given layer.
 
+[!](horizontal|vertical)::
+       Only consider nodes with the given split type.
+
+
 Desktop
 ~~~~~~~
 
@@ -204,6 +211,9 @@ DESKTOP_SEL := [DESKTOP_SEL#](CYCLE_DIR|any|last|newest|older|newer|
                               [MONITOR_SEL:](focused|^<n>)|
                               <desktop_id>|<desktop_name>)[.[!]focused][.[!]active]
                                                           [.[!]occupied][.[!]urgent][.[!]local]
+                                                          [.[!]LAYOUT][.[!]user_LAYOUT]
+
+LAYOUT := tiled|monocle
 ----
 
 Descriptors
@@ -257,6 +267,12 @@ Modifiers
 [!]local::
        Only consider desktops inside the reference monitor.
 
+[!](tiled|monocle)::
+       Only consider desktops with the given layout.
+
+[!](user_tiled|user_monocle)::
+       Only consider desktops which have the given layout as userLayout.
+
 Monitor
 ~~~~~~~
 
@@ -326,16 +342,16 @@ Window States
 -------------
 
 tiled::
-       Its size and position are determined by the splitting type and ratio of each node of its path in the window tree.
+       Its size and position are determined by the window tree.
 
 pseudo_tiled::
-       Has an unrestricted size while being centered in its tiling space.
+       A tiled window that automatically shrinks but doesn't stretch beyond its floating size.
 
 floating::
-       Can be moved/resized freely. Although it doesn't occupy any tiling space, it is still part of the window tree.
+       Can be moved/resized freely. Although it doesn't use any tiling space, it is still part of the window tree.
 
 fullscreen::
-       Fills its monitor rectangle and has no borders. It is send in the ABOVE layer by default.
+       Fills its monitor rectangle and has no borders.
 
 
 Node Flags
@@ -594,6 +610,9 @@ Commands
 *-g*, *--get-status*::
        Print the current status information.
 
+*-r*, *--restart*::
+       Restart the window manager
+
 Rule
 ~~~~
 
@@ -605,10 +624,10 @@ rule 'COMMANDS'
 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] [(hidden|sticky|private|locked|marked|center|follow|manage|focus|border)=(on|off)] [rectangle=WxH+X+Y]::
+*-a*, *--add* (<class_name>|\*)[:(<instance_name>|\*)[:(<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|marked|center|follow|manage|focus|border)=(on|off)] [rectangle=WxH+X+Y]::
        Create a new rule.
 
-*-r*, *--remove* ^<n>|head|tail|(<class_name>|\*)[:(<instance_name>|*)]...::
+*-r*, *--remove* ^<n>|head|tail|(<class_name>|\*)[:(<instance_name>|\*)[:(<name>|*)]]...::
        Remove the given rules.
 
 *-l*, *--list*::
@@ -696,6 +715,9 @@ Global Settings
 'removal_adjustment'::
        Adjust the brother when unlinking a node from the tree in accordance with the automatic insertion scheme.
 
+'presel_feedback'::
+       Draw the preselection feedback area. Defaults to 'true'.
+
 'borderless_monocle'::
        Remove borders of tiled windows for the *monocle* desktop layout.
 
@@ -746,6 +768,9 @@ Global Settings
 'ignore_ewmh_fullscreen'::
        Block the fullscreen state transitions that originate from an EWMH request. The possible values are: *none*, *all*, or a comma separated list of the following values: *enter*, *exit*.
 
+'ignore_ewmh_struts'::
+       Ignore strut hinting from clients requesting to reserve space (i.e. task bars).
+
 'center_pseudo_tiled'::
        Center pseudo tiled windows into their tiling rectangles. Defaults to 'true'.
 
@@ -884,7 +909,7 @@ Events
        The layer of a window changed.
 
 'pointer_action <monitor_id> <desktop_id> <node_id> move|resize_corner|resize_side begin|end'::
-       A pointer action occured.
+       A pointer action occurred.
 
 Please note that *bspwm* initializes monitors before it reads messages on its socket, therefore the initial monitor events can't be received.
 
@@ -925,7 +950,7 @@ Each item has the form '<type><value>' where '<type>' is the first character of
 'T(T|P|F|=|@)'::
        State of the focused node of a focused desktop.
 
-'G(S?P?L?)'::
+'G(S?P?L?M?)'::
        Active flags of the focused node of a focused desktop.
 
 Environment Variables