išleista notcurses v1.4.1 – biblioteka, skirta šiuolaikinėms teksto sąsajoms


išleista notcurses v1.4.1 – biblioteka, skirta šiuolaikinėms teksto sąsajoms

Buvo išleista nauja notcurses v1.4.x bibliotekos versija „saga tęsiasi! wu-tang! wu-tang!

Notcurses yra TUI biblioteka, skirta šiuolaikiniams terminalų emuliatoriams. Išvertus pažodžiui – ne keiksmai. Jis parašytas C kalba, naudojant C++ saugias antraštes. Galimi įvyniojimai Rūdys, C + + и Pitonas.

Kas tai yra: biblioteka, supaprastinanti sudėtingas TUI šiuolaikiniuose terminalo emuliatoriuose, maksimaliai palaikanti ryškias spalvas ir Unicode. Daugelį prakeikimams deleguotų užduočių galima atlikti naudojant notcurses (ir atvirkščiai).

Kas tai nėra: suderinamas X/Open prakeikimų įgyvendinimas arba esamų sistemų ncursų pakaitalas.

„Notcurses“ nebenaudoja „X/Open Curses“ API, pateiktos kaip „Single UNIX“ specifikacijos dalis. Ši specifikacija jau seniai pasenusi ir, pavyzdžiui, nepalaiko terminalo funkcijų, tokių kaip neindeksuota 24 bitų spalva. Iš esmės notcurses nėra keiksmų pakaitalas. Jis yra mažiau nešiojamas ir tikrai išbandytas naudojant mažiau aparatinės įrangos.
Kai tik įmanoma, notcurses naudoja terminfo biblioteką, tiekiamą kartu su ncurses, todėl labai naudinga jos perkeliamumui.
„Notcurses“ atveria pažangias funkcijas, skirtas bendrauti su vartotojais darbo vietose, telefonuose, nešiojamuosiuose kompiuteriuose ir planšetiniuose kompiuteriuose.

Kodėl verta naudoti šią nestandartinę biblioteką?

  • Siūlų saugumas ir efektyvus naudojimas kelių gijų programose buvo nuo pat pradžių projektuojant.

  • Geriau suformatuota API, palyginti su X/Open:

    • Eksportuoti identifikatoriai yra su priešdėliu, kad būtų išvengta vardų erdvės susidūrimų.

    • Bibliotekos objekto failas eksportuoja minimalų simbolių rinkinį. Kur praktiška, statinis kodas naudojamas tik eilučių antraštėms. Tai palengvina kompiliatoriaus optimizavimą ir sumažina įkėlimo laiką.

  • Visos API iš esmės palaiko universalų simbolių rinkinį (Unicode). Ląstelių API yra pagrįsta koncepcija „Unicode“ išplėstinė grafų grupė.

  • Vizualinės funkcijos, įskaitant vaizdus, ​​šriftus, vaizdo įrašus, didelio kontrasto tekstą, šriftus ir skaidrias sritis. Visos API iš esmės palaiko 24 bitų spalvas, kurios yra kvantuojamos pagal poreikį terminalui.

  • Apache2 licencija, skirtingai nei drama keliuose aktuose, tai yra ncurses licencija (pastaroji apibendrinta kaip „MIT-X11 formuluotė“).

Nuo ankstesnio reikšmingo 1.1.0 leidimo buvo pridėta daugybė funkcijų. Pagrindiniai pakeitimai:

  • Skaitymo valdiklis, skirtas įvesti laisvos formos eilutes, susietas su skaitymo eilutėmis

  • Subproceso valdiklis, skirtas subprocesui sukurti, jį valdyti ir rezultatams srautiniu būdu perduoti atgal.

  • Linux 5.3+ naudoja naują clone3+pidfd mechanizmą procesams valdyti be lenktynių sąlygų.

  • Fdplane valdiklis, skirtas savavališko failo deskriptoriaus srautiniam perdavimui į plokštumą (kurioje yra sukurtas subprocesas). Abu leidžia atgalinius skambučius sukurti stilių ar kitaip manipuliuoti tekstu.

  • Plokštumų sukimas ir vaizdo efektai. Įkeliamos vizualizacijos iš atminties. Atsitiktinis RGBA/BGRx blitavimas.

  • Meniu gali būti pateiktas vienoje (arba abiejose) viršutinėje ir apatinėje plokštumose.

  • Dideli tiesioginio režimo patobulinimai.

  • Polifills, gradientai ir didelio kontrasto tekstas.

  • Pridėtas Tetris kaip pavyzdys.

  • Mareko Habersacko C++ įvyniokliai dabar turi galimybę mesti išimtis (jei reikia).

  • Python ir Rust FFI atnaujinta ir išbandyta.

Video demonstracija su autoriaus komentarais
Knyga „Įsilaužimas į planetą! su nekursais“ iš autoriaus

Šaltinis: linux.org.ru

Добавить комментарий