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