notcurses v1.4.1 рдкреНрд░рд╕рд┐рджреНрдз рдХреЗрд▓реЗ рдЖрд╣реЗ - рдЖрдзреБрдирд┐рдХ рдордЬрдХреВрд░ рдЗрдВрдЯрд░рдлреЗрд╕рд╕рд╛рдареА рд▓рд╛рдпрдмреНрд░рд░реА


notcurses v1.4.1 рдкреНрд░рд╕рд┐рджреНрдз рдХреЗрд▓реЗ рдЖрд╣реЗ - рдЖрдзреБрдирд┐рдХ рдордЬрдХреВрд░ рдЗрдВрдЯрд░рдлреЗрд╕рд╕рд╛рдареА рд▓рд╛рдпрдмреНрд░рд░реА

notcurses v1.4.x рд▓рд╛рдпрдмреНрд░рд░реАрдЪреА рдирд╡реАрди рдЖрд╡реГрддреНрддреА рдкреНрд░рд╕рд┐рджреНрдз рдЭрд╛рд▓реА рдЖрд╣реЗ тАЬрдЧрд╛рдерд╛ рдЪрд╛рд▓реВ рдЖрд╣реЗ! рд╡реВ-рдЯрд╛рдВрдЧ! рд╡реВ-рдЯрд╛рдВрдЧ!"

Notcurses рдЖрдзреБрдирд┐рдХ рдЯрд░реНрдорд┐рдирд▓ рдПрдореБрд▓реЗрдЯрд░рд╕рд╛рдареА TUI рд▓рд╛рдпрдмреНрд░рд░реА рдЖрд╣реЗ. рд╢рдмреНрджрд╢рдГ рдЕрдиреБрд╡рд╛рджрд┐рдд - рд╢рд╛рдк рдирд╛рд╣реА. рд╣реЗ C++-рд╕реБрд░рдХреНрд╖рд┐рдд рд╢реАрд░реНрд╖рд▓реЗрдЦ рд╡рд╛рдкрд░реВрди C рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗ рдЖрд╣реЗ. рд╕рд╛рдареА рд░реЕрдкрд░реНрд╕ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗрдд рдЧрдВрдЬ, C ++ ╨╕ python рд▓рд╛.

рддреЗ рдХрд╛рдп рдЖрд╣реЗ: рдПрдХ рд▓рд╛рдпрдмреНрд░рд░реА рдЬреА рдЖрдзреБрдирд┐рдХ рдЯрд░реНрдорд┐рдирд▓ рдПрдореБрд▓реЗрдЯрд░рд╡рд░ рдЬрдЯрд┐рд▓ TUIs рд╕реБрд▓рдн рдХрд░рддреЗ, рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рдЪрдордХрджрд╛рд░ рд░рдВрдЧ рдЖрдгрд┐ рдпреБрдирд┐рдХреЛрдбрд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ. рд╢рд╛рдкрд╛рдВрдирд╛ рд╕реЛрдкрд╡рд▓реЗрд▓реА рдЕрдиреЗрдХ рдХрд╛рд░реНрдпреЗ рдиреЙрдЯ-рдХрд░реНрд╕реЗрд╕ (рдЖрдгрд┐ рдЙрд▓рдЯ) рд╡рд╛рдкрд░реВрди рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддрд╛рдд.

рддреЗ рдХрд╛рдп рдирд╛рд╣реА: X/Open curses рдЪреА рд╕реБрд╕рдВрдЧрдд рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд┐рдВрд╡рд╛ рд╡рд┐рджреНрдпрдорд╛рди рд╕рд┐рд╕реНрдЯреАрдорд╡рд░ ncurses рдмрджрд▓рдгреЗ.

