ZIm/crates
Finn Evers b749d9302f
editor: Ensure mouse cursor is shown again on mouse move (#32795)
Closes #32787
Follow-up to #27519 and #32408 

This PR fixes an issue where the mouse cursor would stay hidden after
typing in the editor.

Before #32408, we would rerender the editor on every mouse move. Now, we
(correctly) only do this if a rerender is actually required. This caused
a small regression for hiding the mouse cursor though: Due to the view
now being cached, we do not neccessarily update the mouse cursor style
so it is shown again. The boolean is updated but the view is not,
resulting in the cursor style being kept until another action is
performed. This is an issue with both Stable and Preview (due to some
other changes, the issue is slightly worse on Preview though, see
https://github.com/zed-industries/zed/pull/32596#issuecomment-2969258800
and
https://github.com/zed-industries/zed/pull/32596#issuecomment-2969357248
for some more context).

This PR ensures that the cursor is shown again by scheduling a redraw of
the editor whenever the boolean is updated.

The change should not cause any performance regressions: In most cases
where we want to hide the mouse, the editor is about to be rerendered
anyway, hence this would not change anything. For cases where we want to
show the cursor again, this ensures that we actually end up doing so by
rerendering the editor once.

Release Notes:

- Fixed an issue where the mouse cursor would sometimes stay hidden
after typing in editors with the `hide_mouse` setting enabled.
2025-06-16 19:49:08 +05:30
..
activity_indicator Move r-a status into the activity indicator (#32726) 2025-06-13 22:33:02 +00:00
agent Fix clicking in to agent message editor and tighten up vertical spacing (#32765) 2025-06-15 18:45:44 +00:00
agent_settings Store profile per thread (#31907) 2025-06-06 12:05:27 +00:00
anthropic anthropic: Reorder Model variants in descending order (#32689) 2025-06-13 14:01:32 +00:00
askpass Replace environment variable parser with zed --printenv outputting JSON (#32637) 2025-06-13 11:49:15 -04:00
assets Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
assistant_context_editor Distinguish between missing models and registries in error messages (#32678) 2025-06-13 10:31:52 +00:00
assistant_slash_command chore: Make terminal_view own the TerminalSlashCommand (#31070) 2025-05-21 09:27:54 +00:00
assistant_slash_commands Remove separator! macro and make path! handle relative paths (#32527) 2025-06-13 06:32:29 +00:00
assistant_tool gemini: Fix edge case when transforming MCP tool schema (#32373) 2025-06-09 10:27:21 +00:00
assistant_tools Include full abs paths of worktrees in system prompt (#32725) 2025-06-15 15:45:26 +02:00
audio agent: Add sound notification when done generating (#31472) 2025-05-26 21:20:41 -03:00
auto_update Silence failed auto update checks (#32696) 2025-06-13 13:11:02 -04:00
auto_update_helper Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
auto_update_ui markdown_preview: Fix release notes title being overridden (#31703) 2025-05-30 08:29:52 +00:00
aws_http_client Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
bedrock Enable cross-region inference for Claude 4 family models on Amazon Bedrock provider (#32235) 2025-06-09 23:38:39 -07:00
breadcrumbs breadcrumbs: Stylize filename in breadcrumbs when tab-bar is off and file is dirty (#30507) 2025-05-30 08:32:54 -07:00
buffer_diff zlog: Replace usages of env_logger in tests with zlog (#31436) 2025-05-26 11:48:50 -04:00
call Use read-only access methods for read-only entity operations (#31479) 2025-05-26 23:04:31 -04:00
channel Use git config --global user.email for email address in automatic Co-authored-by (#32624) 2025-06-12 19:39:08 +00:00
cli Disallow running CLI with root privileges (#32583) 2025-06-13 13:09:32 -04:00
client Do not report same project type multiple times for same worktree (#32785) 2025-06-16 06:09:43 +00:00
clock Add the ability to follow the agent as it makes edits (#29839) 2025-05-04 08:28:39 +00:00
collab Remove separator! macro and make path! handle relative paths (#32527) 2025-06-13 06:32:29 +00:00
collab_ui Fix clicking in to agent message editor and tighten up vertical spacing (#32765) 2025-06-15 18:45:44 +00:00
collections Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
command_palette Validate actions in docs (#31073) 2025-06-04 19:18:12 +00:00
command_palette_hooks Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
component Fix typo (#32160) 2025-06-05 12:59:22 +00:00
context_server context_server: Make notifications type safe (#32396) 2025-06-09 15:11:01 +00:00
copilot copilot: Remove an unwrap in URI parsing code (#32698) 2025-06-13 19:17:35 +02:00
credentials_provider Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
dap debugger: Improve logging of debug sessions (#32718) 2025-06-13 20:56:23 +00:00
dap_adapters debugger: Allow use of externally-managed Delve for Go debugging (#32613) 2025-06-12 15:27:44 +00:00
db Misc nitpicks, changes too small / unrelated to be in other PRs (#32768) 2025-06-15 19:51:04 +00:00
debug_adapter_extension debugger beta: Fix dap_schema for DAP extensions (#31173) 2025-05-22 07:24:46 -04:00
debugger_tools debugger: Improve logging of debug sessions (#32718) 2025-06-13 20:56:23 +00:00
debugger_ui debugger: Fix module list getting queried when not shown (#32761) 2025-06-15 13:25:33 +02:00
deepseek Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
diagnostics Don't autosave unmodified buffers (#32626) 2025-06-12 22:12:14 +00:00
docs_preprocessor Validate actions in docs (#31073) 2025-06-04 19:18:12 +00:00
editor editor: Ensure mouse cursor is shown again on mouse move (#32795) 2025-06-16 19:49:08 +05:30
eval Replace async-watch with a custom watch (#32245) 2025-06-06 16:00:09 +00:00
extension agent: Remove context server settings when uninstalling MCP extension (#32560) 2025-06-11 19:30:03 +00:00
extension_api debugger: Mark DebugAdapterBinary::program as optional (#32534) 2025-06-11 12:38:12 +02:00
extension_cli Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
extension_host Misc nitpicks, changes too small / unrelated to be in other PRs (#32768) 2025-06-15 19:51:04 +00:00
extensions_ui gpui: Simplify uniform list API by removing entity param (#32480) 2025-06-10 18:50:57 +00:00
feature_flags Add a picker for jj bookmark list (#30883) 2025-05-17 16:42:45 +00:00
feedback Use shortened SHA when displaying version to install (#31281) 2025-05-23 14:53:53 +00:00
file_finder Remove separator! macro and make path! handle relative paths (#32527) 2025-06-13 06:32:29 +00:00
file_icons Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
fs Don't autosave unmodified buffers (#32626) 2025-06-12 22:12:14 +00:00
fsevent Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
fuzzy Fix out-of-bounds panic in fuzzy matcher with Unicode/multibyte characters (#30546) 2025-05-12 14:43:14 +00:00
git Use git config --global user.email for email address in automatic Co-authored-by (#32624) 2025-06-12 19:39:08 +00:00
git_hosting_providers Allow configuring custom git hosting providers in project settings (#31929) 2025-06-03 12:23:01 -04:00
git_ui Fix clicking in to agent message editor and tighten up vertical spacing (#32765) 2025-06-15 18:45:44 +00:00
go_to_line go_to_line: Show position relative to current excerpt in a multi-buffer (#31947) 2025-06-03 09:41:45 +02:00
google_ai google: Add latest versions of Gemini 2.5 Pro and Flash Preview (#32183) 2025-06-05 19:30:34 +00:00
gpui linux: Only call on_keyboard_layout_change when layout name changes (#32784) 2025-06-16 05:35:19 +00:00
gpui_macros Add a live Rust style editor to inspector to edit a sequence of no-argument style modifiers (#31443) 2025-05-26 17:43:57 +00:00
gpui_tokio Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
html_to_markdown Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
http_client Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
http_client_tls Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
icons debugger: Add 'open docs' button in the panel and mention onboarding in the docs (#32496) 2025-06-10 21:56:29 +00:00
image_viewer Option to auto-close deleted files with no unsaved edits (#31920) 2025-06-03 13:18:29 +02:00
indexed_docs Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
inline_completion Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
inline_completion_button inline_completion_button: Fix links to account page (#31558) 2025-05-27 21:52:42 +00:00
inspector_ui Fix anchor biases for completion replacement ranges (esp slash commands) (#32262) 2025-06-06 20:54:00 +00:00
install_cli Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
jj Add a picker for jj bookmark list (#30883) 2025-05-17 16:42:45 +00:00
jj_ui Add a picker for jj bookmark list (#30883) 2025-05-17 16:42:45 +00:00
journal VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00
language Move r-a status into the activity indicator (#32726) 2025-06-13 22:33:02 +00:00
language_extension Move r-a status into the activity indicator (#32726) 2025-06-13 22:33:02 +00:00
language_model Distinguish between missing models and registries in error messages (#32678) 2025-06-13 10:31:52 +00:00
language_models OpenAI cleanups (#32597) 2025-06-12 08:55:48 +00:00
language_selector Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
language_tools Fix newlines in language server logs when switching log types + misc (#32659) 2025-06-13 06:22:07 +00:00
languages languages: Bump ESLint LSP server to version 3.0.10 (#32717) 2025-06-14 01:20:38 +03:00
livekit_api Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
livekit_client Use upstream cpal (#32571) 2025-06-11 22:44:20 +03:00
lmstudio language_models: Add thinking support to LM Studio provider (#32337) 2025-06-09 11:55:34 +02:00
lsp Implement the rest of the worktree pulls (#32269) 2025-06-06 21:19:46 +00:00
markdown chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
markdown_preview chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
media Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
menu agent: Add new panel navigation dropdown (#29539) 2025-04-29 21:58:45 -03:00
migrator agent: Add Burn Mode setting migrator (#31718) 2025-05-30 08:10:12 -03:00
mistral language_models: Add support for images to Mistral models (#32154) 2025-06-09 10:00:02 +00:00
multi_buffer Improve code for unsaved tab titles (#32770) 2025-06-15 21:18:09 +00:00
node_runtime Replace async-watch with a custom watch (#32245) 2025-06-06 16:00:09 +00:00
notifications Move workspace::toast_layer::RunAction to zed_actions::toast::RunAction (#32222) 2025-06-06 06:23:09 +00:00
ollama Remove unused load_model method from LanguageModelProvider (#32070) 2025-06-04 14:07:01 +00:00
open_ai OpenAI cleanups (#32597) 2025-06-12 08:55:48 +00:00
open_router language_models: Add image support to OpenRouter models (#32012) 2025-06-11 08:01:29 +00:00
outline Use read-only access methods for read-only entity operations (#31479) 2025-05-26 23:04:31 -04:00
outline_panel gpui: Simplify uniform list API by removing entity param (#32480) 2025-06-10 18:50:57 +00:00
panel Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
paths Improve logic for finding VSCode / Cursor settings files (#32721) 2025-06-14 21:39:54 -06:00
picker gpui: Simplify uniform list API by removing entity param (#32480) 2025-06-10 18:50:57 +00:00
prettier Improve logging of prettier errors (#32665) 2025-06-13 07:26:06 +00:00
project Do not report same project type multiple times for same worktree (#32785) 2025-06-16 06:09:43 +00:00
project_panel project_panel: Allow collapse all from workspace context (#32660) 2025-06-13 12:26:29 +05:30
project_symbols Use read-only access methods for read-only entity operations (#31479) 2025-05-26 23:04:31 -04:00
prompt_store Include full abs paths of worktrees in system prompt (#32725) 2025-06-15 15:45:26 +02:00
proto Use git config --global user.email for email address in automatic Co-authored-by (#32624) 2025-06-12 19:39:08 +00:00
recent_projects chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
refineable Add a live Rust style editor to inspector to edit a sequence of no-argument style modifiers (#31443) 2025-05-26 17:43:57 +00:00
release_channel Use shortened SHA when displaying version to install (#31281) 2025-05-23 14:53:53 +00:00
remote Make it possible to use cargo-zigbuild for ZED_BUILD_REMOTE_SERVER (#31467) 2025-05-27 16:56:27 +00:00
remote_server Replace environment variable parser with zed --printenv outputting JSON (#32637) 2025-06-13 11:49:15 -04:00
repl Fix clicking in to agent message editor and tighten up vertical spacing (#32765) 2025-06-15 18:45:44 +00:00
reqwest_client Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
rich_text Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
rope chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
rpc zlog: Replace usages of env_logger in tests with zlog (#31436) 2025-05-26 11:48:50 -04:00
rules_library agent: Refine rules library window design (#31994) 2025-06-03 14:59:17 -03:00
schema_generator Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
search Don't autosave unmodified buffers (#32626) 2025-06-12 22:12:14 +00:00
semantic_index Remove separator! macro and make path! handle relative paths (#32527) 2025-06-13 06:32:29 +00:00
semantic_version Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
session Avoid unnecessary DB writes (#29417) 2025-04-25 17:41:49 +03:00
settings Improve logic for finding VSCode / Cursor settings files (#32721) 2025-06-14 21:39:54 -06:00
settings_ui Improve logic for finding VSCode / Cursor settings files (#32721) 2025-06-14 21:39:54 -06:00
snippet Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
snippet_provider Use read-only access methods for read-only entity operations (#31479) 2025-05-26 23:04:31 -04:00
snippets_ui snippets: Add icons and file names to snippet scope selector (#30212) 2025-05-26 13:44:09 +00:00
sqlez Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
sqlez_macros Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
story gpui: Add a standard text example (#30747) 2025-05-16 17:35:44 +02:00
storybook Fix clicking in to agent message editor and tighten up vertical spacing (#32765) 2025-06-15 18:45:44 +00:00
streaming_diff Introduce a new StreamingEditFileTool (#29733) 2025-05-01 17:37:43 +02:00
sum_tree chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
supermaven Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
supermaven_api Keep file permissions when extracting zip archives on Unix (#31304) 2025-05-23 20:45:32 +00:00
tab_switcher tab_switcher: Add placeholder text (#31697) 2025-05-29 16:09:07 +00:00
task debugger: Use the right adapter for type: node-terminal (#32723) 2025-06-13 22:01:08 +00:00
tasks_ui Remove separator! macro and make path! handle relative paths (#32527) 2025-06-13 06:32:29 +00:00
telemetry Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
telemetry_events Add new action to run agent eval (#29158) 2025-04-21 21:30:21 -07:00
terminal terminal: Fix file paths links with URL escapes not being clickable (#31830) 2025-06-15 19:20:01 +00:00
terminal_view Improve handling of large output in embedded terminals (#32416) 2025-06-09 18:11:31 -03:00
text chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
theme Refine styling of merge conflicts (#31012) 2025-06-09 19:03:19 +00:00
theme_extension Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
theme_importer theme: Add colors for minimap thumb and border (#30785) 2025-05-26 18:23:41 +00:00
theme_selector Allow running certain Zed actions when headless (#32095) 2025-06-04 17:29:08 +00:00
time_format agent: Add date separators to Thread History (#29961) 2025-05-06 10:18:48 +00:00
title_bar title_bar: Use theme colors for window controls on Windows (#32400) 2025-06-12 11:09:05 -04:00
toolchain_selector python: Re-land usage of source file path in toolchain picker (#31893) 2025-06-02 16:29:06 +00:00
ui agent: Suggest turning burn mode on when close to the context window limit (#32691) 2025-06-13 11:41:17 -03:00
ui_input component: Replace linkme with inventory (#30705) 2025-05-14 23:29:11 +02:00
ui_macros Update syn crate from 1.0.109 to 2.0.101 (#31301) 2025-05-23 19:31:25 +00:00
ui_prompt gpui: Improve window.prompt to support ESC with non-English cancel text on macOS (#29538) 2025-05-30 15:26:27 +00:00
util Misc nitpicks, changes too small / unrelated to be in other PRs (#32768) 2025-06-15 19:51:04 +00:00
util_macros Remove separator! macro and make path! handle relative paths (#32527) 2025-06-13 06:32:29 +00:00
vim editor: Ensure mouse cursor is shown again on mouse move (#32795) 2025-06-16 19:49:08 +05:30
vim_mode_setting VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00
watch chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
web_search agent: Expose web search tool to beta users (#29273) 2025-04-23 15:30:20 +00:00
web_search_providers Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
welcome Cursor keymap (#31702) 2025-05-29 15:20:58 -04:00
workspace Don't autosave unmodified buffers (#32626) 2025-06-12 22:12:14 +00:00
worktree chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
zed Fix the component preview page scroll (#32797) 2025-06-16 10:18:03 -03:00
zed_actions Move workspace::toast_layer::RunAction to zed_actions::toast::RunAction (#32222) 2025-06-06 06:23:09 +00:00
zeta Misc nitpicks, changes too small / unrelated to be in other PRs (#32768) 2025-06-15 19:51:04 +00:00
zlog Initialize zlog default filters on init rather than waiting for settings load (#32209) 2025-06-06 00:49:30 -06:00
zlog_settings VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00