notcurses v1.4.1 เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒ - เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบก


notcurses v1.4.1 เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒ - เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบก

เบชเบฐเบšเบฑเบšเปƒเปเปˆเบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ” notcurses v1.4.x เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒเปเบฅเป‰เบง โ€œsaga เบเบฑเบ‡เบชเบทเบšเบ•เปเปˆ! เบงเบนเบ•เบฑเบ‡! wu-tang!โ€

Notcurses เป€เบ›เบฑเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” TUI เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบˆเปเบฒเบฅเบญเบ‡เบˆเบธเบ”เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบก. เปเบ›โ€‹เบ•เบฒเบกโ€‹เบ•เบปเบงโ€‹เปœเบฑเบ‡โ€‹เบชเบท โ€” เบšเปเปˆโ€‹เปเบกเปˆเบ™โ€‹เบชเบฒเบšโ€‹เปเบŠเปˆเบ‡โ€‹. เบกเบฑเบ™เบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™ C, เป‚เบ”เบเปƒเบŠเป‰ C++-safe headers. Wrappers เบกเบตเปƒเบซเป‰ rust, C ++ ะธ Python.

เบกเบฑเบ™เปเบกเปˆเบ™เบซเบเบฑเบ‡: เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ—เบตเปˆเบ‡เปˆเบฒเบ TUIs เบชเบฐเบฅเบฑเบšเบชเบฑเบšเบŠเป‰เบญเบ™เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบˆเปเบฒเบฅเบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปƒเบŠเป‰เบ›เบฒเบเบ—เบฒเบ‡เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบก, เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเบนเบ‡เบชเบธเบ”เบ—เบตเปˆเบกเบตเบชเบตเบชเบฑเบ™เบชเบปเบ”เปƒเบชเปเบฅเบฐ Unicode. เบงเบฝเบเบ‡เบฒเบ™เบซเบผเบฒเบเบขเปˆเบฒเบ‡เบ—เบตเปˆเบ–เบทเบเบกเบญเบšเปเบฒเบเปƒเบซเป‰เบ–เบทเบเบชเบฒเบšเปเบŠเปˆเบ‡เบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰ notcurses (เปเบฅเบฐเปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™).

เบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบšเปเปˆเปเบกเปˆเบ™: เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบ‚เบญเบ‡ X/Open curses เบซเบผเบทเบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™ ncurses เปƒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง.

