notcurses v1.4.1 is útbrocht - in bibleteek foar moderne tekstynterfaces


notcurses v1.4.1 is útbrocht - in bibleteek foar moderne tekstynterfaces

In nije ferzje fan 'e notcurses v1.4.x bibleteek is útbrocht "de saga giet troch! wu-tyf! wu-tang!"

Notcurses is in TUI-bibleteek foar moderne terminalemulators. Letterlik oerset - gjin flokken. It is skreaun yn C, mei C ++-feilige kopteksten. Wrappers beskikber foar Rust, C ++ и Python.

Wat is it: in bibleteek dy't komplekse TUI's ferienfâldigt op moderne terminalemulators, maksimaal stypje heldere kleuren en Unicode. In protte taken delegearre oan flokken kinne wurde útfierd mei help fan notcurses (en oarsom).

Wat it is net: In kompatibel ymplemintaasje fan X / Open flokken of in ferfanging foar ncurses op besteande systemen.

Notcurses fernijt de X/Open Curses API levere as ûnderdiel fan 'e Single UNIX-spesifikaasje. Dizze spesifikaasje is lang ferâldere en stipet bygelyks gjin terminalfunksjonaliteit lykas net-yndeksearre 24-bit kleur. As sadanich is notcurses gjin ferfanging foar flokken. It is minder draachber, en perfoarst testen op minder hardware.
As it mooglik is, brûkt notcurses de terminfo-bibleteek dy't wurdt levere mei ncurses, en profitearret sterk fan syn portabiliteit.
Notcurses iepenet avansearre funksjonaliteit foar ynteraksje mei brûkers op wurkstasjons, tillefoans, laptops en tablets.

Wêrom brûke dizze net-standert bibleteek?

  • Threadfeiligens en effisjint gebrûk yn multi-threaded programma's hat fan it begjin ôf in ûntwerpbeskôging west.

  • Mear goed opmakke API yn ferliking mei X/Open:

    • Eksportearre identifiers wurde foarôfgeand om nammeromtebotsingen te foarkommen.

    • It bibleteekobjekttriem eksportearret in minimale set tekens. Wêr't praktysk is, wurdt statyske koade allinich brûkt foar linekoppen. Dit makket it makliker om de kompilator te optimalisearjen en ferminderet laden tiden.

  • Alle API's stypje natuerlik de universele tekenset (Unicode). De sel API is basearre op it konsept Unicode's Extended Grapheme Cluster.

  • Fisuele funksjes ynklusyf ôfbyldings, lettertypen, fideo's, tekst mei hege kontrast, sprites en transparante gebieten. Alle API's stypje natuerlik 24-bit kleur, kwantisearre as nedich troch de terminal.

  • Apache2 lisinsje, oars as drama yn ferskate akten, dat is de ncurses lisinsje (de lêste wurdt gearfette as in "herfoarming fan MIT-X11").

Sûnt de foarige wichtige release 1.1.0 is in enoarm oantal funksjes tafoege. Main feroarings:

  • Lêswidget foar it ynfieren fan snaren yn frije foarm keppele oan lêsstrings

  • In subproses-widget om in subproses te spawnen, it te behearjen en de resultaten werom te streamen.

  • Linux 5.3+ brûkt it nije clone3+pidfd-meganisme om prosessen te behearjen sûnder racebetingsten.

  • Fdplane-widget foar it streamen fan in willekeurige triembeskriuwing nei it fleantúch (dêr't it subproses op boud is). Beide kinne callbacks tastean om tekst te stylearjen of oars te manipulearjen.

  • Rotaasje fan fleantugen en fisuele effekten. Fisualisaasjes laden út it ûnthâld. Willekeurige RGBA / BGRx blitting.

  • It menu kin pleatst wurde op ien (of beide) fan 'e boppeste en ûnderste fleantugen.

  • Grutte ferbetterings yn Direct modus.

  • Polyfills, gradiënten en tekst mei hege kontrast.

  • Tetris tafoege as foarbyld.

  • Marek Habersack's C++ wrappers hawwe no de mooglikheid om útsûnderingen te goaien (as nedich).

  • Python en Rust FFI bywurke en hifke.

Fideo-demo mei opmerkings fan skriuwer
It boek "Hacking The Planet! mei Notcourses" fan de skriuwer

Boarne: linux.org.ru

Add a comment