ir izlaists notcurses v1.4.1 - bibliotēka mūsdienu teksta saskarnēm


ir izlaists notcurses v1.4.1 - bibliotēka mūsdienu teksta saskarnēm

Ir izlaista jauna notcurses v1.4.x bibliotēkas versija “sāga turpinās! wu-tang! wu-tang!”

Notcurses ir TUI bibliotēka mūsdienu termināļa emulatoriem. Burtiski tulkots – nevis lāsti. Tas ir rakstīts C valodā, izmantojot C++ drošas galvenes. Pieejami iesaiņojumi Rūsa, C + + и Pitons.

Kas tas ir: bibliotēka, kas vienkāršo sarežģītas TUI mūsdienu termināļa emulatoros, maksimāli atbalstot spilgtas krāsas un Unicode. Daudzus uzdevumus, kas deleģēti lāstiem, var veikt, izmantojot notcurses (un otrādi).

Kas tas nav: saderīga X/Open lāstu ieviešana vai ncurses aizstāšana esošajās sistēmās.

Notcurses noveco X/Open Curses API, kas tiek nodrošināta kā daļa no vienotās UNIX specifikācijas. Šī specifikācija ir sen novecojusi un, piemēram, neatbalsta termināļa funkcionalitāti, piemēram, neindeksētu 24 bitu krāsu. Tādējādi notcurses neaizstāj lāstus. Tas ir mazāk pārnēsājams un noteikti pārbaudīts ar mazāku aparatūru.
Kad vien iespējams, notcurses izmanto terminfo bibliotēku, kas tiek piegādāta kopā ar ncurses, gūstot lielu labumu no tās pārnesamības.
Notcurses paver uzlabotas funkcionalitātes mijiedarbībai ar lietotājiem darbstacijās, tālruņos, klēpjdatoros un planšetdatoros.

Kāpēc izmantot šo nestandarta bibliotēku?

  • Pavedienu drošība un efektīva izmantošana daudzpavedienu programmās ir bijusi dizaina apsvērums jau no paša sākuma.

  • Labāk formatēta API salīdzinājumā ar X/Open:

    • Eksportētajiem identifikatoriem ir pievienoti prefiksi, lai izvairītos no nosaukumvietas sadursmēm.

    • Bibliotēkas objekta fails eksportē minimālu rakstzīmju kopu. Ja iespējams, statisks kods tiek izmantots tikai rindu galvenēm. Tas atvieglo kompilatora optimizāciju un samazina ielādes laiku.

  • Visas API sākotnēji atbalsta universālo rakstzīmju kopu (Unicode). Šūnu API pamatā ir koncepcija Unikoda paplašinātais grafēmu klasteris.

  • Vizuālās funkcijas, tostarp attēli, fonti, videoklipi, augsta kontrasta teksts, spraiti un caurspīdīgi apgabali. Visas API sākotnēji atbalsta 24 bitu krāsas, kas tiek kvantificētas pēc vajadzības terminālim.

  • Apache2 licence, atšķirībā no drāma vairākos aktos, kas ir ncurses licence (pēdējā ir apkopota kā "MIT-X11 pārveidošana").

Kopš iepriekšējās ievērojamās versijas 1.1.0 ir pievienots liels skaits funkciju. Galvenās izmaiņas:

  • Lasīšanas logrīks brīvas formas virkņu ievadīšanai, kas saistītas ar lasīšanas virknēm

  • Apakšprocesa logrīks apakšprocesa izveidei, tā pārvaldībai un tā rezultātu straumēšanai atpakaļ.

  • Linux 5.3+ izmanto jauno clone3+pidfd mehānismu, lai pārvaldītu procesus bez sacensību nosacījumiem.

  • Fdplane logrīks patvaļīga faila deskriptora straumēšanai plaknē (uz kuras ir veidots apakšprocess). Abi ļauj atzvanīt, lai veidotu stilu vai citādi manipulētu ar tekstu.

  • Plakņu rotācija un vizuālie efekti. Notiek vizualizāciju ielāde no atmiņas. Nejauši RGBA/BGRx zibšņi.

  • Izvēlni var novietot vienā (vai abās) augšējās un apakšējās plaknēs.

  • Lieli uzlabojumi tiešajā režīmā.

  • Polyfills, gradienti un augsta kontrasta teksts.

  • Pievienots Tetris kā piemērs.

  • C++ iesaiņojumiem no Mareka Habersack tagad ir iespēja mest izņēmumus (ja nepieciešams).

  • Python un Rust FFI atjaunināts un pārbaudīts.

Video demonstrācija ar autora komentāriem
Grāmata “Hacking The Planet! ar Notcourses" no autora

Avots: linux.org.ru

Pievieno komentāru