X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=doc%2Fbspwm.1.asciidoc;h=7a17b8d94d739e51856ba8d9a12c87a0e8757fb7;hb=853bb7345252d84e1ee33ae0b8ccde1a5b4b91b2;hp=b5c75d6c4c104da3d27697aaa90a2b79c7ba8038;hpb=e9f0f4246c10dcf8e04437dbea41745712d00a0d;p=bspwm.git diff --git a/doc/bspwm.1.asciidoc b/doc/bspwm.1.asciidoc index b5c75d6..7a17b8d 100644 --- a/doc/bspwm.1.asciidoc +++ b/doc/bspwm.1.asciidoc @@ -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| - )[.[!]focused][.[!]automatic][.[!]local][.[!]active] - [.[!]leaf][.[!]window][.[!]STATE][.[!]FLAG][.[!]LAYER] + )[.[!]focused][.[!]active][.[!]automatic][.[!]local] + [.[!]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. :: Selects the node with the given ID. @@ -157,40 +162,44 @@ Modifiers ^^^^^^^^^ [!]focused:: - Only consider focused or unfocused nodes. + Only consider the focused node. + +[!]active:: + Only consider nodes that are the focused node of their desktop. [!]automatic:: - Only consider nodes in automatic or manual insertion mode. See also *--presel-dir* under *Node* in the *DOMAINS* section below. + Only consider nodes in automatic insertion mode. See also *--presel-dir* under *Node* in the *DOMAINS* section below. [!]local:: - Only consider nodes in or not in the reference desktop. - -[!]active:: - Only consider nodes in or not in the active desktop of their monitor. + Only consider nodes in the reference desktop. [!]leaf:: - Only consider leaves or internal nodes. + Only consider leaf nodes. [!]window:: - Only consider nodes that hold or don't hold a window. + Only consider nodes that hold a window. [!](tiled|pseudo_tiled|floating|fullscreen):: - Only consider windows in or not in the given state. + Only consider windows in the given state. [!]same_class:: - Only consider windows that have or don't have the same class as the reference window. + Only consider windows that have the same class as the reference window. [!]descendant_of:: - Only consider nodes that are or aren't descendants of the reference node. + Only consider nodes that are descendants of the reference node. [!]ancestor_of:: - Only consider nodes that are or aren't ancestors of the reference node. + Only consider nodes that are ancestors of the reference node. [!](hidden|sticky|private|locked|marked|urgent):: - Only consider windows that have or don't have the given flag set. + Only consider windows that have the given flag set. [!](below|normal|above):: - Only consider windows in or not in the given layer. + Only consider windows in the given layer. + +[!](horizontal|vertical):: + Only consider nodes with the given split type. + Desktop ~~~~~~~ @@ -200,7 +209,11 @@ Select a desktop. ---- DESKTOP_SEL := [DESKTOP_SEL#](CYCLE_DIR|any|last|newest|older|newer| [MONITOR_SEL:](focused|^)| - |)[.[!]occupied][.[!]focused][.[!]urgent][.[!]local] + |)[.[!]focused][.[!]active] + [.[!]occupied][.[!]urgent][.[!]local] + [.[!]LAYOUT][.[!]user_LAYOUT] + +LAYOUT := tiled|monocle ---- Descriptors @@ -239,17 +252,26 @@ focused:: Modifiers ^^^^^^^^^ -[!]occupied:: - Only consider occupied or free desktops. - [!]focused:: - Only consider focused or unfocused desktops. + Only consider the focused desktop. + +[!]active:: + Only consider desktops that are the focused desktop of their monitor. + +[!]occupied:: + Only consider occupied desktops. [!]urgent:: - Only consider urgent or non urgent desktops. + Only consider urgent desktops. [!]local:: - Only consider desktops inside or outside of the reference monitor. + 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 ~~~~~~~ @@ -259,7 +281,7 @@ Select a monitor. ---- MONITOR_SEL := [MONITOR_SEL#](DIR|CYCLE_DIR|any|last|newest|older|newer| focused|pointed|primary|^| - |)[.[!]occupied][.[!]focused] + |)[.[!]focused][.[!]occupied] ---- Descriptors @@ -308,27 +330,28 @@ primary:: Modifiers ^^^^^^^^^ +[!]focused:: + Only consider the focused monitor. + [!]occupied:: - Only consider monitors where the focused desktop is occupied or free. + Only consider monitors where the focused desktop is occupied. -[!]focused:: - Only consider focused or unfocused monitors. 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 @@ -358,7 +381,7 @@ Stacking Layers There's three stacking layers: BELOW, NORMAL and ABOVE. -In each layer, the window are orderered as follow: tiled & pseudo-tiled < fullscreen < floating. +In each layer, the window are orderered as follow: tiled & pseudo-tiled < floating < fullscreen. Receptacles ----------- @@ -570,7 +593,7 @@ Commands Dump the current world state on standard output. *-l*, *--load-state* :: - Load a world state from the given file. + Load a world state from the given file. The path must be absolute. *-a*, *--add-monitor* WxH+X+Y:: Add a monitor for the given name and rectangle. @@ -587,6 +610,9 @@ Commands *-g*, *--get-status*:: Print the current status information. +*-r*, *--restart*:: + Restart the window manager + Rule ~~~~ @@ -598,10 +624,10 @@ rule 'COMMANDS' Commands ^^^^^^^^ -*-a*, *--add* (|\*)[:(|\*)] [*-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* (|\*)[:(|\*)[:(|\*)]] [*-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* ^|head|tail|(|\*)[:(|*)]...:: +*-r*, *--remove* ^|head|tail|(|\*)[:(|\*)[:(|*)]]...:: Remove the given rules. *-l*, *--list*:: @@ -675,13 +701,10 @@ Global Settings Prefix prepended to each of the status lines. 'external_rules_command':: - External command used to retrieve rule consequences. The command will receive the following arguments: window ID, class name, instance name, and intermediate consequences. The output of that command must have the following format: *key1=value1 key2=value2 ...* (the valid key/value pairs are given in the description of the 'rule' command). + Absolute path to the command used to retrieve rule consequences. The command will receive the following arguments: window ID, class name, instance name, and intermediate consequences. The output of that command must have the following format: *key1=value1 key2=value2 ...* (the valid key/value pairs are given in the description of the 'rule' command). 'automatic_scheme':: - The insertion scheme used when the insertion point is in automatic mode. Accept the following values: *longest_side*, *spiral*. - -'removal_adjustment':: - The adjustment applied on the split types of a tree, after removing one of its nodes. Accept the following values: *longest_side*, *none*. + The insertion scheme used when the insertion point is in automatic mode. Accept the following values: *longest_side*, *alternate*, *spiral*. '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*. @@ -689,6 +712,12 @@ Global Settings 'directional_focus_tightness':: The tightness of the algorithm used to decide whether a window is on the 'DIR' side of another window. Accept the following values: *high*, *low*. +'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. @@ -739,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'. @@ -877,7 +909,7 @@ Events The layer of a window changed. 'pointer_action 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. @@ -918,7 +950,7 @@ Each item has the form '' where '' 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