Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add TerminalMode config; make Frequency optional when not TTY #59

Merged
merged 1 commit into from
Dec 31, 2021

Conversation

theckman
Copy link
Owner

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.
@theckman theckman merged commit b7d332d into master Dec 31, 2021
@theckman theckman deleted the better_term_handling branch December 31, 2021 01:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant