diff options
| author | Can Celik <ogulcancelik@gmail.com> | 2026-08-09 02:04:39 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-08-09 02:04:39 +0300 |
| commit | 1777e9bba32b953ed1ad203b4a16d01105539000 (patch) | |
| tree | 22096973812c9baba822453d8470bdcfe64fc2a6 /src/app/input/mod.rs | |
| parent | 36a8d36a7258e08b40c01bf521b1f4006525f143 (diff) | |
feat(graphics): add direct pane frame streaming (#2523)
* feat(graphics): add direct pane frame streaming
* feat(graphics): expose pane visibility
* test(graphics): preserve legacy terminal image output
* fix(graphics): harden streaming lifecycle
* fix(input): preserve mouse releases outside panes
Diffstat (limited to 'src/app/input/mod.rs')
| -rw-r--r-- | src/app/input/mod.rs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/app/input/mod.rs b/src/app/input/mod.rs index f77821c9..3202ae26 100644 --- a/src/app/input/mod.rs +++ b/src/app/input/mod.rs @@ -493,15 +493,17 @@ impl App { self.close_popup_pane(); return; }; - let column = mouse.column.saturating_sub(inner.x); - let row = mouse.row.saturating_sub(inner.y); + let position = crate::input::mouse::Position::Cell { + column: mouse.column.saturating_sub(inner.x), + row: mouse.row.saturating_sub(inner.y), + }; let bytes = match mouse.kind { MouseEventKind::ScrollUp | MouseEventKind::ScrollDown | MouseEventKind::ScrollLeft | MouseEventKind::ScrollRight => match rt.wheel_routing() { Some(crate::pane::WheelRouting::MouseReport) => { - rt.encode_mouse_wheel(mouse.kind, column, row, mouse.modifiers) + rt.encode_mouse_wheel(mouse.kind, position, mouse.modifiers) } Some(crate::pane::WheelRouting::AlternateScroll) => { rt.encode_alternate_scroll(mouse.kind) @@ -517,11 +519,9 @@ impl App { } }, MouseEventKind::Down(_) | MouseEventKind::Up(_) | MouseEventKind::Drag(_) => { - rt.encode_mouse_button(mouse.kind, column, row, mouse.modifiers) - } - MouseEventKind::Moved => { - rt.encode_mouse_motion(mouse.kind, column, row, mouse.modifiers) + rt.encode_mouse_button(mouse.kind, position, mouse.modifiers) } + MouseEventKind::Moved => rt.encode_mouse_motion(mouse.kind, position, mouse.modifiers), }; let Some(bytes) = bytes else { return; |
