i3 通过树来存储所有关于 X11 输出、工作区和窗口布局的信息。 树的根节点是 X11 根窗口,接下来是 X11 的输出, 然后是区域和内容的容器、工作区,最后到窗口本身。 在之前版本的 i3 中,我们使用过链表等结构存储输出和工作区, 针对每个工作区有单独的表。 这种方法现在被证明是复杂、难于使用、理解和实现的。