ZIm/crates
tims e4493d60dc
linux: Fix wrong cursor theme for arrow cursor style (#22276)
Closes #22264

On Linux, the arrow cursor style currently used by Zed is `arrow`.
However, this style might not be available in most themes, causing the
cursor to fall back to system default theme. Note cursor style are
platform (X11 and Wayland) agnostic.

Most themes use `left_ptr` as their arrow cursor style instead of
`arrow`. In some cases, `left_ptr` and `arrow` are symlinks pointing to
the `default` style, but the `default` style is not guaranteed to be
available across all themes.

After inspecting the available cursor themes on popular desktop
environments, changing the default from `arrow` to `left_ptr` seems to
be available in all of them. `left_ptr` as default cursor style is also
mentioned in [Arch Wiki: Cursor
themes](https://wiki.archlinux.org/title/Cursor_themes#Change_X_shaped_default_cursor).

KDE:
```sh
tims@lemon /u/s/icons> find . -name "arrow"
./Breeze_Snow/cursors/arrow
./breeze_cursors/cursors/arrow
./Adwaita/cursors/arrow

tims@lemon /u/s/icons> find . -name "default"
./default
./Breeze_Snow/cursors/default
./breeze_cursors/cursors/default
./Adwaita/cursors/default

tims@lemon /u/s/icons> find . -name "left_ptr"
./Oxygen_White/cursors/left_ptr
./KDE_Classic/cursors/left_ptr
./Oxygen_Yellow/cursors/left_ptr
./Oxygen_Blue/cursors/left_ptr
./Oxygen_Black/cursors/left_ptr
./Breeze_Snow/cursors/left_ptr
./breeze_cursors/cursors/left_ptr
./Adwaita/cursors/left_ptr
./Oxygen_Zion/cursors/left_ptr

```

Gnome:
```sh
tims@orange:/usr/share/icons$ find . -name "arrow"
./DMZ-Black/cursors/arrow
./Adwaita/cursors/arrow
./redglass/cursors/arrow
./whiteglass/cursors/arrow
./handhelds/cursors/arrow
./Yaru/cursors/arrow
./DMZ-White/cursors/arrow

tims@orange:/usr/share/icons$ find . -name "default"
./Adwaita/cursors/default
./default
./Yaru/cursors/default

tims@orange:/usr/share/icons$ find . -name "left_ptr"
./DMZ-Black/cursors/left_ptr
./Adwaita/cursors/left_ptr
./redglass/cursors/left_ptr
./whiteglass/cursors/left_ptr
./handhelds/cursors/left_ptr
./Yaru/cursors/left_ptr
./DMZ-White/cursors/left_ptr
```

My theme is set to Oxygen Yellow here.

Before:
<img
src="https://github.com/user-attachments/assets/7485f1e7-5936-45b4-96bd-399525bad95d"
alt="before" width="450px" />

After:
<img
src="https://github.com/user-attachments/assets/56090735-6a1f-4652-ad3e-075ff4c3f9ab"
alt="after" width="450px" />


Release Notes:

- Fixed wrong cursor theme for arrow cursor style on Linux.
2024-12-20 05:57:47 +00:00
..
activity_indicator Add Corner to geometry and make names of corner methods consistent (#22119) 2024-12-16 22:57:15 -07:00
anthropic assistant: Remove low_speed_timeout (#20681) 2024-11-15 07:37:31 +01:00
assets add ui::Vector and separate images from icons (#17815) 2024-09-13 17:44:16 -04:00
assistant Use static LazyLocks for all constant regexes (#22225) 2024-12-19 02:20:35 +00:00
assistant2 Reuse prompt editor across buffer and terminal assist (#22188) 2024-12-18 16:12:54 -05:00
assistant_slash_command Overhaul extension registration (#21083) 2024-11-22 19:02:32 -05:00
assistant_tool Factor tool definitions out of assistant (#21189) 2024-11-25 18:26:34 -05:00
assistant_tools assistant2: Add support for using tools (#21190) 2024-11-25 19:44:34 -05:00
audio Update Rust crate rodio to 0.20.0 (#20955) 2024-11-28 10:58:36 +02:00
auto_update Extract auto_update_ui crate (#21008) 2024-11-21 14:11:57 -05:00
auto_update_ui Extract auto_update_ui crate (#21008) 2024-11-21 14:11:57 -05:00
breadcrumbs Add missing shortcuts in tooltips (#18282) 2024-09-27 11:06:48 +02:00
call More telemetry events (#22171) 2024-12-17 22:16:59 -07:00
channel Use Instant not chrono for telemetry (#20756) 2024-11-19 08:23:12 -07:00
cli Update Rust crate ipc-channel to 0.19 (#20951) 2024-11-28 10:58:10 +02:00
client More telemetry events (#22171) 2024-12-17 22:16:59 -07:00
clock Use Instant not chrono for telemetry (#20756) 2024-11-19 08:23:12 -07:00
collab Update collab local development instructions (#22018) 2024-12-17 20:43:48 -07:00
collab_ui Hide chat panel button when not in a call (#22200) 2024-12-19 19:32:45 +00:00
collections gpui: Add SVG rendering to img element and generic asset cache (#9931) 2024-03-29 17:09:49 -07:00
command_palette Match keymap-style action names in command palette (#22149) 2024-12-19 12:48:54 +00:00
command_palette_hooks Use the same InlineAssist action between both assistant and assistant2 (#22126) 2024-12-16 23:57:07 -05:00
context_server context_server: Add missing types for MCP spec to protocol 2024-11-05 (#21498) 2024-12-04 10:45:25 -05:00
context_server_settings Factor tool definitions out of assistant (#21189) 2024-11-25 18:26:34 -05:00
copilot Show inline completions in menu only for supported providers (#22181) 2024-12-18 12:55:09 +01:00
db chore: Fix some violations of 'needless_pass_by_ref_mut' lint (#18795) 2024-10-07 01:29:58 +02:00
diagnostics Enable search within diagnostics pane (#22213) 2024-12-18 22:52:16 +00:00
docs_preprocessor Don't rely on relative path for docs preprocessor (#16883) 2024-08-26 11:43:13 -04:00
editor Fix cursor overlap (#21999) 2024-12-19 16:24:30 +00:00
evals windows: Set CREATE_NO_WINDOW for commands (#18447) 2024-11-20 16:52:38 -08:00
extension Add language icons to the language selector (#21298) 2024-12-02 15:01:09 -03:00
extension_api zed_extension_api: Add a short explanation of repo format (#21824) 2024-12-10 15:04:47 -05:00
extension_cli Add new extension crate (#20089) 2024-11-01 13:20:30 -04:00
extension_host Add telemetry::event! (#22146) 2024-12-17 11:39:18 -07:00
extensions_ui Allow telemetry::event! with no properties (#22190) 2024-12-18 09:41:47 -07:00
feature_flags Add placeholder git panel (#21894) 2024-12-11 22:13:52 -05:00
feedback Use static LazyLocks for all constant regexes (#22225) 2024-12-19 02:20:35 +00:00
file_finder Add Corner to geometry and make names of corner methods consistent (#22119) 2024-12-16 22:57:15 -07:00
file_icons chore: Clean up allocs around project panel (#15422) 2024-07-29 14:21:41 +02:00
fs linux: Fix saving file with root ownership (#22045) 2024-12-19 22:16:01 +00:00
fsevent Retain run loop (#11241) 2024-04-30 23:31:59 -06:00
fuzzy Fix fuzzy string match invariant check (#22032) 2024-12-15 01:15:22 -07:00
git Rename GitRepository.path() to GitRepository.dot_git_dir() (#22026) 2024-12-14 15:30:56 -07:00
git_hosting_providers Use static LazyLocks for all constant regexes (#22225) 2024-12-19 02:20:35 +00:00
git_ui git_ui: Update todos (#22100) 2024-12-16 13:39:40 -05:00
go_to_line Only debounce the cursor position in multibuffer excerpts (#21946) 2024-12-12 18:27:06 -08:00
google_ai assistant: Remove low_speed_timeout (#20681) 2024-11-15 07:37:31 +01:00
gpui linux: Fix wrong cursor theme for arrow cursor style (#22276) 2024-12-20 05:57:47 +00:00
gpui_macros gpui: Add cursor style methods of nesw nwse resize (#21801) 2024-12-10 11:54:26 -07:00
html_to_markdown Use static LazyLocks for all constant regexes (#22225) 2024-12-19 02:20:35 +00:00
http_client Use LiveKit's Rust SDK on Linux while continue using Swift SDK on Mac (#21550) 2024-12-05 15:06:17 -08:00
image_viewer image viewer: Allow dropping images on pane (#21803) 2024-12-10 15:01:14 +01:00
indexed_docs Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
inline_completion Show inline completions in menu only for supported providers (#22181) 2024-12-18 12:55:09 +01:00
inline_completion_button Add Corner to geometry and make names of corner methods consistent (#22119) 2024-12-16 22:57:15 -07:00
install_cli Fix flickering (#9012) 2024-03-11 10:45:57 +01:00
journal chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
language Add and use CodeLabel::filter_text() (#22054) 2024-12-15 22:24:41 -07:00
language_extension Add language icons to the language selector (#21298) 2024-12-02 15:01:09 -03:00
language_model Fuse LLM completion stream to avoid a panic (#21914) 2024-12-12 11:39:35 -05:00
language_model_selector Add Corner to geometry and make names of corner methods consistent (#22119) 2024-12-16 22:57:15 -07:00
language_models Mention Lllama 3.3 in Ollama config panel (#21866) 2024-12-11 16:38:03 -05:00
language_selector Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
language_tools Add Corner to geometry and make names of corner methods consistent (#22119) 2024-12-16 22:57:15 -07:00
languages Format code/fix broken CI build (#21997) 2024-12-13 17:25:54 -05:00
livekit_client Use LiveKit's Rust SDK on Linux while continue using Swift SDK on Mac (#21550) 2024-12-05 15:06:17 -08:00
livekit_client_macos Bump to livekit 1.1.6 (#21660) 2024-12-06 12:06:55 -08:00
livekit_server Use LiveKit's Rust SDK on Linux while continue using Swift SDK on Mac (#21550) 2024-12-05 15:06:17 -08:00
lsp Hide the implementation of Task (#22009) 2024-12-14 02:52:22 -07:00
markdown markdown: Make cx the last parameter to Markdown::new_text (#21497) 2024-12-03 18:39:00 -05:00
markdown_preview Add tooltip for Markdown Preview copy code button (#22057) 2024-12-17 14:46:38 -05:00
media Switch to a single GPU context in Blade (#20853) 2024-12-18 14:47:09 -07:00
menu Show restart transformation button after successful inline assist (#20439) 2024-12-13 20:31:54 -08:00
multi_buffer Move multibuffer tests to their own source file (#22270) 2024-12-20 02:02:32 +00:00
node_runtime windows: Set CREATE_NO_WINDOW for commands (#18447) 2024-11-20 16:52:38 -08:00
notifications Markdown preview image rendering (#21082) 2024-11-22 14:49:26 -08:00
ollama Fix inaccurate Ollama context length for qwen2.5 models (#20933) 2024-11-22 10:10:01 -05:00
open_ai Introduce staff-only inline completion provider (#21739) 2024-12-09 14:26:36 +01:00
outline Toggle & Switch (#21979) 2024-12-13 14:23:02 -05:00
outline_panel Add Corner to geometry and make names of corner methods consistent (#22119) 2024-12-16 22:57:15 -07:00
paths Add initial FreeBSD support (#20480) 2024-11-11 18:39:05 +01:00
picker toolchains: Use language-specific terms in UI (#20985) 2024-11-21 15:57:22 +01:00
prettier Add .prettierignore support (#21297) 2024-12-12 15:45:44 -08:00
project Fix permalink-to-line when Git repo root and worktree dir don't coincide (#22003) 2024-12-19 19:23:50 +00:00
project_panel Add Corner to geometry and make names of corner methods consistent (#22119) 2024-12-16 22:57:15 -07:00
project_symbols Add and use CodeLabel::filter_text() (#22054) 2024-12-15 22:24:41 -07:00
proto Start to split out initialization and registration (#21787) 2024-12-11 14:05:10 -07:00
recent_projects Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
refineable Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
release_channel chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
remote Fix panics from spawn_local tasks dropped on other threads in remote server (#21022) 2024-11-21 14:50:38 -07:00
remote_server Start to split out initialization and registration (#21787) 2024-12-11 14:05:10 -07:00
repl Add telemetry::event! (#22146) 2024-12-17 11:39:18 -07:00
reqwest_client assistant: Remove low_speed_timeout (#20681) 2024-11-15 07:37:31 +01:00
rich_text Markdown preview image rendering (#21082) 2024-11-22 14:49:26 -08:00
rope rope: Minor optimization for tab indices (#20911) 2024-11-21 08:48:13 +01:00
rpc Introduce staff-only inline completion provider (#21739) 2024-12-09 14:26:36 +01:00
search editor: Add horizontal scrollbar (#19495) 2024-12-17 17:24:59 +01:00
semantic_index Add a prototype with a multi buffer having all project git changes (#21543) 2024-12-04 23:36:36 +02:00
semantic_version Extract SemanticVersion into its own crate (#9956) 2024-03-29 12:11:57 -04:00
session chore: Fix some violations of 'needless_pass_by_ref_mut' lint (#18795) 2024-10-07 01:29:58 +02:00
settings Update NorwegianExtended equivalents (#21665) 2024-12-06 16:42:58 -07:00
settings_ui Toggle & Switch (#21979) 2024-12-13 14:23:02 -05:00
snippet Snippet choices (#13958) 2024-11-18 22:56:34 +01:00
snippet_provider Overhaul extension registration (#21083) 2024-11-22 19:02:32 -05:00
snippets_ui Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
sqlez Update rustls and sqlx (#21506) 2024-12-03 23:22:26 -05:00
sqlez_macros Add initial FreeBSD support (#20480) 2024-11-11 18:39:05 +01:00
story chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
storybook Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
sum_tree Speed up point translation in the Rope (#19913) 2024-10-30 10:59:03 +01:00
supermaven Show inline completions in menu only for supported providers (#22181) 2024-12-18 12:55:09 +01:00
supermaven_api chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
tab_switcher Toggle & Switch (#21979) 2024-12-13 14:23:02 -05:00
task Move task centering code closer to user input (#22082) 2024-12-16 16:15:58 +02:00
tasks_ui Move task centering code closer to user input (#22082) 2024-12-16 16:15:58 +02:00
telemetry Allow telemetry::event! with no properties (#22190) 2024-12-18 09:41:47 -07:00
telemetry_events Add telemetry::event! (#22146) 2024-12-17 11:39:18 -07:00
terminal Add Corner to geometry and make names of corner methods consistent (#22119) 2024-12-16 22:57:15 -07:00
terminal_view Focus terminal when creating one after activating the terminal panel (#22133) 2024-12-17 14:19:13 +02:00
text Implement Helix Support (WIP) (#19175) 2024-12-03 23:19:52 -07:00
theme project panel: Use theme token for focused border color (#21593) 2024-12-05 19:17:26 -03:00
theme_extension Overhaul extension registration (#21083) 2024-11-22 19:02:32 -05:00
theme_importer Publish theme json schema v0.2.0 (#21428) 2024-12-03 12:57:39 -05:00
theme_selector More telemetry events (#22171) 2024-12-17 22:16:59 -07:00
time_format chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
title_bar linux: Implement Menus (#21873) 2024-12-18 17:27:25 -05:00
toolchain_selector Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
ui assistant2: Add temporary icon for the status bar item (#22156) 2024-12-17 16:57:47 -05:00
ui_input Rename ui_text_field crate to ui_input (#13949) 2024-07-08 17:05:30 -04:00
ui_macros Fix DynamicSpacing docs (#20509) 2024-11-11 12:58:39 -05:00
util Use static LazyLocks for all constant regexes (#22225) 2024-12-19 02:20:35 +00:00
vcs_menu Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
vim Fix vim repeat (.) and macro playback insertions in diagnostics and assistant (#22210) 2024-12-18 15:30:52 -07:00
vim_mode_setting Extract VimModeSetting to its own crate (#21019) 2024-11-21 16:24:38 -05:00
welcome More telemetry events (#22171) 2024-12-17 22:16:59 -07:00
workspace Fix panic in activate_pane_in_direction (#21948) 2024-12-17 22:10:30 -05:00
worktree Fix permalink-to-line when Git repo root and worktree dir don't coincide (#22003) 2024-12-19 19:23:50 +00:00
zed linux: Implement Menus (#21873) 2024-12-18 17:27:25 -05:00
zed_actions Move task centering code closer to user input (#22082) 2024-12-16 16:15:58 +02:00
zeta zeta: Always include current file's outline in telemetry (#22257) 2024-12-19 17:17:10 +00:00