code: func NewGui(mode OutputMode) (*Gui, error) {
  	if err := termbox.Init(); err != nil {
  		return nil, err
  	}
  
  	g := &Gui{}
  
  	g.outputMode = mode
  	termbox.SetOutputMode(termbox.OutputMode(mode))
  
  	g.tbEvents = make(chan termbox.Event, 20)
  	g.userEvents = make(chan userEvent, 20)
  
  	g.maxX, g.maxY = termbox.Size()
  
  	g.BgColor, g.FgColor = ColorDefault, ColorDefault
  	g.SelBgColor, g.SelFgColor = ColorDefault, ColorDefault
  
  	return g, nil
  }
docs: // NewGui returns a new Gui object with a given output mode.