Objavljena je nova verzija biblioteke notcurses v1.4.x “saga se nastavlja! wu-tang! wu-tang!"
Notcurses je TUI biblioteka za moderne emulatore terminala. Doslovno prevedeno - ne kletve. Napisan je u C-u, koristeći zaglavlja sigurna za C++. Omotači dostupni za Hrđa, C + + и Piton.
Što je to: biblioteka koja pojednostavljuje složene TUI-je na modernim emulatorima terminala, maksimalno podržavajući svijetle boje i Unicode. Mnogi zadaci delegirani curses mogu se izvesti korištenjem notcurses (i obrnuto).
Što nije: kompatibilna implementacija X/Open curses ili zamjena za ncurses na postojećim sustavima.
Notcurses odbacuje X/Open Curses API koji je dio jedinstvene UNIX specifikacije. Ova je specifikacija odavno zastarjela i, na primjer, ne podržava funkcionalnost terminala kao što je neindeksirana 24-bitna boja. Kao takav, notcurses nije zamjena za prokletstva. Manje je prenosiv i definitivno testiran na manje hardvera.
Kad god je to moguće, notcurses koristi biblioteku terminfo isporučenu s ncurses, pri čemu ima veliku korist od njene prenosivosti.
Notcurses otvara naprednu funkcionalnost za interakciju s korisnicima na radnim stanicama, telefonima, prijenosnim računalima i tabletima.
Zašto koristiti ovu nestandardnu biblioteku?
-
Sigurnost niti i učinkovita upotreba u programima s više niti razmatrani su od samog početka.
-
Dobro formatirani API u usporedbi s X/Open:
-
Izvezeni identifikatori imaju prefiks kako bi se izbjegle kolizije prostora imena.
-
Objektna datoteka knjižnice izvozi minimalan skup znakova. Gdje je praktično, statički kod se koristi samo za zaglavlja retka. To olakšava optimizaciju kompajlera i smanjuje vrijeme učitavanja.
-
-
Svi API-ji izvorno podržavaju univerzalni skup znakova (Unicode). API ćelije temelji se na konceptu Unicodeov prošireni klaster grafema.
-
Vizualne značajke uključujući slike, fontove, videozapise, tekst visokog kontrasta, spriteove i prozirna područja. Svi API-ji izvorno podržavaju 24-bitnu boju, kvantiziranu prema potrebi terminala.
-
Apache2 licenca, za razliku od drama u nekoliko činova, što je ncurses licenca (potonja je sažeta kao "reformulacija MIT-X11").
Od prethodnog značajnog izdanja 1.1.0, dodan je ogroman broj značajki. Glavne promjene:
-
Widget za čitanje za unos nizova slobodnog oblika povezanih s nizovima za čitanje
-
Widget potprocesa za stvaranje potprocesa, upravljanje njime i slanje njegovih rezultata natrag.
-
Linux 5.3+ koristi novi mehanizam clone3+pidfd za upravljanje procesima bez uvjeta utrke.
-
Fdplane widget za strujanje proizvoljnog deskriptora datoteke u ravninu (na kojoj je izgrađen podproces). Oba dopuštaju povratne pozive za stiliziranje ili na drugi način manipuliranje tekstom.
-
Rotacija ravnina i vizualni efekti. Učitavanje vizualizacija iz memorije. Nasumično bljeskanje RGBA/BGRx.
-
Izbornik se može postaviti na jednu (ili obje) gornju i donju ravninu.
-
Velika poboljšanja u izravnom načinu rada.
-
Polifili, gradijenti i tekst visokog kontrasta.
-
Dodan je Tetris kao primjer.
-
C++ omotači od Mareka Habersacka sada imaju mogućnost bacanja iznimaka (ako je potrebno).
-
Python i Rust FFI ažurirani i testirani.
Video demo s komentarima autora
Knjiga “Hacking The Planet! s Notcourses" od autora
Izvor: linux.org.ru