notcurses v1.4.1 хувилбар гарсан - орчин үеийн текст интерфейст зориулсан номын сан


notcurses v1.4.1 хувилбар гарсан - орчин үеийн текст интерфейст зориулсан номын сан

notcurses v1.4.x номын сангийн шинэ хувилбар гарлаа “сүм үргэлжилсээр байна! Ву-танг! Ву-тан!"

Notcurses бол орчин үеийн терминал эмуляторуудад зориулсан TUI номын сан юм. Шууд орчуулбал хараал биш. Энэ нь C++-аюулгүй толгойг ашиглан C хэл дээр бичигдсэн. Боодолтой Rust, C ++ и Python.

Энэ нь юу вэ: орчин үеийн терминал эмуляторууд дээрх нарийн төвөгтэй TUI-г хялбаршуулдаг номын сан, тод өнгө, Юникодыг дээд зэргээр дэмждэг. Хараалаар даалгасан олон ажлыг notcurses (мөн эсрэгээр) ашиглан гүйцэтгэж болно.

Энэ нь юу биш вэ: X/Open хараалуудын нийцтэй хэрэгжилт эсвэл одоо байгаа системүүд дээрх хараалуудыг солих.

Notcurses нь Single UNIX Specification-ийн нэг хэсэг болгон өгсөн X/Open Curses API-г цуцалдаг. Энэ үзүүлэлт нь хуучирсан бөгөөд жишээлбэл, индексжүүлээгүй 24 битийн өнгө гэх мэт терминалын функцийг дэмждэггүй. Иймээс notcurses нь хараалыг орлохгүй. Энэ нь зөөврийн чадвар багатай бөгөөд бага техник хангамж дээр туршиж үзсэн.
Боломжтой бол notcurses нь ncurses-д нийлүүлсэн terminfo санг ашигладаг бөгөөд түүний зөөвөрлөлтөөс ихээхэн ашиг тус хүртдэг.
Notcurses нь ажлын станц, утас, зөөврийн компьютер, таблет дээр хэрэглэгчидтэй харилцах дэвшилтэт функцуудыг нээж өгдөг.

Яагаад энэ стандарт бус номын санг ашиглах хэрэгтэй вэ?

  • Урсгалын аюулгүй байдал, олон урсгалтай программуудад үр ашигтай ашиглах нь дизайныг анхнаасаа анхаарч үзсэн.

  • X/Open-тай харьцуулахад илүү сайн форматтай API:

    • Нэрийн орон зайд зөрчилдөхөөс зайлсхийхийн тулд экспортолсон таниулбарууд нь угтвартай байдаг.

    • Номын сангийн объект файл нь тэмдэгтүүдийн хамгийн бага багцыг экспортлодог. Хэрэгтэй тохиолдолд статик кодыг зөвхөн мөрийн толгой хэсэгт ашигладаг. Энэ нь хөрвүүлэгчийг оновчтой болгоход хялбар болгож, ачаалах хугацааг багасгадаг.

  • Бүх API нь бүх нийтийн тэмдэгтийн багцыг (Юникод) дэмждэг. Нүдний API нь үзэл баримтлал дээр суурилдаг Юникод-ын Өргөтгөсөн график кластер.

  • Зураг, фонт, видео, өндөр тодосгогч текст, спрайт, тунгалаг хэсэг зэрэг визуал функцууд. Бүх API нь терминалын хэрэгцээнд нийцүүлэн 24 битийн өнгийг дэмждэг.

  • Apache2 лиценз нь ялгаатай жүжиг хэд хэдэн актуудад, энэ нь ncurses лиценз юм (сүүлийнх нь "MIT-X11-ийн шинэчилсэн найруулга" гэж хураангуйлагдсан).

Өмнөх чухал хувилбар 1.1.0 гарснаас хойш асар олон тооны функц нэмэгдсэн. Үндсэн өөрчлөлтүүд:

  • Унших мөртэй холбосон чөлөөт хэлбэрийн мөрүүдийг оруулахад зориулсан унших виджет

  • Дэд процессыг үүсгэх, удирдах, үр дүнг нь буцааж дамжуулахад зориулсан дэд процессын виджет.

  • Linux 5.3+ нь уралдааны нөхцөлгүйгээр процессыг удирдахын тулд шинэ clone3+pidfd механизмыг ашигладаг.

  • Fdplane виджет нь дурын файлын тодорхойлогчийг хавтгайд дамжуулахад зориулагдсан (түүн дээр дэд процесс баригдсан). Аль аль нь буцааж залгахад текстийг загварчлах эсвэл өөр аргаар өөрчлөх боломжийг олгодог.

  • Онгоцны эргэлт ба харааны эффект. Санах ойноос дүрслэлийг ачаалж байна. Санамсаргүй RGBA/BGRx гялбаа.

  • Цэсийг дээд ба доод талын аль нэгэнд (эсвэл хоёуланд нь) байрлуулж болно.

  • Шууд горимын томоохон сайжруулалтууд.

  • Полифилл, градиент, өндөр тодосгогч текст.

  • Жишээ болгон Тетрис нэмсэн.

  • Marek Habersack-ийн C++ боодол нь одоо үл хамаарах зүйлийг (шаардлагатай бол) хаях чадвартай болсон.

  • Python болон Rust FFI-г шинэчилж, туршиж үзсэн.

Зохиогчийн тайлбар бүхий видео демо
“Гараг хакердах нь! with Notcourses" зохиогчоос

Эх сурвалж: linux.org.ru

сэтгэгдэл нэмэх