code: def focus_prev(self):
          
          mid = self.get_selected_mid()
          localroot = self._sanitize_position((mid,))
          if localroot == self.get_focus()[1]:
              newpos = self._tree.prev_position(mid)
              if newpos is not None:
                  newpos = self._sanitize_position((newpos,))
          else:
              newpos = localroot
          if newpos is not None:
              self.body.set_focus(newpos)
docs: focus previous message in depth first order