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 hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster