This change introduces a substantial change to how we handle the TTY discovery
when constructing the spinner. It adds a new bitflag field to the Config struct,
TerminalMode, that allows consumers to control whether the spinner tries to
automatically disocver if it's within a TTY and/or a dumb terminal. It also
allows you to override the behaviors, if you know the automatic mode won't do
what you want.
A side effect of this change is that you can now manually step the spinner
animation by setting TerminalMode: ForceNoTTYMode, and then starting the spinner
and calling the Message() method when you want to animate the spinner. To permit
this, the Frequency field in the Config struct is now not required when calling
the New() function. An error will be generated on Start() if it's within a TTY
and the Frequency is 0.
This also deprecates the NotTTY field in the Config struct.
This change introduces a substantial change to how we handle the TTY discovery when constructing the spinner. It adds a new bitflag field to the Config struct, TerminalMode, that allows consumers to control whether the spinner tries to automatically disocver if it's within a TTY and/or a dumb terminal. It also allows you to override the behaviors, if you know the automatic mode won't do what you want.
A side effect of this change is that you can now manually step the spinner animation by setting TerminalMode: ForceNoTTYMode, and then starting the spinner and calling the Message() method when you want to animate the spinner. To permit this, the Frequency field in the Config struct is now not required when calling the New() function. An error will be generated on Start() if it's within a TTY and the Frequency is 0.
This also deprecates the NotTTY field in the Config struct.