FfmpegProgress::Ansi
Constants
ASCII_EMPTY = "."
ASCII_FULL_BLOCK = "#"
ASCII fallback for terminals whose locale isn't UTF-8 — the empty/full cells are still distinguishable without any non-ASCII bytes.
ASCII_PARTIAL_BLOCKS = ["1", "2", "3", "4", "5", "6", "7"]
BAR_COLORS = "\e[32;100m"
Foreground green + background gray (bright black). The gray background is critical: partial Unicode blocks are left-aligned glyphs, so the right portion of a partial cell shows the background — making it gray so the bar has no gap between the filled and unfilled portions.
CLEAR_LINE = "\e[2K\r"
FULL_BLOCK = "█"
HIDE_CURSOR = "\e[?25l"
PARTIAL_BLOCKS = ["▏", "▎", "▍", "▌", "▋", "▊", "▉"]
RESET = "\e[0m"
SHOW_CURSOR = "\e[?25h"
Class methods
utf8_locale?
Best-effort detection of whether the controlling locale will render Unicode block characters. Returns true if LC_ALL / LC_CTYPE / LANG advertises UTF-8 (case-insensitive). A wholly unset locale defaults to true since modern interactive terminals are UTF-8.