Lëshoi një version të ri të bibliotekës notcurses v1.4.x «të vazhdojë saga! wu-tang! wu-tang!»
Notcurses është një bibliotekë TUI për emulators modernë të terminaleve. Duke përkthyer dosido - nuk janë një mallkim (not curses). Ajo është shkruar në C, duke përdorur headers të sigurta C++. Janë të disponueshme mbështetje për Rust, C++ dhe Python.
Çfarë është kjo: një bibliotekë që thjeshton TUI të komplikuara në emulators modernë të terminaleve, mbështetur maksimalisht për ngjyrat e ndritshme dhe Unicode. Shumë detyra të deleguara për curses mund të përfundojnë me notcurses (dhe anasjelltas).
Çfarë nuk është kjo: një zbatim përputhës i X/Open curses ose një zëvendësim për ncurses në sistemet ekzistuese.
Notcurses refuzon API-në X/Open Curses, e cila ofrohet si pjesë e Specifikimit të Njësisë së Vetme UNIX. Kjo specifikatë është e vjetruar dhe, për shembull, nuk mbështet funksionalitete të tilla terminali si ngjyra 24-bit jo-indeksuar. Si e tillë, notcurses nuk është një zëvendësim për curses. Ajo është më pak e portueshme dhe sigurisht është testuar në një numër më të vogël pajisjesh.
Kur është e mundur, notcurses përdor bibliotekën terminfo, e cila vjen me ncurses, duke nxjerrë shumë përfitim nga portueshmëria e saj.
Notcurses hap mundësi të avancuara për ndërveprimin me përdoruesit në stacionet e punës, telefonat, laptopët dhe tabletët.
Pse të përdorni këtë bibliotekë jo-standard?
Siguria e rrjedhës dhe përdorimi efektiv në programe me shumë këndvështrime ishin konsiderata projektimi që nga fillimi.
Një API më i saktë krahasuar me X/Open:
Identifikuesit e eksportuar kanë një prefix për të shmangur kolizionet në hapësirat e emrave.
Arkiva objekt të bibliotekës eksporton një grup minimal simbolesh. Atje ku është e arsyeshme, përdoret kod statik vetëm për krye të vogla. Kjo lehtëson optimizimin e kompilatorit dhe zvogëlon kohën e ngarkimit.
-
Të gjitha API-të fillimisht mbështesin një grup universal simbolesh (Unicode). API për qelizat është i bazuar në konceptin Grupi i Shtrirë të Simboleve Unicode.
Aftësi vizuale, duke përfshirë imazhe, fonte, video, tekst me kontrast të lartë, sprite dhe zona transparente. Të gjitha API-të natyrshëm mbështesin ngjyrën 24-bit, e kvantizuar sipas nevojës për terminalin.
-
Licenca Apache2, ndryshe nga drama në disa akte, e cila është licenca ncurses (e fundit përmbledhët si «riformulim i MIT-X11»).
Që nga lëshimi i mëparshëm i rëndësishëm 1.1.0, janë shtuar një sasi e madhe funksionesh. Ndryshimet kryesore:
Widget për leximin për futur vargje në forma të rastësishme me lidhje ndaj vargjeve për leximin.
Widget subprocess për krijimin e një nënprocesi, menaxhimin e tij dhe transmetimin e rezultateve të tij përsëri.
Në Linux 5.3+ përdoret një mekanizëm i ri clone3+pidfd për menaxhimin e proceseve pa kushte konkurrente.
Widget Fdplane për transmetimin e një deshifruesi të skedarëve të rastësishëm në planin (në të cilin ndërtohet nënprocessi). Të dyja lejojnë që thirrjet të stilizojnë ose të trajtojnë në ndonjë mënyrë tekstin.
Rrotullimi i planeve dhe efekteve vizuale. Ngarkimi i vizualizimeve nga memoria. Blitimi i rastësishëm RGBA/BGRx.
Meni mund të vendoset në çdo (ose 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ë.
Shtuar tetris si një shembull.
Qarqet C++ nga Marek Habersack tani kanë mundësinë të hedhin përjashtime (nëse është e nevojshme).
Python dhe Rust FFI janë përditësuar dhe testuar.
Video demo me komentet e autorit.
Libri 'Hacking The Planet! with Notcurses' nga autori.
Burimi: linux.org.ru

