Contour 0.8: Emulatorul modern de terminal adaugă blocuri interactive de comenzi, randare accelerată masiv și integrare avansată cu shell-ul

 

Emulatorul modern de terminal Contour — dezvoltat în C++, construit pe Qt 6 și dotat cu randare accelerată hardware pe GPU pentru ecrane high-DPI — a atins versiunea 0.8. Această lansare aduce o transformare profundă a modului în care utilizatorii interacționează cu istoricul din terminal, transformând fluxul tradițional de text într-un mediu structurat prin blocuri interactive de comenzi (command blocks), acompaniat de salturi spectaculoase de viteză la randare.

Inovația centrală: Blocuri interactive de comenzi (Command Blocks)

În loc să trateze ecranul ca pe o simplă rolă continuă de caractere, Contour 0.8 delimitează fiecare instrucțiune rulată într-un bloc distinct cu metadate bogate:

  • Stare și durată vizibilă: Terminalul monitorizează comenzile individual, afișând codul de ieșire (exit status), ora execuției, durata totală și directorul de lucru activ. Comenzile eșuate sunt evidențiate vizual cu indicatori roșii, iar cele în curs de desfășurare sunt marcate cu galben.

  • Plierea rezultatelor (Output Folding): Ieșirile lungi de text (compilări, fișiere de log de sute de linii) pot fi pliate/comprimate într-o singură linie printr-un clic pe marginea stângă (gutter). Această zonă laterală oferă și controale de pliere, numerotare opțională a rândurilor și marcaje temporale (timestamps).

  • Antet fix (Sticky Command Header): Pe măsură ce derulați printr-un volum mare de text generat de o comandă, comanda originală rămâne fixată în partea de sus a ecranului pentru a ști în permanență contextul execuției.

  • Navigare rapidă prin taste: Salt direct între prompturi succesive folosind Ctrl+Shift+Up și Ctrl+Shift+Down, copierea rapidă a comenzii sau a rezultatului său și notificări desktop automate când o sarcină de lungă durată (peste 10 secunde în mod implicit) se finalizează într-un panou nefocalizat.

Salt major de performanță: Randare până la 10x mai rapidă

Optimizările aduse motorului grafic au generat îmbunătățiri spectaculoase de lățime de bandă și procesare a fluxurilor de text în benchmark-urile dezvoltatorilor:

Scenariu de randareVersiunea anterioarăContour 0.8Creștere / Salt
Procesare Plain-Text166.6 MiB/s310.9 MiB/s~1.8x mai rapid
Text colorat (ANSI/RGB)42.7 MiB/s281.9 MiB/s~6.6x mai rapid
Aplicații Full-Screen TUI55.6 MiB/s593.2 MiB/s>10x mai rapid
Grafică Kitty Protocol (sarcini grele)7.55 secunde1.06 secundeReducere masivă a timpului de parsare

În plus, protocolul grafic Kitty primește suport pentru cadre de animație (animation-frame support), iar pe Linux și Windows utilizatorii pot alege explicit care placă video (GPU dedicat sau integrat) este folosită pentru accelerarea randării.

Integrare profundă cu Shell-ul și systemd

Pentru a face posibile delimitarea automată a comenzilor și raportarea codurilor de ieșire, Contour 0.8 extinde integrarea cu principalele interpretatoare de comenzi:

  • Shell-uri suportate: Bash, Zsh, Fish, Nushell și PowerShell.

  • Urmărire automată prin systemd: Introduce suport pentru secvența de evadare OSC 3008 din systemd. Pe distribuțiile echipate cu systemd 258 sau mai nou, delimitarea comenzilor, codul de retur și directorul de lucru sunt detectate nativ la nivel de sistem, fără a mai necesita scripturi sau configurații manuale în .bashrc sau .zshrc.

Rafinări de ergonomie și căutare vizuală

  • Detecție URL-uri și căi de fișiere: Adresele web și căile către fișiere sunt evidențiate automat și pot fi deschise cu Ctrl+click. Este recunoscută inclusiv sintaxa cu linie și coloană (ex: fisier.rs:142:15), deschizând direct editorul de cod la locația exactă.

  • Bară grafică de căutare: Înlocuiește promptul vechi bazat pe text cu o bară modernă ce include contor live al potrivirilor, butoane de navigare și opțiuni case-sensitive.

  • Persistență și fiabilitate: Aplicația poate memora poziția ferestrelor între reporniri, permite colorarea individuală a tab-urilor și rezolvă multiple bug-uri legate de redimensionare, sesiuni daemon persistente, conexiuni SSH și notificări sub Flatpak.

Sursa articolului: Linuxiac — Contour 0.8 Terminal Emulator Adds Command Blocks, Faster Rendering

Comentarii

Postări populare de pe acest blog

Linux Mint 27 „Adrien” sosește de Crăciun: Schimbare istorică prin renunțarea la versiunile intermediare (point releases)

⏱️ Test de laborator Neowin: Linux spulberă Windows 11 în sarcinile zilnice și managementul resurselor!

PhotoSuite: O alternativă gratuită și open-source la Photoshop, cu suport nativ pentru fișiere PSD