notcurses v1.4.1 is vrygestel - 'n biblioteek vir moderne tekskoppelvlakke


notcurses v1.4.1 is vrygestel - 'n biblioteek vir moderne tekskoppelvlakke

'n Nuwe weergawe van die notcurses v1.4.x-biblioteek is vrygestel “the saga continues! Wu Tang! Wu Tang!"

Notcurses is 'n TUI-biblioteek vir moderne terminale emulators. Letterlik vertaal – nie vloeke nie. Dit is geskryf in C, met behulp van C++-veilige kopskrifte. Omhulsels beskikbaar vir Rust, C + + и Python.

Wat is dit: 'n biblioteek wat komplekse TUI's op moderne terminale emulators vereenvoudig, wat helder kleure en Unicode maksimaal ondersteun. Baie take wat aan vloeke gedelegeer is, kan uitgevoer word deur gebruik te maak van notcurses (en omgekeerd).

Wat dit nie is nie: 'n Versoenbare implementering van X/Open-vloeke of 'n vervanging vir ncurses op bestaande stelsels.

Notcurses verwerp die X/Open Curses API wat as deel van die Enkel UNIX-spesifikasie verskaf word. Hierdie spesifikasie is lankal verouderd en ondersteun byvoorbeeld nie terminale funksionaliteit soos nie-geïndexeerde 24-bis kleur nie. As sodanig is notcurses nie 'n plaasvervanger vir vloeke nie. Dit is minder draagbaar en is beslis op minder hardeware getoets.
Waar moontlik, gebruik notcurses die terminfo-biblioteek wat met ncurses verskaf word, wat groot voordeel trek uit die oordraagbaarheid daarvan.
Notcurses maak gevorderde funksionaliteit oop vir interaksie met gebruikers op werkstasies, fone, skootrekenaars en tablette.

Waarom hierdie nie-standaard biblioteek gebruik?

  • Draadveiligheid en doeltreffende gebruik in multi-draadprogramme was van die begin af 'n ontwerpoorweging.

  • Meer goed geformateerde API in vergelyking met X/Open:

    • Uitgevoerde identifiseerders word voorafgegaan om naamruimtebotsings te vermy.

    • Die biblioteekobjeklêer voer 'n minimale stel karakters uit. Waar prakties, word statiese kode slegs vir lynopskrifte gebruik. Dit maak dit makliker om die samesteller te optimaliseer en verminder laaitye.

  • Alle API's ondersteun die universele karakterstel (Unicode). Die sel API is gebaseer op die konsep Unicode se uitgebreide grafeemgroepering.

  • Visuele kenmerke, insluitend beelde, lettertipes, video's, hoë-kontras teks, sprites en deursigtige areas. Alle API's ondersteun inheems 24-bis kleur, gekwantifiseer soos benodig deur die terminale.

  • Apache2 lisensie, anders as dramas in verskeie wette, wat die ncurses-lisensie is (laasgenoemde word opgesom as 'n "herformulering van MIT-X11").

Sedert die vorige beduidende vrystelling 1.1.0, is 'n groot aantal kenmerke bygevoeg. Belangrikste veranderinge:

  • Leeslegstuk om vryvorm-stringe in te voer wat aan leesstringe gekoppel is

  • 'n Subproses-legstuk om 'n subproses voort te bring, dit te bestuur en die resultate daarvan terug te stroom.

  • Linux 5.3+ gebruik die nuwe clone3+pidfd-meganisme om prosesse sonder 'n rastoestand te bestuur.

  • Fdplane-legstuk vir die stroom van 'n arbitrêre lêerbeskrywing na die vliegtuig (waarop die subproses gebou is). Albei laat terugbelle toe om teks te styl of andersins te manipuleer.

  • Rotasie van vliegtuie en visuele effekte. Laai visualisasies uit die geheue. Ewekansige RGBA/BGRx-wording.

  • Die spyskaart kan op een (of albei) van die boonste en onderste vlakke geplaas word.

  • Groot verbeterings in direkte modus.

  • Polyfills, gradiënte en hoë kontras teks.

  • Bygevoeg Tetris as 'n voorbeeld.

  • C++-omhulsels van Marek Habersack het nou die vermoë om uitsonderings te gooi (indien nodig).

  • Python en Rust FFI opgedateer en getoets.

Video-demo met skrywer se opmerkings
Die boek “Hacking The Planet! met Notcourses" van die skrywer

Bron: linux.org.ru

Voeg 'n opmerking