TUIX v0.6Beta
Probing terminálu a vyjednávání schopností
TUIX v0.6 zavádí aktivní probing terminálu pro zjištění schopností emulátoru před spuštěním renderovací smyčky. Protože se emulátory terminálu výrazně liší v podpoře širokých znaků, RGB truecolor, odezev na dotazy pozice kurzoru a escape kódů, probing umožňuje TUIX automaticky zvolit optimální strategii renderování.
Životní cyklus probingu
- `tuix_terminal_prepare()`: Přepne terminál do raw režimu, aktivuje alternativní obrazovku a vypne lokální echo.
- `tuix_terminal_probe()`: Odešle escape sekvence Device Status Report (DSR) a dotazy na kurzor pro změření latence odezvy, rozměrů terminálu a příznaků schopností.
- `tuix_terminal_select_policy()`: Vyhodnotí výsledky probingu a vybere politiku fallbacku glyfů (např. povolení plného Unicode nebo přechod na bezpečné ASCII rámečky).
- `tuix_terminal_restore()`: Uklidí stav terminálu, obnoví viditelnost kurzoru a opustí alternativní obrazovku při ukončení aplikace.
Režimy probingu a konfigurace
| Nastavení / Režim | Funkce | Popis |
|---|---|---|
| Strict Probe Mode | tuix.tuix_terminal_config_set_probe_mode(0) | Kompletní dotazovací sekvence s validací DSR odezev kurzoru. |
| Fast Probe Mode | tuix.tuix_terminal_config_set_probe_mode(1) | Zkrácený timeout probingu preferující rychlost spuštění. |
| ASCII Fallback | tuix.tuix_terminal_config_set_ascii_fallback(True) | Vynutí bezpečné ASCII znaky pro rámečky (`+`, `-`, `|`) místo Unicode glyfů. |
from tuix.core import tuix
# Configure probe policy
tuix.tuix_terminal_config_ensure_defaults()
tuix.tuix_terminal_config_set_ascii_fallback(False)
# Run active probing
tuix.tuix_terminal_prepare()
tuix.tuix_terminal_probe()
tuix.tuix_terminal_select_policy()
# Inspect detected terminal capabilities
info = tuix.tuix_terminal_get_info()
print('Terminal Info:', info)