code: func (s *SeesawEngine) ConfigSource(args *ipc.ConfigSource, oldSource *string) error {
  	if args == nil {
  		return errors.New("args is nil")
  	}
  	ctx := args.Ctx
  	s.trace("ConfigSource", ctx)
  	if ctx == nil {
  		return errors.New("context is nil")
  	}
  
  	if !ctx.IsTrusted() {
  		return errors.New("insufficient access")
  	}
  
  	if oldSource != nil {
  		*oldSource = s.engine.notifier.Source().String()
  	}
  	newSource := args.Source
  	if newSource == "" {
  		return nil
  	}
  	source, err := config.SourceByName(newSource)
  	if err != nil {
  		return err
  	}
  	s.engine.notifier.SetSource(source)
  	return nil
  }
docs: // ConfigSource requests the configuration source be changed to the specified
  // source. The name of the original source is returned.