notcurses v1.4.1 wis dirilis - perpustakaan kanggo antarmuka teks modern


notcurses v1.4.1 wis dirilis - perpustakaan kanggo antarmuka teks modern

Versi anyar saka perpustakaan notcurses v1.4.x wis dirilis "saga terus! wu-tang! wu-tang!”

Notcurses minangka perpustakaan TUI kanggo emulator terminal modern. Diterjemahake kanthi harfiah - dudu kutukan. Iku ditulis ing C, nggunakake C ++ -header aman. Wrapper kasedhiya kanggo Rust, C ++ и Python.

Apa iku: perpustakaan sing nyederhanakake TUIs Komplek ing emulator terminal modern, maximally ndhukung werna padhang lan Unicode. Akeh tugas sing ditugasake kanggo kutukan bisa ditindakake nggunakake notcurses (lan kosok balene).

Apa ora: A implementasine kompatibel X / Open curses utawa panggantos ncurses ing sistem ana.

Notcurses nolak X / Open Curses API sing diwenehake minangka bagean saka Spesifikasi UNIX Tunggal. Spesifikasi iki wis suwe banget lan, contone, ora ndhukung fungsi terminal kayata warna 24-bit sing ora diindeks. Dadi, notcurses dudu pengganti kutukan. Iku kurang portabel, lan temtunipun dites ing hardware kurang.
Yen bisa, notcurses nggunakake perpustakaan terminfo sing diwenehake karo ncurses, entuk manfaat banget saka portabilitas.
Notcurses mbukak fungsi sing luwih maju kanggo sesambungan karo pangguna ing stasiun kerja, telpon, laptop lan tablet.

Apa nggunakake perpustakaan non-standar iki?

  • Keamanan thread lan panggunaan efisien ing program multi-threaded wis dadi pertimbangan desain wiwit wiwitan.

  • API sing diformat luwih apik dibandhingake karo X/Open:

    • Identifikasi sing diekspor diawali kanggo ngindhari tabrakan ruang jeneng.

    • File obyek perpustakaan ngekspor set minimal karakter. Yen praktis, kode statis mung digunakake kanggo header baris. Iki nggawe luwih gampang kanggo ngoptimalake compiler lan nyuda kaping mbukak.

  • Kabeh API asli ndhukung set karakter universal (Unicode). API sel adhedhasar konsep Kluster Grapheme Extended Unicode.

  • Fitur visual kalebu gambar, font, video, teks kontras dhuwur, sprite, lan area transparan. Kabeh API asli ndhukung werna 24-bit, dikuantisasi yen perlu dening terminal.

  • Lisensi Apache2, ora kaya drama ing sawetara tumindak, kang lisensi ncurses (sing terakhir wis rangkuman minangka "reformulasi MIT-X11").

Wiwit rilis penting sadurunge 1.1.0, akeh fitur sing ditambahake. Owah-owahan utama:

  • Reading widget kanggo ngetik free-form strings disambung kanggo maca strings

  • Widget subproses kanggo ngasilake subproses, ngatur, lan streaming asile maneh.

  • Linux 5.3+ nggunakake mekanisme clone3+pidfd anyar kanggo ngatur proses tanpa kondisi balapan.

  • Widget Fdplane kanggo streaming deskriptor file sewenang-wenang menyang pesawat (ing subprocess dibangun). Loro-lorone ngidini callback kanggo gaya utawa digunakake ngapusi teks.

  • Rotasi pesawat lan efek visual. Loading visualizations saka memori. RGBA/BGRx blitting acak.

  • Menu bisa diselehake ing salah siji (utawa loro) pesawat ndhuwur lan ngisor.

  • dandan gedhe ing mode Langsung.

  • Polyfills, gradien lan teks kontras dhuwur.

  • Ditambahake Tetris minangka conto.

  • C ++ pambungkus saka Marek Habersack saiki duwe kemampuan kanggo mbuwang pengecualian (yen perlu).

  • Python lan Rust FFI dianyari lan dites.

Video demo karo komentar penulis
Buku "Hacking The Planet! karo Notcourses" saka penulis

Source: linux.org.ru

Add a comment