Skip to content

Generalize the Window Command

Bastien Dejean edited this page Dec 9, 2015 · 17 revisions

The purpose of this draft is to examine how we might generalize the window command to handle internal tree nodes.

Selector

NODE_SEL := @[DESKTOP_SEL:]PATH

PATH := [/][MOVE](/MOVE)*

MOVE := first|1|second|2|parent|brother|DIR

Behaviors

Focusing

  • Clear the input focus.
  • Draw the focused border for all the descendant leaves of the selected node.

Preselection

Instead of drawing the preselected region on the window border (which won't make sense if more that one window is focused) we will create preselection windows.

Misc

For the functions that expect a leaf, we shall apply the functions to all the descendant leaves of the node.

If we want internal nodes to appear in the focus history, then we need to add IDs to internal nodes: a path reference might point to the wrong node after a tree transformation.