1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-23 05:12:40 +03:00

Secondary DA response -> vt220, version 277

This persuades vim to set ttymouse=sgr by default.
We're carefully sitting below 279 which triggers
some queries for things that we don't respond to yet.

refs: https://github.com/wez/wezterm/issues/1825
This commit is contained in:
Wez Furlong 2022-04-06 20:44:53 -07:00
parent 81a6089289
commit ad91e37768
2 changed files with 13 additions and 1 deletions

View File

@ -25,6 +25,7 @@ As features stabilize some brief notes about them will accumulate here.
* Color schemes: [Retro](colorschemes/r/index.md#retro), [GitHub Dark](colorschemes/g/index.md#github-dark), [Blazer](colorschemes/b/index.md#blazer) * Color schemes: [Retro](colorschemes/r/index.md#retro), [GitHub Dark](colorschemes/g/index.md#github-dark), [Blazer](colorschemes/b/index.md#blazer)
* Wayland: touchpad scroll is now more responsive/precise. Thanks to [@davidrios](https://github.com/davidrios)! [#1800](https://github.com/wez/wezterm/pull/1800) * Wayland: touchpad scroll is now more responsive/precise. Thanks to [@davidrios](https://github.com/davidrios)! [#1800](https://github.com/wez/wezterm/pull/1800)
* Kitty image protocol: now also supports shared memory data transmission. Thanks to [@tantei3](https://github.com/tantei3)! [#1810](https://github.com/wez/wezterm/pull/1810) * Kitty image protocol: now also supports shared memory data transmission. Thanks to [@tantei3](https://github.com/tantei3)! [#1810](https://github.com/wez/wezterm/pull/1810)
* Secondary DA response bumped up to persuade vim to set `ttymouse=sgr` by default. [#1825](https://github.com/wez/wezterm/issues/1825)
#### Fixed #### Fixed
* Incorrect csi-u encoding with non-ascii characters. [#1746](https://github.com/wez/wezterm/issues/1746) * Incorrect csi-u encoding with non-ascii characters. [#1746](https://github.com/wez/wezterm/issues/1746)

View File

@ -1204,7 +1204,18 @@ impl TerminalState {
self.writer.flush().ok(); self.writer.flush().ok();
} }
Device::RequestSecondaryDeviceAttributes => { Device::RequestSecondaryDeviceAttributes => {
self.writer.write(b"\x1b[>0;0;0c").ok(); // Response is: Pp ; Pv ; Pc
// Where Pp=1 means vt220
// and Pv is the firmware version.
// Pc is always 0.
// Because our default TERM is xterm, the firmware
// version will be considered to be equialent to xterm's
// patch levels, with the following effects:
// pv < 95 -> ttymouse=xterm
// pv >= 95 < 277 -> ttymouse=xterm2
// pv >= 277 -> ttymouse=sgr
// pv >= 279 - xterm will probe for additional device settings.
self.writer.write(b"\x1b[>1;277;0c").ok();
self.writer.flush().ok(); self.writer.flush().ok();
} }
Device::RequestTertiaryDeviceAttributes => { Device::RequestTertiaryDeviceAttributes => {