code: func (win *Window) Custom(state nstyle.WidgetStates) (bounds rect.Rect, out *command.Buffer) {
  	var s bool
  
  	if s, bounds, _ = win.widget(); !s {
  		return
  	}
  	prevstate := win.widgets.PrevState(bounds)
  	exitstate := basicWidgetStateControl(&prevstate, win.inputMaybe(s), bounds)
  	if state != nstyle.WidgetStateActive {
  		state = exitstate
  	}
  	win.widgets.Add(state, bounds)
  	return bounds, &win.cmds
  }
docs: // Custom adds a custom widget.