У нас уже было несколько запросов относительно бесконечной прокрутки, vte также поддерживает это в новых версиях, поэтому я хотел бы обсудить, должно ли это быть целью вообще.
Технически этого можно достичь, используя localStorage
браузера, который заботится о потреблении памяти и подкачке данных в файловую систему. Нам все равно придется реализовать наш собственный облегченный шлюз подкачки, который может буферизовать содержимое CRUD в этом внутреннем хранилище и соответственно извлекать / обновлять данные рендеринга.
Я сам думаю, что нам это не нужно, это также вызывает некоторые вопросы, такие как высокая нагрузка на файловую систему и проблемы с удобством использования полосы прокрутки (она будет прыгать как сумасшедшая при небольших перемещениях для очень-очень длинных сеансов терминала).
Тем не менее, я хотел бы услышать ваши мысли, возможно, @egmontkob также может дать дополнительную информацию о других проблемах / решениях.
@Tyriar , @mofux
Локальное хранилище также ограничено 5 МБ и начнет удалять данные, как только это ограничение будет достигнуто, поэтому оно может удалять действительно важные вещи 😛. Я не думаю, что это особенно важно, особенно с учетом того, что это немного усложнит реализацию для поддержки такого разбиения по страницам, плюс вы можете существенно обойти это, увеличив прокрутку. Есть гораздо более серьезные проблемы, которые нужно решить, прежде чем мы даже подумаем об этом imo.
Давайте назовем это пока за рамками рассмотрения по причинам, указанным выше. Также у нас была проблема с этим в прошлом, и мы разрешили использовать гораздо большую сторону обратной прокрутки в качестве обходного пути https://github.com/xtermjs/xterm.js/issues/948
Наш (VTE) формат обратной прокрутки чрезвычайно сложен - на самом деле, поддержка _finite_ scrollback делает его еще более сложным, поддержка только бесконечности была бы проще. Напишите мне, если вы еще раз рассмотрите эту функцию, я буду счастлив объяснить детали, хотя вы, вероятно, не воспользуетесь ею в качестве справочного материала для своей реализации.
Предположительно, эта функция часто запрашивалась и для нас, но у меня нет личного опыта по этому поводу. Это было реализовано до того, как я присоединился к проекту. Я сам использую 50 000 строк и считаю это излишним.
Я не думаю, что удобство использования полосы прокрутки является проблемой; а если и есть, то уже на нескольких тысячах строк. Перетаскивание полосы прокрутки позволяет выполнить только грубое позиционирование, которое я лично использую редко, для более детального я предпочитаю прокрутку двумя пальцами по области терминала с помощью тачпада моего ноутбука.
Самый полезный комментарий
Наш (VTE) формат обратной прокрутки чрезвычайно сложен - на самом деле, поддержка _finite_ scrollback делает его еще более сложным, поддержка только бесконечности была бы проще. Напишите мне, если вы еще раз рассмотрите эту функцию, я буду счастлив объяснить детали, хотя вы, вероятно, не воспользуетесь ею в качестве справочного материала для своей реализации.
Предположительно, эта функция часто запрашивалась и для нас, но у меня нет личного опыта по этому поводу. Это было реализовано до того, как я присоединился к проекту. Я сам использую 50 000 строк и считаю это излишним.
Я не думаю, что удобство использования полосы прокрутки является проблемой; а если и есть, то уже на нескольких тысячах строк. Перетаскивание полосы прокрутки позволяет выполнить только грубое позиционирование, которое я лично использую редко, для более детального я предпочитаю прокрутку двумя пальцами по области терминала с помощью тачпада моего ноутбука.