notcurses v1.4.1 шығарылды - заманауи мәтіндік интерфейстерге арналған кітапхана


notcurses v1.4.1 шығарылды - заманауи мәтіндік интерфейстерге арналған кітапхана

notcurses v1.4.x кітапханасының жаңа нұсқасы шықты «Дастан жалғасуда! ву-танг! Ву-тан!»

Notcurses - заманауи терминал эмуляторларына арналған TUI кітапханасы. Сөзбе-сөз аударылған – қарғыс емес. Ол C++-қауіпсіз тақырыптарды пайдаланып, C тілінде жазылған. Қаптамалар үшін қолжетімді тот, C ++ и Python.

Бұл не: заманауи терминал эмуляторларындағы күрделі TUI интерфейстерін жеңілдететін, ашық түстер мен Юникодты барынша қолдайтын кітапхана. Қарғыстарға берілген көптеген тапсырмаларды қарғыс емес (және керісінше) пайдалану арқылы орындауға болады.

Бұл не емес: X/Open қарғыстарының үйлесімді орындалуы немесе бар жүйелердегі ncurses ауыстыруы.

Notcurses Бірыңғай UNIX спецификациясының бөлігі ретінде берілген X/Open Curses API нұсқасын ескіреді. Бұл спецификация бұрыннан ескірген және, мысалы, индекстелмеген 24 биттік түс сияқты терминалдық функцияларды қолдамайды. Осылайша, notcurses қарғыстарды алмастырмайды. Бұл аз портативті және азырақ жабдықта сыналған.
Мүмкіндігінше, notcurses ncurses-пен бірге жеткізілетін терминфо кітапханасын пайдаланады және оның тасымалдану мүмкіндігінен үлкен пайда көреді.
Notcurses жұмыс станцияларында, телефондарда, ноутбуктерде және планшеттерде пайдаланушылармен өзара әрекеттесу үшін кеңейтілген функцияларды ашады.

Неліктен бұл стандартты емес кітапхананы пайдалану керек?

  • Жіп қауіпсіздігі және көп ағынды бағдарламаларда тиімді пайдалану ең басынан бастап дизайнды қарастырды.

  • X/Open салыстырғанда жақсы пішімделген API:

    • Экспортталған идентификаторларға аттар кеңістігінің соқтығысуын болдырмау үшін префикс қойылады.

    • Кітапхана нысанының файлы таңбалардың ең аз жинағын экспорттайды. Іс жүзінде, статикалық код тек жол тақырыптары үшін пайдаланылады. Бұл компиляторды оңтайландыруды жеңілдетеді және жүктеу уақытын азайтады.

  • Барлық API интерфейстері әмбебап таңбалар жиынын (Юникод) қолдайды. Ұяшық API тұжырымдамаға негізделген Юникодтың кеңейтілген графемалық кластері.

  • Кескіндерді, қаріптерді, бейнелерді, жоғары контрастты мәтінді, спрайттарды және мөлдір аумақтарды қамтитын визуалды мүмкіндіктер. Барлық API интерфейстері терминал қажетінше квантталған 24 биттік түстерді қолдайды.

  • Apache2 лицензиясы, айырмашылығы драмалар ncurses лицензиясы болып табылатын бірнеше актілерде (соңғысы «MIT-X11 реформуляциясы» ретінде жинақталған).

Алдыңғы маңызды 1.1.0 шығарылымынан бері көптеген мүмкіндіктер қосылды. Негізгі өзгерістер:

  • Оқу жолдарымен байланыстырылған еркін пішінді жолдарды енгізуге арналған оқу виджеті

  • Ішкі процесті шығаруға, оны басқаруға және оның нәтижелерін кері ағынға жіберуге арналған ішкі процесс виджеті.

  • Linux 5.3+ жаңа clone3+pidfd механизмін жарыс шартынсыз процестерді басқару үшін пайдаланады.

  • Fdplane виджеті еркін файл дескрипторын жазықтыққа (ішкі процесс салынған) ағынмен жіберуге арналған. Екеуі де кері қоңырауларға мәтінді стильдеуге немесе басқа жолмен өңдеуге мүмкіндік береді.

  • Ұшақтардың айналуы және көрнекі әсерлер. Жадтан визуализациялар жүктелуде. Кездейсоқ RGBA/BGRx жылтырату.

  • Мәзірді жоғарғы және төменгі жазықтықтардың кез келгеніне (немесе екеуіне де) орналастыруға болады.

  • Тікелей режимдегі үлкен жақсартулар.

  • Көп толтырулар, градиенттер және жоғары контрастты мәтін.

  • Мысал ретінде Tetris қосылды.

  • Марек Хаберсактың C++ орауыштарында енді ерекше жағдайларды шығару мүмкіндігі бар (қажет болса).

  • Python және Rust FFI жаңартылды және тексерілді.

Автордың түсініктемелері бар бейне демо
Кітап «Планетаны бұзу! with Notcourses» авторынан

Ақпарат көзі: linux.org.ru

пікір қалдыру