diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-03 02:03:14 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-03 02:03:44 +0300 |
| commit | b695d7cbc0d29540993642c23b3d5798cbf9f7dc (patch) | |
| tree | d7243c891dca6c8991583edd7666ec9fe8cc6f94 /src/ghostty | |
| parent | daf636fef7fd68bcb1e30cfb155883c3b831513c (diff) | |
fix: forward any-motion pane mouse events
refs #419
Diffstat (limited to 'src/ghostty')
| -rw-r--r-- | src/ghostty/mod.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/ghostty/mod.rs b/src/ghostty/mod.rs index 0576f340..20161d80 100644 --- a/src/ghostty/mod.rs +++ b/src/ghostty/mod.rs @@ -150,12 +150,15 @@ pub const MOUSE_BUTTON_WHEEL_LEFT: ffi::GhosttyMouseButton = ffi::GhosttyMouseButton_GHOSTTY_MOUSE_BUTTON_SIX; pub const MOUSE_BUTTON_WHEEL_RIGHT: ffi::GhosttyMouseButton = ffi::GhosttyMouseButton_GHOSTTY_MOUSE_BUTTON_SEVEN; +pub const MOUSE_FORMAT_SGR: ffi::GhosttyMouseFormat = + ffi::GhosttyMouseFormat_GHOSTTY_MOUSE_FORMAT_SGR; pub const MODE_APPLICATION_CURSOR_KEYS: u16 = 1; pub const MODE_FOCUS_EVENT: u16 = 1004; pub const MODE_MOUSE_UTF8: u16 = 1005; pub const MODE_MOUSE_SGR: u16 = 1006; pub const MODE_MOUSE_ALTERNATE_SCROLL: u16 = 1007; +pub const MODE_MOUSE_SGR_PIXELS: u16 = 1016; pub const MODE_BRACKETED_PASTE: u16 = 2004; pub const MODE_SYNCHRONIZED_OUTPUT: u16 = 2026; @@ -2114,6 +2117,16 @@ impl MouseEncoder { } } + pub fn set_format(&mut self, format: ffi::GhosttyMouseFormat) { + unsafe { + ffi::ghostty_mouse_encoder_setopt( + self.raw, + ffi::GhosttyMouseEncoderOption_GHOSTTY_MOUSE_ENCODER_OPT_FORMAT, + (&format as *const ffi::GhosttyMouseFormat).cast(), + ) + } + } + pub fn encode(&mut self, event: &MouseEvent) -> Result<Vec<u8>, Error> { encode_with_retry(|buf, len, out_len| unsafe { ffi::ghostty_mouse_encoder_encode(self.raw, event.raw, buf, len, out_len) |
