Doli një version i ri i bibliotekës notcurses v1.4.x «saga vazhdon! wu-tang! wu-tang!»
Notcurses Ă«shtĂ« njĂ« bibliotekĂ« TUI pĂ«r emulatorĂ«t modernĂ« tĂ« terminaleve. Dosido qĂ« ndodh, pĂ«rkthehet â nuk janĂ« mallkime (not curses). Ajo Ă«shtĂ« shkruar nĂ« C, duke pĂ«rdorur headers tĂ« sigurt pĂ«r C++. JanĂ« tĂ« disponueshme mbĂ«shtetje pĂ«r Rust, C++ dhe Python.
ĂfarĂ« Ă«shtĂ«: njĂ« bibliotekĂ« qĂ« thjeshton TUI tĂ« ndĂ«rlikuar nĂ« emulatorĂ«t modernĂ« tĂ« terminaleve, duke mbĂ«shtetur maksimumin e ngjyrave tĂ« ndritshme dhe Unicode. ShumĂ« detyra qĂ« zakonisht i delegohen curses, mund tĂ« realizohen me notcurses (dhe anasjelltas).
ĂfarĂ« nuk Ă«shtĂ«: njĂ« implementim i pĂ«rputhshĂ«m i X/Open curses ose njĂ« zĂ«vendĂ«sues i ncurses nĂ« sistemet ekzistuese.
Notcurses heq dorë nga API X/Open Curses, i ofruar si pjesë e Specifikimit të Vetëm UNIX. Kjo specifikim është shumë i vjetruar dhe, për shembull, nuk mbështet funksionalitete të tilla si ngjyra 24-bitësh pa indeks. Si e tillë, notcurses nuk është një zëvendësim i curses. Ajo është më pak portative dhe sigurisht është testuar në më pak pajisje.
Kur është e mundur, notcurses përdor bibliotekën terminfo, e ofruar së bashku me ncurses, duke nxjerrë shumë përfitime nga portabiliteti i saj.
Notcurses ofron mundësi të avancuara për ndërveprimin me përdoruesit në stacione pune, telefona, laptopë dhe tableta.
Pse të përdorim këtë bibliotekë jo standarde?
Siguria e rrjedhave dhe përdorimi efikas në programet me shumë rrjedha ka qenë një konsideratë që nga fillimi i projektit.
Një API më e strukturuar krahasuar me X/Open:
Identifikuesit e eksportuar kanë një prefiks për të shmangur kolizionet në hapësirat e emrave.
Skedari objekt i bibliotekës ekspozon një grup minimal simbolesh. Atje ku është e arsyeshme, përdoret kod statik vetëm për titujt e vegjël. Kjo lehtëson optimizimin e kompilatorit dhe shkurtin e kohës së ngarkimit.
-
Të gjitha API-të e mbështesin fillimisht një grup të përgjithshëm simbolesh (Unicode). API për qelizat bazohet në konceptin Klusteri i Zgjeruar të Grapheme të Unicode.
Kapacitetet vizuale, duke përfshirë imazhe, fonte, video, tekst me kontrast të lartë, sprite dhe zona transparente. Të gjitha API-të mbështesin natyrshëm ngjyrën 24-bit, duke u kuptuar sipas nevojës për terminalin.
-
Licenca Apache2, në krahasim me dramat në disa akte, e cila është licenca e ncurses (e fundit përmbledhjet si «ri-formulimi MIT-X11»).
Që nga versioni i mëparshëm i rëndësishëm 1.1.0, janë shtuar një numër të madh funksionesh. Ndryshimet kryesore:
Widget për lexim për hyrje të vargjeve të çdo forme me lidhje në vargjet për lexim
Widget subprocess për të gjeneruar një nënproces, për ta menaxhuar atë dhe për të transmetuar rezultatet përsëri.
Në Linux 5.3+ përdoret një mekanizëm i ri clone3+pidfd për të menaxhuar proceset pa kushte garuese.
Widget Fdplane për transmetimin e çdo deshifruese skedari në një plan (ku është ndërtuar nënprocesi). Të dy lejojnë që kthimet të stilizojnë ose ndryshe të përpunojnë tekstin.
Rrotullimi i planeve dhe efekteve vizuale. Ngarkimi i vizualizimeve nga memorie. Blitimi i çdo formati RGBA/BGRx.
Menuja mund të vendoset në çdo (ose në të dy) nga planet e sipërme dhe të poshtme.
Përmirësime të mëdha në modin Direct.
Polyfills, gradientë dhe tekst me kontrast të lartë.
Tetris është shtuar si një shembull.
Mbështetjet C++ nga Marek Habersack tani kanë mundësinë të hedhin përjashtime (nëse është e nevojshme).
Python dhe Rust FFI janë azhurnuar dhe testuar.
Video demo me komentet e autorit
Libri «Hacking The Planet! with Notcurses» nga autori
Burimi: linux.org.ru