Notcurses เบ›เบฐเบ•เบดเป€เบชเบ” X/Open Curses API เบ—เบตเปˆเบชเบฐเปœเบญเบ‡เปƒเบซเป‰เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบชเบฐเป€เบžเบฒเบฐ UNIX เบ”เบฝเบง. เบ‚เปเป‰เบกเบนเบ™เบˆเปเบฒเป€เบžเบฒเบฐเบ™เบตเป‰เปเบกเปˆเบ™เบฅเป‰เบฒเบชเบฐเป„เบซเบกเบ”เบปเบ™เบ™เบฒเบ™เปเบฅเบฐ, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบšเปเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ‚เบญเบ‡ terminal เป€เบŠเบฑเปˆเบ™เบชเบต 24-bit เบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบ”เบฑเบ”เบชเบฐเบ™เบต. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, notcurses เบšเปเปˆเปเบกเปˆเบ™เบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™เบเบฒเบ™เบชเบฒเบšเปเบŠเปˆเบ‡. เบกเบฑเบ™เป€เบ„เบทเปˆเบญเบ™เบ—เบตเปˆเปœเป‰เบญเบเบเบงเปˆเบฒ, เปเบฅเบฐเปเบ™เปˆเบ™เบญเบ™เป„เบ”เป‰เบ—เบปเบ”เบชเบญเบšเปƒเบ™เบฎเบฒเบ”เปเบงเปœเป‰เบญเบเบเบงเปˆเบฒ.
เป€เบกเบทเปˆเบญเปƒเบ”เบเปเปˆเบ•เบฒเบกเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰, notcurses เปƒเบŠเป‰เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” terminfo เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบเบฑเบš ncurses, เป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเบˆเบฒเบเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบ—เบตเปˆเบ‚เบญเบ‡เบกเบฑเบ™.
Notcurses เป€เบ›เบตเบ”เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ‚เบฑเป‰เบ™เบชเบนเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบปเบงเบžเบฑเบ™เบเบฑเบšเบœเบนเป‰เปƒเบŠเป‰เปƒเบ™เบชเบฐเบ–เบฒเบ™เบตเป€เบฎเบฑเบ”เบงเบฝเบ, เป‚เบ—เบฅเบฐเบชเบฑเบš, เปเบฅเบฑเบšเบ—เบฑเบญเบš เปเบฅเบฐเปเบ—เบฑเบšเป€เบฅเบฑเบ”.

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบ•เป‰เบญเบ‡เปƒเบŠเป‰เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ”เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ™เบตเป‰?

  • เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ‚เบญเบ‡เบเบฐเบ—เบนเป‰เปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™เบซเบผเบฒเบ threaded เป„เบ”เป‰เบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบเบฒเบ™เบญเบญเบเปเบšเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

  • API เบ—เบตเปˆเบกเบตเบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบ”เบตเบเบงเปˆเบฒเป€เบกเบทเปˆเบญเบ—เบฝเบšเบเบฑเบš X/Open:

    • เบ•เบปเบงเบฅเบฐเบšเบธเบ—เบตเปˆเบชเบปเปˆเบ‡เบญเบญเบเบˆเบฐเบ–เบทเบเบ™เบณเปœเป‰เบฒเป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เบ‚เบฑเบ”เบเบฑเบ™เบ‚เบญเบ‡ namespace.

    • เป„เบŸเบฅเปŒเบงเบฑเบ”เบ–เบธเบซเป‰เบญเบ‡เบชเบฐเปเบธเบ”เบชเบปเปˆเบ‡เบญเบญเบเบŠเบธเบ”เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เปœเป‰เบญเบเบชเบธเบ”. เบšเปˆเบญเบ™เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰, เบฅเบฐเบซเบฑเบ”เบชเบฐเบ–เบดเบ”เปเบกเปˆเบ™เปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบซเบปเบงเปเบ–เบงเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™เปƒเบ™เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเปเบฅเบฐเบซเบผเบธเบ”เบœเปˆเบญเบ™เป€เบงเบฅเบฒเป‚เบซเบผเบ”.

  • APIs เบ—เบฑเบ‡เปเบปเบ”เบฎเบญเบ‡เบฎเบฑเบšเบŠเบธเบ”เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบปเปˆเบงเป„เบ› (Unicode). Cell API เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ” เบเบธเปˆเบก Grapheme เบ‚เบฐเบซเบเบฒเบเบ‚เบญเบ‡ Unicode.

  • เบฅเบฑเบเบชเบฐเบ™เบฐเบžเบฒเบšเบฅเบงเบกเบ—เบฑเบ‡เบฎเบนเบšเบžเบฒเบš, เบ•เบปเบงเบญเบฑเบเบชเบญเบ™, เบงเบดเบ”เบตเป‚เบญ, เบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบ„เบปเบกเบŠเบฑเบ”เบชเบนเบ‡, sprites, เปเบฅเบฐเบžเบทเป‰เบ™เบ—เบตเปˆเป‚เบ›เปˆเบ‡เปƒเบช. APIs เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เป‚เบ”เบโ€‹เบžเบทเป‰เบ™โ€‹เบ–เบฒเบ™โ€‹เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹เบชเบต 24-bitโ€‹, quantized เบ•เบฒเบกโ€‹เบ—เบตเปˆโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เป‚เบ”เบโ€‹เบเบฒเบ™โ€‹เบขเบนเปˆโ€‹เบ›เบฒเบโ€‹เบเบญเบ”โ€‹.

  • Apache2 เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”, เบšเปเปˆเป€เบซเบกเบทเบญเบ™เบเบฑเบš เบฅเบฐเบ„เบญเบ™ เปƒเบ™เบซเบผเบฒเบเบเบฒเบ™เบเบฐเบ—เปเบฒ, เบŠเบถเปˆเบ‡เป€เบ›เบฑเบ™เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” ncurses (เบญเบฑเบ™เบชเบธเบ”เบ—เป‰เบฒเบเปเบกเปˆเบ™เบชเบฐเบซเบผเบธเบšเป€เบ›เบฑเบ™ "เบเบฒเบ™เบ›เบฐเบ•เบดเบฎเบนเบšเบ‚เบญเบ‡ MIT-X11").

เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบเบฒเบ™เบ›เปˆเบญเบเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ 1.1.0, เบˆเปเบฒเบ™เบงเบ™เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก. เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ•เบปเป‰เบ™เบ•เป:

  • เบญเปˆเบฒเบ™ widget เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เป‰เบญเบ™เบชเบฐเบ•เบฃเบดเบ‡เปเบšเบšเบŸเบญเบกเบŸเบฃเบตเบ—เบตเปˆเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบเบฒเบ™เบญเปˆเบฒเบ™เบชเบฐเบ•เบฃเบดเบ‡

  • widget เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบเปˆเบญเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ spawning เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบเปˆเบญเบ, เบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบกเบฑเบ™, เปเบฅเบฐเบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบกเบฑเบ™เบเบฑเบšเบ„เบทเบ™เป„เบ›เบšเปˆเบญเบ™.

  • Linux 5.3+ เปƒเบŠเป‰เบเบปเบ™เป„เบ clone3+pidfd เปƒเปเปˆเป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบฒเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป‚เบ”เบเบšเปเปˆเบกเบตเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบŠเบทเป‰เบญเบŠเบฒเบ”.

  • widget Fdplane เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”เบ•เบปเบงเบญเบฐเบ—เบดเบšเบฒเบเป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบฑเบเป„เบ›เบซเบฒเบเบปเบ™ (เบ—เบตเปˆเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบเปˆเบญเบเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™). เบ—เบฑเบ‡เบชเบญเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เป‚เบ—เบเบฑเบšเบเบฑเบšเบฎเบนเบšเปเบšเบšเบซเบผเบทเบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบ‚เปเป‰เบ„เบงเบฒเบก.

  • เบเบฒเบ™เบซเบกเบธเบ™เบ‚เบญเบ‡เบเบปเบ™เปเบฅเบฐเบœเบปเบ™เบเบฐเบ—เบปเบšเบ—เบฒเบ‡เบชเบฒเบเบ•เบฒ. เบเบณเบฅเบฑเบ‡เป‚เบซเบผเบ”เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบžเบฒเบšเบˆเบฒเบเปœเปˆเบงเบเบ„เบงเบฒเบกเบˆเบณ. blitting เปเบšเบšเบชเบธเปˆเบก RGBA/BGRx.

  • เป€เบกเบ™เบนเบชเบฒเบกเบฒเบ”เบ–เบทเบเบˆเบฑเบ”เปƒเบชเปˆเปƒเบ™เบ—เบฑเบ‡เบชเบญเบ‡ (เบซเบผเบทเบ—เบฑเบ‡เบชเบญเบ‡) เบ‚เบญเบ‡เบเบปเบ™เป€เบ—เบดเบ‡เปเบฅเบฐเบฅเบธเปˆเบก.

  • เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบญเบฑเบ™เปƒเบซเบเปˆเบซเบผเบงเบ‡เปƒเบ™เป‚เบซเบกเบ”เป‚เบ”เบเบเบปเบ‡.

  • Polyfills, gradients เปเบฅเบฐเบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบ„เบปเบกเบŠเบฑเบ”เบชเบนเบ‡.

  • เป€เบžเบตเปˆเบก Tetris เป€เบ›เบฑเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡.

  • Marek Habersack's C++ wrappers เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ—เบตเปˆเบˆเบฐเบ–เบดเป‰เบกเบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™ (เบ–เป‰เบฒเบˆเปเบฒเป€เบ›เบฑเบ™).

  • Python เปเบฅเบฐ Rust FFI เบ›เบฑเบšเบ›เบธเบ‡เปเบฅเบฐเบ—เบปเบ”เบชเบญเบš.

เบเบฒเบ™เบชเบฒเบ—เบดเบ”เบงเบดเบ”เบตเป‚เบญเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบ‚เบญเบ‡เบœเบนเป‰เบ‚เบฝเบ™
เบ›เบถเป‰เบก โ€œHacking The Planet! เบเบฑเบš Notcourses" เบˆเบฒเบเบœเบนเป‰เบ‚เบฝเบ™

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: linux.org.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™