Заставьте Linux 'экран' распознавать седла щелчка мышью xterm> 95

У меня есть Веб-терминал с помощью xterm.js и ssh2 от node.js. Когда я нажимаю, xterm.js отправляет провода щелчка мышью через xterm escape-последовательности. Это хорошо работает. При использовании 'экрана' cli утилита, что-либо большее, чем 95 столбцов регистрируется как 95 столбцов. Пример при использовании Полуночного Командующего по 'экрану', он только регистрирует щелчки прошлые 95 седел в 95-м столбце. Без 'экрана' это обычно работает. Существует ли легкая фиксация?

Я использую Ubuntu LTS.

0
задан 5 November 2017 в 21:40

1 ответ

Протокол мыши прежней версии использует необработанные байты для каждой координаты (координата плюс 32). По сути, это только поддерживает координаты до 223 (223 + 32 = 255, самое большое значение, которое байт может содержать).

В определенных ситуациях, например, когда преобразование набора символов происходит, или когда некоторый компонент требует, чтобы прохождение данных было допустимым UTF-8, байты в диапазоне 128-255 также становятся проблематичными. По сути, нажимает только работу надежно до столбца и строки 95.

Я не знаком с xterm.js и Вашей целой средой, чтобы сказать, можно ли настроить его для поддержки координат до 223 (например, путем изменения кодировки символов, хотя переключение далеко от UTF-8 также было бы глупым перемещением).

Надлежащее решение состояло бы в том, чтобы добавить поддержку расширения режима мыши SGR 1006 screen, см. https://savannah.gnu.org/bugs/index.php? 37206. Этот новый протокол кодирует координаты с помощью цифр ASCII, поэтому удаляет верхний предел и избавляется от проблем кодировки символов также.

Пока они не обращаются к этому, Вы могли бы рассмотреть попытку tmux. Это - более современное, более активно поддержало альтернативу screen и поддерживает упомянутое расширение.

0
ответ дан 1 November 2019 в 07:04

Другие вопросы по тегам:

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