code: def _walk_through_windows(self):
          
          def walk(split):
              for c in split:
                  if isinstance(c, (HSplit, VSplit)):
                      for i in walk(c):
                          yield i
                  elif isinstance(c, Window):
                      yield split, c
  
          return walk(self.root)
docs: Yields (Split, Window) tuples.