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

