Doli notcurses v1.4.1 — një bibliotekë për ndërfaqet moderne tekstuale.


Doli notcurses v1.4.1 — një bibliotekë për ndërfaqet moderne tekstuale.

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

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster