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

fix bypass_mouse_reporting_modifiers

refs: https://github.com/wez/wezterm/issues/2389
This commit is contained in:
Wez Furlong 2022-08-11 07:38:55 -07:00
parent 130645414d
commit 555bce3f7d
2 changed files with 5 additions and 2 deletions

View File

@ -24,6 +24,7 @@ As features stabilize some brief notes about them will accumulate here.
* macOS: crash on startup if `$SHELL` points to something that isn't executable. [#2378](https://github.com/wez/wezterm/issues/2378) * macOS: crash on startup if `$SHELL` points to something that isn't executable. [#2378](https://github.com/wez/wezterm/issues/2378)
* tab titles truncated too short [#2379](https://github.com/wez/wezterm/issues/2379) * tab titles truncated too short [#2379](https://github.com/wez/wezterm/issues/2379)
* `bypass_mouse_reporting_modifiers` stopped working (regression around new mouse binding logic) [#2389](https://github.com/wez/wezterm/issues/2389)
### 20220807-113146-c2fee766 ### 20220807-113146-c2fee766

View File

@ -780,9 +780,11 @@ impl super::TermWindow {
// Since we use shift to force assessing the mouse bindings, pretend // Since we use shift to force assessing the mouse bindings, pretend
// that shift is not one of the mods when the mouse is grabbed. // that shift is not one of the mods when the mouse is grabbed.
if pane.is_mouse_grabbed() { let mut mouse_reporting = pane.is_mouse_grabbed();
if mouse_reporting {
if modifiers.contains(self.config.bypass_mouse_reporting_modifiers) { if modifiers.contains(self.config.bypass_mouse_reporting_modifiers) {
modifiers.remove(self.config.bypass_mouse_reporting_modifiers); modifiers.remove(self.config.bypass_mouse_reporting_modifiers);
mouse_reporting = false;
} }
} }
@ -812,7 +814,7 @@ impl super::TermWindow {
let mouse_mods = config::MouseEventTriggerMods { let mouse_mods = config::MouseEventTriggerMods {
mods: modifiers, mods: modifiers,
mouse_reporting: pane.is_mouse_grabbed(), mouse_reporting,
alt_screen: if pane.is_alt_screen_active() { alt_screen: if pane.is_alt_screen_active() {
MouseEventAltScreen::True MouseEventAltScreen::True
} else { } else {