Соглашаясь с @hildred, что это поведение специфично для терминала, есть некоторые моменты, с которыми можно не согласиться:
Конвенция - сильный аргумент; программы полагаются на то, что эти варианты дизайна не изменятся. Рассмотрим несколько примеров, когда это приводит к проблемам:
Недавнее сообщение об ошибке VTE, #754596, представляет собой занимательное чтение. Похоже, что разработчики VTE предложили просто изменить поведение и посмотреть, что произойдет:
Для начала, мы могли бы просто "исправить" наш код (убрать "Match xterm and fill the new row when scrolling" 6 строк из _vte_terminal_cursor_down()) на следующий цикл разработки и посмотреть, не пожалуется ли кто-нибудь, что что-то сломалось. Тогда у нас будет лучшее понимание ситуации.