Byla vydána notcurses v1.4.1 - knihovna pro moderní textová rozhraní


Byla vydána notcurses v1.4.1 - knihovna pro moderní textová rozhraní

Byla vydána nová verze knihovny notcurses v1.4.x „sága pokračuje! Wu Tang! Wu Tang!"

Notcurses je TUI knihovna pro moderní terminálové emulátory. Doslovně přeloženo – ne kletby. Je napsán v C s použitím C++ bezpečných hlaviček. Obaly k dispozici pro Rez, C + + и PYTHON.

Co to je: knihovna, která zjednodušuje komplexní TUI na moderních terminálových emulátorech, maximálně podporuje jasné barvy a Unicode. Mnoho úkolů delegovaných na curses lze provádět pomocí notcurses (a naopak).

Co to není: Kompatibilní implementace X/Open curses nebo náhrada za ncurses na stávajících systémech.

Notcurses zavrhuje X/Open Curses API poskytované jako součást specifikace Single UNIX. Tato specifikace je již dávno zastaralá a například nepodporuje funkce terminálu, jako je neindexovaná 24bitová barva. Notcurses jako takové nenahrazuje kletby. Je hůře přenosný a rozhodně testován na méně hardwaru.
Kdykoli je to možné, notcurses používá knihovnu terminfo dodávanou s ncurses, což značně těží z její přenositelnosti.
Notcurses otevírá pokročilé funkce pro interakci s uživateli na pracovních stanicích, telefonech, noteboocích a tabletech.

Proč používat tuto nestandardní knihovnu?

  • Bezpečnost závitů a efektivní použití ve vícevláknových programech byly od samého počátku konstrukčním hlediskem.

  • Více dobře formátované API ve srovnání s X/Open:

    • Exportované identifikátory mají předponu, aby se předešlo kolizím jmenného prostoru.

    • Objektový soubor knihovny exportuje minimální sadu znaků. Tam, kde je to praktické, se statický kód používá pouze pro záhlaví řádků. To usnadňuje optimalizaci kompilátoru a snižuje dobu načítání.

  • Všechna rozhraní API nativně podporují univerzální znakovou sadu (Unicode). Buněčné API je založeno na konceptu Unicode rozšířený klastr grafémů.

  • Vizuální funkce včetně obrázků, písem, videí, vysoce kontrastního textu, spritů a průhledných oblastí. Všechna rozhraní API nativně podporují 24bitové barvy, kvantované podle potřeby terminálu.

  • Na rozdíl od licence Apache2 drama v několika zákonech, což je licence ncurses (druhá je shrnuta jako "přeformulování MIT-X11").

Od předchozí významné verze 1.1.0 bylo přidáno obrovské množství funkcí. Hlavní změny:

  • Pomůcka pro čtení pro zadávání volných řetězců spojených s řetězci čtení

  • Widget podprocesu pro vytváření podprocesu, jeho správu a zpětné streamování jeho výsledků.

  • Linux 5.3+ používá nový mechanismus clone3+pidfd ke správě procesů bez sporu.

  • Widget Fdplane pro streamování libovolného deskriptoru souboru do roviny (na které je postaven podproces). Oba umožňují zpětná volání pro styling nebo jinou manipulaci s textem.

  • Rotace rovin a vizuální efekty. Načítání vizualizací z paměti. Náhodné blikání RGBA/BGRx.

  • Nabídku lze umístit na jednu (nebo obě) z horní a spodní roviny.

  • Velká vylepšení v přímém režimu.

  • Polyfilly, přechody a vysoce kontrastní text.

  • Jako příklad přidán Tetris.

  • C++ wrappery od Marka Habersacka nyní mají možnost vyvolávat výjimky (v případě potřeby).

  • Python a Rust FFI aktualizovány a testovány.

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

Zdroj: linux.org.ru

Přidat komentář