Tiling window manager based on binary space partitioning