Ilmus notcurses v1.4.1 - raamatukogu kaasaegseteks tekstivahendite liidesteks


Ilmus notcurses v1.4.1 - raamatukogu kaasaegseteks tekstivahendite liidesteks

Ilmus uus versioon notcurses raamatukogust v1.4.x «lugu jätkub! wu-tang! wu-tang!»

Notcurses on TUI teek kaasaegsete terminali emulaatorite jaoks. Kirjapaneku järgi – mitte need, mis põhjustavad need (not curses). See on kirjutatud C keeles, kasutades C++-ohutuid päiseid. Saadaval on ümbrised Rustis, C++ ja Python.

Mis see on: raamatukogu, mis lihtsustab keerulisi TUI-de kaasaegsetes terminali emulaatorites, max toetades erksaid värve ja Unicode'i. Palju ülesandeid, mis on delegeeritud curses'ile, saab teha notcurses'i abil (ja vastupidi).

Mida see ei ole: X/Open curses ühilduv rakendus või ncurses asendaja olemasolevates süsteemides.

Notcurses loobub X/Open Curses API-st, mis on osa Single UNIX Specification'ist. See spetsifikatsioon on ammu aegunud ja näiteks ei toeta sellist terminali funktsionaalsust nagu indekseerimata 24-bitine värv. Seega ei ole notcurses curses'i asendaja. See on vähem portatiivne ja on kindlasti katsetatud väiksemas seadmete arvus.
Kui see on võimalik, kasutab notcurses terminfo raamatukogu, mis kaasneb ncursesiga, saades suurt kasu selle portatiivsuse kaudu.
Notcurses avab laiendatud funktsionaalsused kasutajate interaktsiooniks tööjaamades, telefonides, sülearvutites ja tahvelarvutites.

Miks kasutada seda mitte-standardset raamatukogu?

  • Kasutusefektiivne ja ohutu mitme lõimega programmide jaoks oli see algusest peale projekteerimise kaal.

  • Paremini korraldatud API võrreldes X/Openiga:

    • Eksportitud identifikaatoritel on prefix, et vältida nimevahemiku kokkupõrkeid.

    • Raamatukogu objektifail ekspordib minimaalset sümbolite kogumit. Kohtades, kus see on mõistlik, kasutatakse staatilist koodi ainult väikeste pealkirjade jaoks. See hõlbustab kompilaatori optimeerimist ja vähendab laadimisaega.

  • Kõik API-d toetavad algselt universaalset sümbolikomplekti (Unicode). Rakkude API põhineb kontseptsioonil Unicode’i pikendatud tähtede klaster.

  • Visuaalsed võimalused, sealhulgas pildid, fondid, videod, kõrge kontrastsusega tekst, sprite'd ja läbipaistvad alad. Kõik API-d toetavad natiivselt 24-bitist värvi, vajadusel kvantifitseeritud terminali jaoks.

  • Apache2 litsents, erinevalt dramast mitmes vaatuses, mis on ncurses'i litsents (viimane kokkuvõttega «MIT-X11 redigeerimine»).

Alates eelmisest olulise väljalaske 1.1.0 on lisatud suur hulk funktsioone. Peamised muudatused:

  • Lugemisvidin, et sisestada suvalisi stringe, mis on seotud lugemisridadega.

  • Alamprotsessi vidin, et genereerida alamprotsess, hallata seda ja edastada selle tulemused tagasi.

  • Linux 5.3+ kasutab uut mehhanismi clone3+pidfd protsesside haldamiseks ilma race condition'ita.

  • Fdplane vidin suvalise failide descriptor'i edastamiseks tasandile (kuhu on ehitatud alamprotsess). Mõlemad võimaldavad tagasiside käsitsemist ja teksti töötlemist.

  • Planeetide ja visuaalefektide pööramine. Visualiseeride laadimine mälust. Suvaline RGBA/BGRx pilt.

  • Menüü saab paigutada mistahes (või mõlemale) ülemisele ja alumisele tasandile.

  • Suured parandused Direct režiimis.

  • Polyfills, gradientid ja kõrge kontrastsusega tekst.

  • Lisatud tetris näidisena.

  • Marek Habersacki C++ wrapper'id on saanud võime visata erandeid (vajaduse korral).

  • Python ja Rust FFI on värskendatud ja testitud.

Video demo autori kommentaaridega.
"Hacking The Planet! with Notcurses" raamat autori poolt.

Allikas: linux.org.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster