code: def show(self, items, view=None, append=False, disjoin=False):
          
          proxy = self.open()
          view = self._resolve_viewname(view or "rtcontrol")
  
          if append and disjoin:
              raise error.EngineError("Cannot BOTH append to / disjoin from view '{}'".format(view))
  
          # Add view if needed
          if view not in proxy.view.list():
              proxy.view.add(xmlrpc.NOHASH, view)
  
          # Clear view and show it
          if not append and not disjoin:
              proxy.view.filter(xmlrpc.NOHASH, view, "false=")
              proxy.d.multicall2(xmlrpc.NOHASH, 'default', 'd.views.remove=' + view)
          proxy.ui.current_view.set(view)
  
          # Add items
          # TODO: should be a "system.multicall"
          for item in items:
              if disjoin:
                  proxy.d.views.remove(item.hash, view)
                  proxy.view.set_not_visible(item.hash, view)
              else:
                  proxy.d.views.push_back_unique(item.hash, view)
                  proxy.view.set_visible(item.hash, view)
  
          return view
docs: Visualize a set of items (search result), and return the view name.