LINUX.ORG.RU
ФорумTalks

Состоялся очередной релиз самого лучшего тулкита всех времён и народов - ncurses 6.1

 ,


1

2

Сабж. Предыдущий релиз 6.0 был в августе 2015-го года.

Из значимых изменений:

  • _nc_tracebits(), _tracedump() и _tracemouse() теперь в curses.priv.h, поскольку они не являются частью рекомендованного ABI6;
  • Новая функция unfocus_current_field();
  • Для setcchar() и getcchar() отрицательная цветовая пара теперь является ошибкой;
  • Дропнуты _nc_check_termtype и _nc_resolve_uses;
  • Новая функция reset_color_pairs();
  • Поддержка нового бинарного формата для terminfo, который поддерживает знаковые 32-х битные целые числа; 8-ми битные программы тоже могут читать этот формат, но будут ограничивать значения до 32767;

Скачать: ftp://ftp.gnu.org/gnu/ncurses/ncurses-6.1.tar.gz .

★★★★★
Ответ на: комментарий от saahriktu

Это Вы неправильно читаете.

Кто вы-то? Кто - ВЫ? К кому ты обращаешься во множественном числе?

Я говорил, что юзер сидит в tty.

Демагогия на ровном месте.

Все эмуляторы терминала, включая vt и xterm, отвечают за ввод и вывод текста.

Именно так. И именно потому, что tty кроме текста в заданной кодировке ничего не умеет и уметь не может по определению.

Что и позволяет огранизовывать CLI. А нет CLI - нет и текстовых команд от юзера. Нет текстовых команд от юзера - tty становится урезанным - остаётся только вывод текста.

То есть, модем, цепляемый по интерфейсу tty, не может принимать данные? Не, у тебя с головой всё не в порядке.

Если, конечно, перед отключением CLI в памяти не осталась ранее запущенная софтина, в которую можно вводить текст.

Нет никакой разницы, умеет софтина ввод текста, или же не умеет. Способность принимать ввод и выдавать вывод никуда не девается.

Ключевой предлог, кстати, был не «через», а «в».

Демагогия уровня «в и на».

Изначально диалог не о том, что юзер может _через tty_, а о том, что юзер может _сидя в tty_. Конкретно - в tty1, который vt.

Враньё. Изначально было от тебя:

OpenGL не нужен, DirectX не нужен, Vulkan не нужен. ANSI-последовательностей хватит всем.

Потом ты попытался оправдать свой высер тем, что вывел в терминале картинку без участия заявленных тобой последовательностей ANSI, проходящих по интерфейсу tty, и втирал, что фреймбуфер это и есть tty, проигнорировав тот факт, что когда tty возник, не только фреймбуфера, но и компьютеров известной ныне архитектуры не существовало.

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

Я отвечал разным людям. Один человек пошутил про Wayland. Ему в ответ я тоже пошутил. А другой человек привёл конкретное ТЗ: он сидит в tty1, который vt, в котором запущена программа на ncurses, а в этом окошке картинка. Вот я и привёл одно из практических решений без задействования других терминалов и эмуляторов терминала: пусть эта программа вычисляет где область этого окошка и рисует непосредственно через фреймбуфер. Но, можно спаять свой аппаратный терминал, который будет обрабатывать графику в ANSI-последовательностях, или взять эмулятор терминала с таким функционалом. И тогда ANSI-последовательностей точно хватит.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от Quasar

Кто вы-то? Кто - ВЫ? К кому ты обращаешься во множественном числе?

Множественное число - это «вы» (с маленькой буквы). А «Вы» (с большой буквы) - это единственное число. Это вежливое обращение к собеседнику в интернетах, распространённое в т.ч. и потому, что есть люди, у которых начинается боль в заднице, когда к ним обращаются на «ты» - «Мы с Вами на брудершафт не пили, чтобы Вы мне здесь тыкали».

То есть, модем, цепляемый по интерфейсу tty, не может принимать данные?

Да, модем может работать (и работает) по терминальному интерфейсу, но он является терминалом лишь по принципу «что находится на конце кабеля - то и терминал».

«tty» - это сокращение от «teletype». А телетайп - это одно из 2-х: 1) устройство, которое объединяет в себе клавиатуру и рулон бумаги с печатающим устройством; 2) устройство, которое объединяет в себе клавиатуру и дисплей.

Модем не является ни тем ни другим, и лишь эмулирует терминал, который работает через интерфейс tty.

А человек работает с машиной через конкретный терминал с клавиатурой и устройством вывода.

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

Один человек пошутил про Wayland. Ему в ответ я тоже пошутил.

Ага. И про OpenGL, и про Vulkan пошутил, когда их никто не упоминал.

tty1, который vt

Нет.

А другой человек привёл конкретное ТЗ: он сидит в tty1, который vt, в котором запущена программа на ncurses, а в этом окошке картинка. Вот я и привёл одно из практических решений без задействования других терминалов и эмуляторов терминала: пусть эта программа вычисляет где область этого окошка и рисует непосредственно через фреймбуфер.

И внезапно оказалось, что терминал это терминал, а интерфейс передачи данных это интерфейс передачи данных. То есть, ты опять облажался. Потому, что VT это не tty, и картинка выводится не по tty.

Но, можно спаять свой аппаратный терминал, который будет обрабатывать графику в ANSI-последовательностях, или взять эмулятор терминала с таким функционалом.

