A tiling window manager based on binary space partitioning