Skip to content

Instantly share code, notes, and snippets.

@TomGrobbe
Created January 15, 2026 13:28
Show Gist options
  • Select an option

  • Save TomGrobbe/8ffb33a303bd4b5fe0a0ad320380bea9 to your computer and use it in GitHub Desktop.

Select an option

Save TomGrobbe/8ffb33a303bd4b5fe0a0ad320380bea9 to your computer and use it in GitHub Desktop.
SetTerminalLoadingState
public class Program
{
public static void SetTerminalLoadingState(LoadingState state, int percent = 0)
{
switch (state)
{
case LoadingState.None:
Console.Write("\x1b]9;4;0;0\x1b\\");
break;
case LoadingState.Progress:
Console.Write($"\x1b]9;4;1;{Math.Clamp(percent, 0, 100)}\x1b\\");
break;
case LoadingState.Error:
Console.Write($"\x1b]9;4;2;{Math.Clamp(percent, 0, 100)}\x1b\\");
break;
case LoadingState.Indeterminate:
Console.Write("\x1b]9;4;3;0\x1b\\");
break;
case LoadingState.Warning:
Console.Write($"\x1b]9;4;4;{Math.Clamp(percent, 0, 100)}\x1b\\");
break;
default:
Console.Write("\x1b]9;4;0;0\x1b\\");
break;
}
}
}
public enum LoadingState
{
None = 0,
Progress = 1,
Error = 2,
Indeterminate = 3,
Warning = 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment