From 3a766ccf501c669298e5b648a47d217e99bff618 Mon Sep 17 00:00:00 2001 From: Jesse Miller Date: Wed, 2 Sep 2026 14:32:04 -0600 Subject: [PATCH] surface: show .text (i-beam) while shift is held without mouse tracking I think this is the expected behavoir when a custom OSC22 pointer is set. Once shift is released it will return to mouse_shape (whatever the pointer was before shit held). --- src/surface_mouse.zig | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/surface_mouse.zig b/src/surface_mouse.zig index f506967ff..24bf3c575 100644 --- a/src/surface_mouse.zig +++ b/src/surface_mouse.zig @@ -96,6 +96,11 @@ pub fn keyToMouseShape(self: SurfaceMouse) ?MouseShape { if (isRectangleSelectState(self.mods)) { // Crosshair (rectangle select) return .crosshair; + } else if (isMouseModeOverrideState(self.mods)) { + // Shift shows an I-beam so selection is obvious even when + // the application cursor is not text (OSC 22). Release + // restores mouse_shape below. + return .text; } else { return self.mouse_shape; }