baskerville / bspwm

A tiling window manager based on binary space partitioning
BSD 2-Clause "Simplified" License
7.8k stars 415 forks source link

Make fences visible #860

Open baskerville opened 6 years ago

baskerville commented 6 years ago

This feature is meant to lift the ambiguity that exists in many simple situations regarding the structure of the underlying tree.

In the following example:

bspwm-three_columns-a

There are two possible underlying tree:

bspwm-three_columns-b

bspwm-three_columns-c

The same remark applies to this scenario:

bspwm-grid-a

Where the fenced rendering are:

bspwm-grid-b

bspwm-grid-c

The color of a fence is related to its tree depth.

Matrix89 commented 6 years ago

How about drawing a border of a fence. Edit: After drawing a demo I think it'll get too messy bspwmtest

wis commented 3 years ago

In the mean time, before this ships (which i'm looking forward to btw) I use these key bindings for discovering what the tree structure looks like.

super + alt + p
  bspc node -f @parent
super + alt + {f,l}
  bspc node -f {any,last}.descendant_of.leaf

super + alt + p (p for parent) selects/focuses/highlights the parent node, you can keep pressing it to highlight the parent of the currently highlighted parent node super + alt + f (f for first node) selects/focuses the first node of the top highlighted parent node, super + alt + l (l for last) focuses the window/node that was last focused before a parent node was highlighted/selected/focused.