Notcurses рдПрдХрд▓ UNIX рддрдкрд╢реАрд▓рд╛рдЪрд╛ рднрд╛рдЧ рдореНрд╣рдгреВрди рдкреНрд░рджрд╛рди рдХреЗрд▓реЗрд▓реЗ X/Open Curses API рдирд╛рдкрд╕рдВрдд рдХрд░рддреЗ. рд╣реЗ рддрдкрд╢реАрд▓ рдлрд╛рд░ рдЬреБрдиреЗ рдЖрд╣реЗ рдЖрдгрд┐ рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, 24-рдмрд┐рдЯ рдирд╕рд▓реЗрд▓реНрдпрд╛ рд░рдВрдЧрд╛рд╕рд╛рд░рдЦреНрдпрд╛ рдЯрд░реНрдорд┐рдирд▓ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдд рдирд╛рд╣реА. рдЬрд╕реЗ рдХреА, notcurses рд╢рд╛рдкрд╛рдВрдЪреА рдмрджрд▓реА рдирд╛рд╣реА. рд╣реЗ рдХрдореА рдкреЛрд░реНрдЯреЗрдмрд▓ рдЖрд╣реЗ рдЖрдгрд┐ рдирд┐рд╢реНрдЪрд┐рддрдкрдгреЗ рдХрдореА рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░рд╡рд░ рдЪрд╛рдЪрдгреА рдХреЗрд▓реА рдЬрд╛рддреЗ.
рдЬреЗрд╡реНрд╣рд╛ рд╢рдХреНрдп рдЕрд╕реЗрд▓ рддреЗрд╡реНрд╣рд╛, notcurses ncurses рд╕рд╣ рдкреБрд░рд╡рд┐рд▓реЗрд▓реНрдпрд╛ рдЯрд░реНрдорд┐рдирдлреЛ рд▓рд╛рдпрдмреНрд░рд░реАрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рддреЗ, рддреНрдпрд╛рдЪреНрдпрд╛ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреАрдЪрд╛ рдЦреВрдк рдлрд╛рдпрджрд╛ рд╣реЛрддреЛ.
Notcurses рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рдиреНрд╕, рдлреЛрди, рд▓реЕрдкрдЯреЙрдк рдЖрдгрд┐ рдЯреЕрдмреНрд▓реЗрдЯрд╡рд░ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рдЧрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЙрдШрдбрддреЗ.

