notcurses v1.4.1 har blitt utgitt - et bibliotek for moderne tekstgrensesnitt


notcurses v1.4.1 har blitt utgitt - et bibliotek for moderne tekstgrensesnitt

En ny versjon av notcurses v1.4.x-biblioteket har blitt utgitt «sagaen fortsetter! Wu Tang! Wu Tang!"

Notcurses er et TUI-bibliotek for moderne terminalemulatorer. Bokstavelig oversatt – ikke forbannelser. Det er skrevet i C, ved hjelp av C++-sikre overskrifter. Innpakninger tilgjengelig for Rust, C + + и Python.

Hva er det: et bibliotek som forenkler komplekse TUI-er på moderne terminalemulatorer, og støtter maksimalt lyse farger og Unicode. Mange oppgaver delegert til forbannelser kan utføres ved å bruke notcurses (og omvendt).

Hva det ikke er: En kompatibel implementering av X/Open-forbannelser eller en erstatning for ncurses på eksisterende systemer.

Notcurses fraskriver X/Open Curses API gitt som en del av Single UNIX-spesifikasjonen. Denne spesifikasjonen er lenge utdatert og støtter for eksempel ikke terminalfunksjonalitet som ikke-indeksert 24-bits farge. Som sådan er ikke forbannelser en erstatning for forbannelser. Den er mindre bærbar, og definitivt testet på mindre maskinvare.
Når det er mulig, bruker notcurses terminfo-biblioteket som følger med ncurses, og drar stor nytte av portabiliteten.
Notcurses åpner for avansert funksjonalitet for samhandling med brukere på arbeidsstasjoner, telefoner, bærbare datamaskiner og nettbrett.

Hvorfor bruke dette ikke-standardbiblioteket?

  • Trådsikkerhet og effektiv bruk i flertrådede programmer har vært en designbetraktning helt fra begynnelsen.

  • Mer velformatert API sammenlignet med X/Open:

    • Eksporterte identifikatorer får prefiks for å unngå navneområdekollisjoner.

    • Bibliotekobjektfilen eksporterer et minimalt sett med tegn. Der det er praktisk, brukes statisk kode kun for linjeoverskrifter. Dette gjør det enklere å optimalisere kompilatoren og reduserer lastetidene.

  • Alle API-er støtter det universelle tegnsettet (Unicode). Celle-API er basert på konseptet Unicodes utvidede grafeklynge.

  • Visuelle funksjoner inkludert bilder, fonter, videoer, tekst med høy kontrast, sprites og gjennomsiktige områder. Alle API-er støtter naturlig 24-bits farger, kvantisert etter behov av terminalen.

  • Apache2-lisens, i motsetning til drama i flere handlinger, som er ncurses-lisensen (sistnevnte er oppsummert som en "reformulering av MIT-X11").

Siden den forrige betydelige utgivelsen 1.1.0 har et stort antall funksjoner blitt lagt til. Hovedendringer:

  • Lesewidget for å legge inn strenger i fri form knyttet til lesestrenger

  • En delprosess-widget for å skape en delprosess, administrere den og streame resultatene tilbake.

  • Linux 5.3+ bruker den nye clone3+pidfd-mekanismen for å administrere prosesser uten rasebetingelse.

  • Fdplane-widget for å streame en vilkårlig filbeskrivelse til flyet (som underprosessen er bygget på). Begge lar tilbakeringinger for å style eller på annen måte manipulere tekst.

  • Rotasjon av fly og visuelle effekter. Laster visualiseringer fra minnet. Tilfeldig RGBA/BGRx blitting.

  • Menyen kan plasseres på enten (eller begge) av topp- og bunnplanet.

  • Store forbedringer i Direct-modus.

  • Polyfills, gradienter og tekst med høy kontrast.

  • Lagt til Tetris som et eksempel.

  • Marek Habersacks C++ wrappers har nå muligheten til å kaste unntak (om nødvendig).

  • Python og Rust FFI oppdatert og testet.

Videodemo med forfatterens kommentarer
Boken «Hacking The Planet! med Notcourses" fra forfatteren

Kilde: linux.org.ru

Legg til en kommentar