# Handle hiding cursor on keyboard input at GPUI level \(\#55664\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/a03729b6c088bc3cbc13a727546dd45687739c51)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: a03729b6c088bc3cbc13a727546dd45687739c51

Requested commit: a03729b6c088bc3cbc13a727546dd45687739c51

Commit: a03729b6c088bc3cbc13a727546dd45687739c51

Tree: af0c5041b027c06936860f7f5b4441be8ad69415

Author: Agus Zubiaga

Committer: GitHub

## Message

```
Handle hiding cursor on keyboard input at GPUI level (#55664)

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
```

## Parents

- [f6d4d34d209fe1ef1fd6e8df8f2895da3e0ea061](https://git.cafe/gitcafe/zed/commit/f6d4d34d209fe1ef1fd6e8df8f2895da3e0ea061?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/a03729b6c088bc3cbc13a727546dd45687739c51?format=markdown)