Только это будет уже не tty, а костыльный терминал.

И тогда ANSI-последовательностей точно хватит.

Нет, не хватит. Потому, что тормоза графики будут (как и во всех случаях, когда гоняешь растр по интерфейсу для этого не предназначенному). X11 не просто так придумали.

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

Множественное число - это «вы» (с маленькой буквы). А «Вы» (с большой буквы) - это единственное число. Это вежливое обращение к собеседнику в интернетах, распространённое в т.ч. и потому, что есть люди, у которых начинается боль в заднице, когда к ним обращаются на «ты» - «Мы с Вами на брудершафт не пили, чтобы Вы мне здесь тыкали».

Ты кто по табелю о рагнах?

Да, модем может работать (и работает) по терминальному интерфейсу, но он является терминалом лишь по принципу «что находится на конце кабеля - то и терминал».

Это единственный принцип, если что.

«tty» - это сокращение от «teletype». А телетайп - это одно из 2-х: 1) устройство, которое объединяет в себе клавиатуру и рулон бумаги с печатающим устройством; 2) устройство, которое объединяет в себе клавиатуру и дисплей.

«Я познаю мир». Наконец-то начал читать, да? И даже после этого ты несёшь дичь потому, что нет никакой разницы, рулон бумаги там или дисплей - не имеет никакого значения, как физически реализована работа с этим интерфейсом.

Модем не является ни тем ни другим, и лишь эмулирует терминал, который работает через интерфейс tty.

И где я утверждал, что модем это телетайп? Да нигде. Ты опять хренью маешься и в очередной раз позоришься на весь ЛОР.

А человек работает с машиной через конкретный терминал с клавиатурой и устройством вывода.

Внезапно да. Только это никак тебе не поможет.

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

Ага. И про OpenGL, и про Vulkan пошутил, когда их никто не упоминал.

Потому, что я противопоставил Wayland'у возможности юзера, когда он сидит в vt без иксов и Wayland'а. А тогда нет ни OpenGL, ни Vulkan'а.

VT это не tty

Если говорить максимально точно, то, конечно, vt - это эмулятор терминала, который обрабатывает ввод-вывод через /dev/ttyN. Но, суть в том, что если юзер запустит не vt, а другой эмулятор терминала (или даже терминальный мультиплексор screen), то команда «tty» напечатает ему уже нечто наподобие «/dev/pts/N». А в виртуальном терминале /dev/tty1 сидят через vt. И я уже много-много раз подчёркивал и соглашался с тем, что при этом юзеру доступен не только интерфейс tty, но и все другие подсистемы ядра, возможности имеющихся у него библиотек,... и т.д. Никто этого не отрицал и изначально, и, более того, именно об этом и была речь. Но, Вы почему-то продолжаете приписывать мне именно своё прочтение.

картинка выводится не по tty

Никто и не утверждал, что _картинка, которая выводится непосредственно через фреймбуфер_ _выводится по tty_. А вот в случае графических терминалов, как уже замечали выше, картинки могут выводиться по tty. И это был второй предложенный мной вариант.

Только это будет уже не tty, а костыльный терминал.

Нет, это будет полноценный аппаратный терминал, как, например, DEC VT240/VT241/VT330/VT340/VT282/VT284/VT286/VT382, которые прекрасно знали и понимали упоминаемый выше формат растровой графики в ASCII с escape-последовательностями sixel. Именно из них этот формат и перекочевал в современные эмуляторы терминалов, такие как, например, XTerm, mlterm, yaft/yaftx и виндовый RLogin. Но, они не работают с /dev/tty1. И если задача стоит работать именно с /dev/tty1 без иксов и вейланда и других эмуляторов терминала помимо vt, но выводить графику через tty, то придётся паять свою плату терминала. Именно поэтому я и предлагал изначально второй вариант. Если графика и так выводится через tty, то зачем ещё что-то нужно? Но, при текущей реализации, когда юзер сидит в терминале /dev/tty1 она выводится через драйвер фреймбуфера в ядре.

тормоза графики будут

Вообще-то и при текущих программных реализациях можно совершенно спокойно смотреть те же гифки именно через tty. А уж если делать свой аппаратный терминал, то там можно предусмотреть и аппаратное ускорение вывода графики.

X11 не просто так придумали.

Его придумали для оконных GUI интерфейсов.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от Quasar

Нет, это Вы в рамках решения конкретной задачи про вывод графики в /dev/tty1 начинаете метаться из стороны в сторону и приплетать всё подряд, при этом приписывая другим своё прочтение, в то время как писалось про другое.

Понятное дело, что если вспоминать про всё-всё-всё, то максимально корректные формулировки будут несколько другими. Но, тут конкретная задача: один юзер, один эмулятор терминала, одна программа на ncurses с окошком, куда надо выводить графику. Какие ещё модемы и прочее?

Когда я говорил про то же урезание возможностей tty без CLI выше я говорил конкретно про возможности юзера в терминале или эмуляторе терминала. Потому, что тут конкретная задача. Но, нет, надо приплести модем, а потом разбираться кто что говорил...

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

Потому, что я противопоставил Wayland'у возможности юзера, когда он сидит в vt без иксов и Wayland'а. А тогда нет ни OpenGL, ни Vulkan'а.

При этом я подразумевал, что во время работы с ncurses юзеру графика не нужна. Совсем.

saahriktu ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.