Damus
AkhIL profile picture
AkhIL
@AkhIL
Дальнейшее развитие моего эксперимента с прогрессбаром в терминале (OSC 9;4)

Проверял только в Kitty и Ghostty. Интересно где ещё работает.

```python
import sys
import time

BRALE_CHARS = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"]

# Indeterminate mode
for i in range(101):
char = BRALE_CHARS[i % len(BRALE_CHARS)]
sys.stderr.write(f"\r{char} Indeterminate\x1b]9;4;3\x07")
sys.stderr.flush()
time.sleep(0.05)

# Paused
sys.stderr.write("\r\x1b[K Paused\x1b]9;4;4\x07")
sys.stderr.flush()
time.sleep(2)

# Progress
for i in range(101):
char = BRALE_CHARS[i % len(BRALE_CHARS)]
sys.stderr.write(f"\r\x1b[K{char} {i}%\x1b]9;4;1;{i}\x07")
sys.stderr.flush()
time.sleep(0.05)

# Error
sys.stderr.write("\r\x1b[K Error\x1b]9;4;2\x07")
sys.stderr.flush()
time.sleep(2)

# Clean up
sys.stderr.write("\r\n\x1b]9;4;0\x07")
```