не удалось подменить

Соглашаясь с @hildred, что это поведение специфично для терминала, есть некоторые моменты, с которыми можно не согласиться:

  • если приложение случайно переключается на альтернативный экран (как в полноэкранной программе, запущенной в xterm, с подходящим описанием терминала), текст не сдвигается в буфер прокрутки.
  • не существует "правильного" или "неправильного" поведения, а только условности.
  • в дизайне терминала есть несколько связанных особенностей, которые (могли бы быть) независимыми.
  • из-за условностей (и нескольких примеров, таких как консоль Linux, xterm и - немного иначе - rxvt), многие цветные терминалы ведут себя одинаково.
  • В FAQ по ncurses Мой терминал показывает некоторые нецветные пробелы рассказывается более подробно.

Конвенция - сильный аргумент; программы полагаются на то, что эти варианты дизайна не изменятся. Рассмотрим несколько примеров, когда это приводит к проблемам:

  • linux 2.6.26 vt back_color_erase: Изменения в драйвере консоли Linux нарушили модель bce, о чем сообщалось в Novell #418613.
  • Некоторые обновления xterm привели к тому, что цвет курсора проливался на вновь прокручиваемые строки (упомянуто в патче xterm #242 относительно Debian #252873, а также Debian #522141)

Недавнее сообщение об ошибке VTE, #754596, представляет собой занимательное чтение. Похоже, что разработчики VTE предложили просто изменить поведение и посмотреть, что произойдет:

Для начала, мы могли бы просто "исправить" наш код (убрать "Match xterm and fill the new row when scrolling" 6 строк из _vte_terminal_cursor_down()) на следующий цикл разработки и посмотреть, не пожалуется ли кто-нибудь, что что-то сломалось. Тогда у нас будет лучшее понимание ситуации.

2
31.12.2017, 17:31
0 ответов

Теги

Похожие вопросы