Skip to content

Handle hiding cursor on keyboard input at GPUI level (#55664) (cherry-pick to preview)#55718

Merged
zed-zippy[bot] merged 1 commit intov1.1.xfrom
cherry-pick-v1.1.x-a03729b6
May 5, 2026
Merged

Handle hiding cursor on keyboard input at GPUI level (#55664) (cherry-pick to preview)#55718
zed-zippy[bot] merged 1 commit intov1.1.xfrom
cherry-pick-v1.1.x-a03729b6

Conversation

@zed-zippy
Copy link
Copy Markdown
Contributor

@zed-zippy zed-zippy Bot commented May 5, 2026

Cherry-pick of #55664 to preview


Instead of manually handing hiding the cursor on keyboard input at the
editor level, GPUI will now take care of it.

This makes it significantly easier to handle the edge cases, and allows
delegating the cursor restoration to the platform itself in the macOS
case. On Linux and Windows, we still have to restore the cursor on
movement ourselves, but this now happens at the platform-specific level.

Bugs fixed by this change:

  • No cursor when "Unsaved edits" prompt appears
  • Cursor disappears when clicking a panel button if it contains a search
    bar (e.g. collab panel)

Setting rename

The hide_mouse setting value "on_typing_and_movement" has been
renamed to "on_typing_and_action" to better reflect what it actually
does — it hides the cursor when a keystroke resolves to an action (e.g.
cursor movement, deletion). Existing settings are migrated
automatically.

Tested platforms

  • macOS
  • Wayland
  • X11
  • Windows
  • Web

Self-Review Checklist:

  • I've reviewed my own diff for quality, security, and reliability
  • Unsafe blocks (if any) have justifying comments
  • The content is consistent with the UI/UX
    checklist
  • Tests cover the new/changed behavior
  • Performance impact has been considered and is acceptable

Release Notes:

  • Renamed the hide_mouse setting value on_typing_and_movement to
    on_typing_and_action to better describe its behavior (existing
    settings are auto-migrated)
  • Fixed a few situations where the mouse cursor would be incorrectly
    hidden

Instead of manually handing hiding the cursor on keyboard input at the
editor level, GPUI will now take care of it.

This makes it significantly easier to handle the edge cases, and allows
delegating the cursor restoration to the platform itself in the macOS
case. On Linux and Windows, we still have to restore the cursor on
movement ourselves, but this now happens at the platform-specific level.

Bugs fixed by this change:
- No cursor when "Unsaved edits" prompt appears
- Cursor disappears when clicking a panel button if it contains a search
bar (e.g. collab panel)

### Setting rename

The `hide_mouse` setting value `"on_typing_and_movement"` has been
renamed to `"on_typing_and_action"` to better reflect what it actually
does — it hides the cursor when a keystroke resolves to an action (e.g.
cursor movement, deletion). Existing settings are migrated
automatically.

### Tested platforms
- [x] macOS
- [x] Wayland
- [x] X11
- [x] Windows
- [x] Web

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- Renamed the `hide_mouse` setting value `on_typing_and_movement` to
`on_typing_and_action` to better describe its behavior (existing
settings are auto-migrated)
- Fixed a few situations where the mouse cursor would be incorrectly
hidden
@cla-bot cla-bot Bot added the cla-signed The user has signed the Contributor License Agreement label May 5, 2026
@zed-community-bot zed-community-bot Bot added the bot Pull requests authored by a bot label May 5, 2026
@zed-zippy zed-zippy Bot merged commit 908c0e2 into v1.1.x May 5, 2026
39 checks passed
@zed-zippy zed-zippy Bot deleted the cherry-pick-v1.1.x-a03729b6 branch May 5, 2026 01:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bot Pull requests authored by a bot cla-signed The user has signed the Contributor License Agreement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant