notcurses v1.4.1 tau raug tso tawm - lub tsev qiv ntawv rau cov ntawv nyeem niaj hnub


notcurses v1.4.1 tau raug tso tawm - lub tsev qiv ntawv rau cov ntawv nyeem niaj hnub

Ib tug tshiab version ntawm lub tsev qiv ntawv notcurses v1.4.x tau raug tso tawm "cov dabneeg txuas ntxiv mus! wu tig! ua tsaug!”

Notcurses yog lub tsev qiv ntawv TUI rau niaj hnub davhlau ya nyob twg emulators. Lus txhais – tsis foom. Nws tau sau hauv C, siv C ++-safe headers. Wrappers muaj rau xeb, C ++ и Nab hab sej.

Nws yog dab tsi: lub tsev qiv ntawv uas ua kom yooj yim TUIs ntawm cov davhlau ya nyob twg emulators niaj hnub, txhawb nqa cov xim ci thiab Unicode. Ntau cov dej num uas tau muab rau kev foom tsis zoo tuaj yeem ua tau siv cov lus tsis txaus siab (thiab rov ua dua).

Dab tsi nws tsis yog: Ib qho kev ua tau zoo ntawm X / Qhib lus foom lossis hloov pauv rau ncurses ntawm cov tshuab uas twb muaj lawm.

Notcurses deprecates X/Open Curses API muab raws li ib feem ntawm UNIX Specification. Qhov kev qhia tshwj xeeb no tau dhau los ntev thiab, piv txwv li, tsis txhawb lub davhlau ya nyob twg ua haujlwm xws li tsis yog-indexed 24-ntsis xim. Yog li ntawd, kev tsis ncaj ncees tsis yog qhov hloov pauv rau kev foom phem. Nws yog portable tsawg dua, thiab twv yuav raug hu sim ntawm tsawg hardware.
Thaum twg ua tau, notcurses siv lub tsev qiv ntawv terminfo muab nrog ncurses, tau txais txiaj ntsig zoo los ntawm nws qhov kev txav mus los.
Notcurses qhib kev ua haujlwm siab heev rau kev cuam tshuam nrog cov neeg siv ntawm chaw ua haujlwm, xov tooj, laptops thiab ntsiav tshuaj.

Vim li cas thiaj siv lub tsev qiv ntawv tsis zoo no?

  • Xov kev ruaj ntseg thiab siv tau zoo nyob rau hauv cov kev pab cuam ntau txoj xov yog ib qho kev txiav txim siab los ntawm qhov pib.

  • Ntau hom API zoo dua piv rau X / Qhib:

    • Exported identifiers yog prefixed kom tsis txhob muaj kev sib tsoo namespace.

    • Lub tsev qiv ntawv kwv cov ntaub ntawv xa tawm tsawg kawg ntawm cov cim. Qhov twg siv tau, static code yog siv rau kab headers nkaus xwb. Qhov no ua rau nws yooj yim rau optimize lub compiler thiab txo lub sij hawm thauj khoom.

  • Txhua APIs ib txwm txhawb nqa cov cim thoob ntiaj teb (Unicode). Lub cell API yog raws li lub tswv yim Unicode's Extended Grapheme Cluster.

  • Cov yam ntxwv pom nrog rau cov duab, fonts, yeeb yaj duab, cov ntawv nyeem siab, sprites, thiab pob tshab. Txhua APIs ib txwm txhawb nqa 24-ntsis xim, suav raws li qhov xav tau los ntawm lub davhlau ya nyob twg.

  • Apache2 daim ntawv tso cai, tsis zoo li ua yeeb yam nyob rau hauv ob peb ua, uas yog daim ntawv tso cai ncurses (tom kawg yog summarized raws li ib tug "reformulation ntawm MIT-X11").

Txij li thaum yav dhau los tseem ceeb tso tawm 1.1.0, ntau tus nta tau ntxiv. Cov kev hloov loj:

  • Nyeem ntawv widget rau nkag mus rau cov kab ntawv pub dawb txuas rau kev nyeem cov hlua

  • Lub subprocess widget rau spawning subprocess, tswj nws, thiab streaming nws cov txiaj ntsig rov qab.

  • Linux 5.3+ siv cov clone3 + pidfd tshiab los tswj cov txheej txheem yam tsis muaj kev sib tw.

  • Fdplane widget rau streaming ib tug arbitrary ntaub ntawv descriptor rau lub dav hlau (nyob rau hauv uas lub subprocess yog tsim). Ob leeg tso cai callbacks rau style lossis lwm yam siv cov ntawv nyeem.

  • Kev sib hloov ntawm cov dav hlau thiab pom qhov cuam tshuam. Loading visualizations ntawm lub cim xeeb. Random RGBA / BGRx blitting.

  • Cov ntawv qhia zaub mov tuaj yeem muab tso rau ntawm ob qho tib si (lossis ob qho tib si) ntawm cov dav hlau saum toj thiab hauv qab.

  • Kev txhim kho loj hauv Direct hom.

  • Polyfills, gradients thiab high contrast ntawv nyeem.

  • Ntxiv Tetris ua piv txwv.

  • C ++ wrappers los ntawm Marek Habersack tam sim no muaj peev xwm pov tseg (yog tias xav tau).

  • Python thiab Rust FFI hloov kho thiab sim.

Video demo nrog tus sau cov lus pom
Phau ntawv “Hacking The Planet! nrog Notcourses" los ntawm tus sau

Tau qhov twg los: linux.org.ru ua

Ntxiv ib saib