bola vydaná notcurses v1.4.1 - knižnica pre moderné textové rozhrania


bola vydaná notcurses v1.4.1 - knižnica pre moderné textové rozhrania

Bola vydaná nová verzia knižnice notcurses v1.4.x „sága pokračuje! Wu Tang! Wu Tang!"

Notcurses je knižnica TUI pre moderné emulátory terminálov. V doslovnom preklade – nie kliatby. Je napísaný v C s použitím bezpečných hlavičiek C++. K dispozícii zavinovačky pre Hrdza, C + + и Pytón.

Čo je to: knižnica, ktorá zjednodušuje zložité TUI na moderných terminálových emulátoroch, maximálne podporuje jasné farby a Unicode. Mnoho úloh delegovaných na prekliatie je možné vykonať pomocou notcurses (a naopak).

Čo to nie je: Kompatibilná implementácia X/Open curses alebo náhrada za ncurses na existujúcich systémoch.

Notcurses zavrhuje X/Open Curses API poskytované ako súčasť špecifikácie Single UNIX. Táto špecifikácia je už dávno zastaraná a napríklad nepodporuje funkcie terminálu, ako je neindexovaná 24-bitová farba. Notcurses ako také nenahrádza kliatby. Je menej prenosný a určite testovaný na menšom hardvéri.
Vždy, keď je to možné, notcurses používa knižnicu terminfo dodávanú s ncurses, čo výrazne ťaží z jej prenosnosti.
Notcurses otvára pokročilé funkcie pre interakciu s používateľmi na pracovných staniciach, telefónoch, notebookoch a tabletoch.

Prečo používať túto neštandardnú knižnicu?

  • Bezpečnosť závitov a efektívne využitie vo viacvláknových programoch boli pri návrhu od samého začiatku.

  • Lepšie naformátované API v porovnaní s X/Open:

    • Exportované identifikátory majú predponu, aby sa predišlo kolíziám v mennom priestore.

    • Objektový súbor knižnice exportuje minimálnu množinu znakov. Tam, kde je to praktické, sa statický kód používa iba pre hlavičky riadkov. To uľahčuje optimalizáciu kompilátora a znižuje časy načítania.

  • Všetky API natívne podporujú univerzálnu znakovú sadu (Unicode). Bunkové API je založené na koncepte Unicode's Extended Grapheme Cluster.

  • Vizuálne funkcie vrátane obrázkov, fontov, videí, textu s vysokým kontrastom, spritov a priehľadných oblastí. Všetky API natívne podporujú 24-bitové farby, kvantované podľa potreby terminálu.

  • Na rozdiel od licencie Apache2 dráma v niekoľkých zákonoch, čo je licencia ncurses (posledná je zhrnutá ako „reformulácia MIT-X11“).

Od predchádzajúceho významného vydania 1.1.0 pribudlo obrovské množstvo funkcií. Hlavné zmeny:

  • Widget na čítanie na zadávanie voľných reťazcov prepojených s čítacími reťazcami

  • Widget podprocesu na vytváranie podprocesu, jeho správu a spätné streamovanie jeho výsledkov.

  • Linux 5.3+ používa nový mechanizmus clone3+pidfd na riadenie procesov bez rasovej podmienky.

  • Widget Fdplane na streamovanie ľubovoľného deskriptora súboru do roviny (na ktorej je postavený podproces). Obidve umožňujú spätné volanie na štýl alebo inú manipuláciu s textom.

  • Rotácia rovín a vizuálne efekty. Načítavanie vizualizácií z pamäte. Náhodné blikanie RGBA/BGRx.

  • Menu môže byť umiestnené na jednej (alebo oboch) z hornej a dolnej roviny.

  • Veľké vylepšenia v režime Direct.

  • Polyfilly, prechody a vysoko kontrastný text.

  • Pridaný Tetris ako príklad.

  • C++ wrappery od Mareka Habersacka majú teraz možnosť vyvolať výnimky (ak je to potrebné).

  • Python a Rust FFI aktualizované a testované.

Video demo s komentármi autora
Kniha „Hacking The Planet! s Notcourses“ od autora

Zdroj: linux.org.ru

Pridať komentár