aboutsummaryrefslogtreecommitdiff
path: root/src/ghostty
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-06-03 02:03:14 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-06-03 02:03:44 +0300
commitb695d7cbc0d29540993642c23b3d5798cbf9f7dc (patch)
treed7243c891dca6c8991583edd7666ec9fe8cc6f94 /src/ghostty
parentdaf636fef7fd68bcb1e30cfb155883c3b831513c (diff)
fix: forward any-motion pane mouse events
refs #419
Diffstat (limited to 'src/ghostty')
-rw-r--r--src/ghostty/mod.rs13
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)