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).
This commit is contained in:
Jesse Miller
2026-09-02 14:32:04 -06:00
parent 6674aa3ba8
commit 3a766ccf50

View File

@@ -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;
}