code: def _search(self):
          
          text = "Search: {}".format(self.search_string)
          footerwid = urwid.AttrMap(urwid.Text(text), 'footer')
          self.top.footer = footerwid
          search_items = []
          for grp in self.items_org:
              done = False
              for idx, item in enumerate(grp):
                  if isinstance(item, urwid.Columns):
                      for col_idx, col in enumerate(item.contents):
                          if isinstance(col[0], urwid.decoration.AttrMap):
                              grp[idx][col_idx].set_label(splittext(col[0].base_widget.label,
                                                                    self.search_string,
                                                                    ''))
                              if self.search_string.lower() in col[0].base_widget.label.lower():
                                  grp[idx][col_idx].set_label(splittext(col[0].base_widget.label,
                                                                        self.search_string,
                                                                        'search'))
                                  done = True
                  elif isinstance(item, urwid.Text):
                      grp[idx].set_text(splittext(item.text, self.search_string, ''))
                      if self.search_string.lower() in item.text.lower():
                          grp[idx].set_text(splittext(item.text, self.search_string, 'search'))
                          done = True
              if done is True:
                  search_items.extend(grp)
          self.items = search_items
          self.top.body = urwid.ListBox(self.items)
          if self.items:
              self.top.body.focus_position = 2 if self.compact is False else 0
              # Trick urwid into redisplaying the cursor
              self.top.keypress(self.tui.get_cols_rows(), "")
              self.no_matches = False
          else:
              self.no_matches = True
              footerwid = urwid.AttrMap(urwid.Text(text + "  No Matches"), 'footer')
              self.top.footer = footerwid
docs: Search - search URLs and text.