рд╣реА рдиреЙрди-рд╕реНрдЯрдБрдбрд░реНрдб рд▓рд╛рдпрдмреНрд░рд░реА рдХрд╛ рд╡рд╛рдкрд░рд╛рдпрдЪреА?

  • рдереНрд░реЗрдб рд╕реБрд░рдХреНрд╖рд╛ рдЖрдгрд┐ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕рдордзреНрдпреЗ рдХрд╛рд░реНрдпрдХреНрд╖рдо рд╡рд╛рдкрд░ рд╣рд╛ рдЕрдЧрджреА рд╕реБрд░реБрд╡рд╛рддреАрдкрд╛рд╕реВрдирдЪ рдбрд┐рдЭрд╛рдЗрдирдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ.

  • X/Open рдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реЗ рд╕реНрд╡рд░реВрдкрд┐рдд API:

    • рдиреЗрдорд╕реНрдкреЗрд╕ рдЯрдХреНрдХрд░ рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдХреЗрд▓реЗрд▓реЗ рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ рдЙрдкрд╕рд░реНрдЧ рд▓рд╛рд╡рд▓реЗ рдЬрд╛рддрд╛рдд.

    • рд▓рд╛рдпрдмреНрд░рд░реА рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╛рдЗрд▓ рдЕрдХреНрд╖рд░рд╛рдВрдЪрд╛ рдХрд┐рдорд╛рди рд╕рдВрдЪ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ. рдЬреЗрдереЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ, рд╕реНрдерд┐рд░ рдХреЛрдб рдлрдХреНрдд рд▓рд╛рдЗрди рд╢реАрд░реНрд╖рд▓реЗрдЦрд╛рдВрд╕рд╛рдареА рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ. рд╣реЗ рдХрдВрдкрд╛рдЗрд▓рд░рд▓рд╛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХрд░рдгреЗ рд╕реЛрдкреЗ рдХрд░рддреЗ рдЖрдгрд┐ рд▓реЛрдб рд╡реЗрд│рд╛ рдХрдореА рдХрд░рддреЗ.

  • рд╕рд░реНрд╡ APIs рдиреЗрдЯрд┐рд╡реНрд╣рд▓реА рдпреБрдирд┐рд╡реНрд╣рд░реНрд╕рд▓ рдХреЕрд░реЗрдХреНрдЯрд░ рд╕реЗрдЯ (рдпреБрдирд┐рдХреЛрдб) рдЪреЗ рд╕рдорд░реНрдерди рдХрд░рддрд╛рдд. рд╕реЗрд▓ API рд╕рдВрдХрд▓реНрдкрдиреЗрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ рдпреБрдирд┐рдХреЛрдбрдЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЧреНрд░рд╛рдлреАрдо рдХреНрд▓рд╕реНрдЯрд░.

  • рдкреНрд░рддрд┐рдорд╛, рдлреЙрдиреНрдЯ, рд╡реНрд╣рд┐рдбрд┐рдУ, рдЙрдЪреНрдЪ-рдХреЙрдиреНрдЯреНрд░рд╛рд╕реНрдЯ рдордЬрдХреВрд░, рд╕реНрдкреНрд░рд╛рдЗрдЯреНрд╕ рдЖрдгрд┐ рдкрд╛рд░рджрд░реНрд╢рдХ рдХреНрд╖реЗрддреНрд░рд╛рдВрд╕рд╣ рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ. рд╕рд░реНрд╡ APIs рдиреЗрдЯрд┐рд╡реНрд╣ 24-рдмрд┐рдЯ рд░рдВрдЧрд╛рдЪреЗ рд╕рдорд░реНрдерди рдХрд░рддрд╛рдд, рдЯрд░реНрдорд┐рдирд▓рдЪреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддреЗрдиреБрд╕рд╛рд░ рдкрд░рд┐рдорд╛рдгрд┐рдд.

  • Apache2 рдкрд░рд╡рд╛рдирд╛, рд╡рд┐рдкрд░реАрдд рдирд╛рдЯрдХ рдЕрдиреЗрдХ рдХреГрддреНрдпрд╛рдВрдордзреНрдпреЗ, рдЬреЗ ncurses рдкрд░рд╡рд╛рдирд╛ рдЖрд╣реЗ (рдирдВрддрд░рдЪреЗ "MIT-X11 рдЪреЗ рд╕реБрдзрд╛рд░рдгреЗ" рдореНрд╣рдгреВрди рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ).

