LINUX.ORG.RU

Вышла новая версия библиотеки notcurses 2.0

 , , ,


3

2

Автор библиотеки notcurses выпустил новую версию 2.0 «stankonia». В этом релизе зафиксирован стабильный API библиотеки.

Notcurses это библиотека TUI для современных терминальных эмуляторов. Буквально переводя – не проклятия (not curses). Она написана на С, с использованием C++-safe headers. Доступны обёртки для Rust, C++ и Python.

Что это такое: библиотека, упрощающая сложные TUI на современных терминальных эмуляторах, максимально поддерживающая яркие цвета и Unicode. Многие задачи, делегированные curses, могут быть выполнены с помощью notcurses (и наоборот).

Чем это не является: совместимой реализацией X/Open curses или заменой ncurses на существующих системах.

К выходу этой версии, на библиотеку были портированы два приложения, ранее использовавшие ncurses: менеджер блочных устройств Growlight и утилита для сетевых атак Omphalos.

Основной целью данного релиза была стабилизация API, также было исправлено более 60 ошибок.

Демо видео к релизу

>>> Подробности

★★

Проверено: Shaman007 ()

Экспортируемые идентификаторы имеют префикс, чтобы избежать коллизий в пространствах имен.

Откройте для себя symbol versioning. Помимо версий, он переключает поиск символов с глобального на локальный для конкретной динамической библиотеки (как PE DLL в Windows).

X512 ()
Ответ на: комментарий от X512

Отлично, скриншот из офтопика. Я думал ты там графану хочешь показать или аналогичное, а ты скрин виндовой утилиты, аналог которой (Procmon 1.0 Preview) в линукс портировали с TUI интерфейсом. Хотя, на твоем скрине не procmon от sysinternals, но похер.

cocucka ★★ ()
Последнее исправление: cocucka (всего исправлений: 1)
Ответ на: комментарий от SZT

На винду иксы вполне можно поставить

для каждого нужного приложения делать полностью отцепляемый GUI и некий стандартный протокол общения между самим приложением и его интерфейсом через какие-нибудь сокеты

через какие-то пайпы пробрасывают возможность говорить с приложением

Зачем натягивать сову на глобус?

Действительно.

pinus_nigra ()
Ответ на: комментарий от korvin_

https://en.wikipedia.org/wiki/Rio_(windowing_system)

Спасибо.
Возможно, в плане концептуальной целостности в рамках P9, это зачетная штуковина, но мы живем в реальном мире, Корвин. А не в этих ваших сраных отражениях, где возможна любая блажь.
У нас тут даже Wayland никак не может победить Xorg и стать новым драконом. Даже несмотря на то что является, можно сказать, официальным приемником старого дракона.

Короче, мне интересно найти либу, умеющую хороший TUI малой кровью. Может даже эта сгодится ;)

BydymTydym ()
Ответ на: комментарий от lizard

+1

Я даже некие порты видел в давние времена. Но всё это или в статусе вечной альфы было или вообще брошенным выглядело.

Плюс ко всему, не всем нужем богомерзкий С/С++. Кому-то достаточно Python юзать время от времени, поэтому те брошенные проекты для таких умников не годятся от слова совсем. Но хочется вот этой вот легкости и простоты…

BydymTydym ()

Сколько тут поклонников ncurses.
Но ведь ncurses — устаревшая неудобная параша.

Почему-то ещё никто не написал нормальной библиотеки для текстовых интерфейсов, в которой было бы всё легко и приятно. А интерфейс можно было бы описать на html/xml, а не изворачиваться всякими хаками, чтобы добиться адекватного поведения от инопланетной логики заложенной в виджеты/контролы ncurses.

Bad_ptr ★★★★ ()
Ответ на: комментарий от BydymTydym

Я с домашней машины захожу по ssh на рабочую, оттуда по ssh на джамп-хост, оттуда по ssh на прод.

Ну это всё решаемо, я протаскивание нужных портов через 3-4 хоста спокойно делаю, путем ведения на домашнем ноуте соответствующего конфига .ssh/config – в нём отлично цепочки пробросов делаются, сразу на конечные хосты

Я не говорю что это не решаемо. Я тоже такое делал, когда мне нужно было добраться до REST endpoint'а за такой вот стеной. Но насколько же проще просто логиниься по ssh, и затем оттуда логиниться дальше.

Kroz ★★★★★ ()
Ответ на: комментарий от SZT

В теории можно было б для каждого нужного приложения делать полностью отцепляемый GUI и некий стандартный протокол общения между самим приложением и его интерфейсом...

Так это уже сделано. Cтандартный протокол общения: text. Отцепляемый UI - терминал.

Kroz ★★★★★ ()
Последнее исправление: Kroz (всего исправлений: 1)
Ответ на: комментарий от X512

SFTP protocol version 6 lets one check available space (SSH_FXP_EXTENDED request name space-available).

https://stackoverflow.com/questions/19769776/sftp-check-free-space-available

Also worth noting that most SSH/SFTP servers (notably OpenSSH, as the one the most widespread) do not support this extension either.

То есть это что-то относительно новое и далеко не всеми поддерживается.

Есть df -k в которой нет никакой псевдографики и ncurses.

При чем здесь псевдографика? Мой намёк был о том, что sftp ни разу не замена ssh доступу.

Kroz ★★★★★ ()

Правильно я понимаю, что этой библиотеке можно описать виджеты, как кому-нибудь условному GTK - Менюбар как в mc, селекторы, виджеты там. А она уже займётся «отрисовкой» этого в VTE терминале?

Класс, нужно.

FixingGunsInAir ()