objavljena je notcurses v1.4.1 - biblioteka za moderna tekstualna sučelja


objavljena je notcurses v1.4.1 - biblioteka za moderna tekstualna sučelja

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

Dodajte komentar