рдорд╛рдЧреАрд▓ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдкреНрд░рдХрд╛рд╢рди 1.1.0 рдкрд╛рд╕реВрди, рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЬреЛрдбрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗрдд. рдореБрдЦреНрдп рдмрджрд▓:

  • рд╡рд╛рдЪрди рд╕реНрдЯреНрд░рд┐рдВрдЧрд╢реА рдЬреЛрдбрд▓реЗрд▓реНрдпрд╛ рдлреНрд░реА-рдлреЙрд░реНрдо рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдЪрди рд╡рд┐рдЬреЗрдЯ

  • рд╕рдмрдкреНрд░реЛрд╕реЗрд╕ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреНрдпрд╛рдЪреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рддреНрдпрд╛рдЪреЗ рдкрд░рд┐рдгрд╛рдо рдкрд░рдд рдкреНрд░рд╡рд╛рд╣рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдмрдкреНрд░реЛрд╕реЗрд╕ рд╡рд┐рдЬреЗрдЯ.

  • рд▓рд┐рдирдХреНрд╕ 5.3+ рд░реЗрд╕ рдЕрдЯреАрд╢рд┐рд╡рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдирд╡реАрди clone3+pidfd рдпрдВрддреНрд░рдгрд╛ рд╡рд╛рдкрд░рддреЗ.

  • рд╡рд┐рдорд╛рдирд╛рдд рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдлрд╛рдЗрд▓ рд╡рд░реНрдгрдирдХрд░реНрддрд╛ рдкреНрд░рд╡рд╛рд╣рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА Fdplane рд╡рд┐рдЬреЗрдЯ (рдЬреНрдпрд╛рд╡рд░ рд╕рдмрдкреНрд░реЛрд╕реЗрд╕ рддрдпрд╛рд░ рдХреЗрд▓реА рдЬрд╛рддреЗ). рджреЛрдиреНрд╣реА рдХреЙрд▓рдмреЕрдХрд▓рд╛ рд╕реНрдЯрд╛рдИрд▓ рдХрд┐рдВрд╡рд╛ рдЕрдиреНрдпрдерд╛ рдордЬрдХреВрд░ рд╣рд╛рддрд╛рд│рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддрд╛рдд.

  • рд╡рд┐рдорд╛рдиреЗ рдЖрдгрд┐ рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рдЗрдлреЗрдХреНрдЯреНрд╕рдЪреЗ рд░реЛрдЯреЗрд╢рди. рдореЗрдорд░реАрдордзреВрди рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓рд╛рдпрдЭреЗрд╢рди рд▓реЛрдб рдХрд░рдд рдЖрд╣реЗ. рдпрд╛рджреГрдЪреНрдЫрд┐рдХ RGBA/BGRx рдмреНрд▓рд┐рдЯрд┐рдВрдЧ.

  • рдореЗрдиреВ рд╡рд░рдЪреНрдпрд╛ рдЖрдгрд┐ рдЦрд╛рд▓рдЪреНрдпрд╛ рд╡рд┐рдорд╛рдирд╛рдВрдкреИрдХреА рдПрдХрд╛рд╡рд░ (рдХрд┐рдВрд╡рд╛ рджреЛрдиреНрд╣реА) рдареЗрд╡рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.

  • рдбрд╛рдпрд░реЗрдХреНрдЯ рдореЛрдбрдордзреНрдпреЗ рдореЛрдареНрдпрд╛ рд╕реБрдзрд╛рд░рдгрд╛.

  • рдкреЙрд▓реАрдлрд┐рд▓, рдЧреНрд░реЗрдбрд┐рдпрдВрдЯ рдЖрдгрд┐ рдЙрдЪреНрдЪ рдХреЙрдиреНрдЯреНрд░рд╛рд╕реНрдЯ рдордЬрдХреВрд░.

  • рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгреВрди рдЯреЗрдЯреНрд░рд┐рд╕ рдЬреЛрдбрд▓реЗ.

  • Marek Habersack рдордзреАрд▓ C++ рд░реЕрдкрд░реНрд╕рдордзреНрдпреЗ рдЖрддрд╛ рдЕрдкрд╡рд╛рдж рдЯрд╛рдХрдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЖрд╣реЗ (рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕).

  • Python рдЖрдгрд┐ Rust FFI рдЕрджреНрдпрддрдирд┐рдд рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдХреЗрд▓реА.

рд▓реЗрдЦрдХрд╛рдЪреНрдпрд╛ рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрд╕рд╣ рд╡реНрд╣рд┐рдбрд┐рдУ рдбреЗрдореЛ
рдкреБрд╕реНрддрдХ тАЬрд╣реЕрдХрд┐рдВрдЧ рдж рдкреНрд▓реЕрдиреЗрдЯ! рдиреЙрдЯрдХреЛрд░реНрд╕рд╕рд╣" рд▓реЗрдЦрдХрд╛рдХрдбреВрди

рд╕реНрддреНрд░реЛрдд: linux.org.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