Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
Find a file
Michael Sloan 527c9097f8
linux: Various X11 scroll improvements ()
Closes  , , , , 

Release Notes:

- Fixed some cases where Linux X11 mouse scrolling doesn't work at all
(, ##15970, )
- Fixed handling of switching between Linux X11 devices used for
scrolling (, )

Change details:

Also includes the commit from PR  so I don't have to deal with
merge conflicts.

* Now uses valuator info from slave pointers rather than master. This
hopefully fixes remaining cases where scrolling is fully
broken. https://github.com/zed-industries/zed/issues/14089,
https://github.com/zed-industries/zed/issues/15970,
https://github.com/zed-industries/zed/issues/17230

* Per-device recording of "last scroll position" used to calculate
deltas. This meant that swithing scroll devices would cause a sudden
jump of scroll position, often to the beginning or end of the
file (https://github.com/zed-industries/zed/issues/14416).

* Re-queries device metadata when devices change, so that newly
plugged in devices will work, and re-use of device-ids don't use old
metadata with a new device.

* xinput 2 documentation describes support for multiple master
devices. I believe this implementation will support that, since now it
just uses `DeviceInfo` from slave devices. The concept of master
devices is only used in registering for events.

* Uses popcount+bit masking to resolve axis indexes, instead of
iterating bit indices.

---------

Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
2024-10-01 09:14:40 +02:00
.cargo
.cloudflare Format READMEs () 2024-09-05 15:39:16 -04:00
.config
.github ci: Use BuildJet Ubuntu 20.04 runners for better glibc compatibility () 2024-09-30 17:02:19 -04:00
.zed ci: Move collab to Dockerfile-collab () 2024-09-30 16:14:26 -04:00
assets Make direct direnv loading default () 2024-09-30 15:35:36 +02:00
crates linux: Various X11 scroll improvements () 2024-10-01 09:14:40 +02:00
docs docs: Correct glibc requirements () 2024-09-30 21:07:10 -04:00
extensions php: Add syntax highlighting inside heredoc strings () 2024-09-30 10:02:12 +03:00
legal legal: Correct privacy policy () 2024-09-01 11:33:06 -04:00
nix Use fenix toolchain in nix shell () 2024-09-23 10:16:15 -04:00
script Support More Linux () 2024-09-30 17:46:21 -04:00
tooling/xtask chore: Fix several style lints () 2024-09-06 11:58:39 +02:00
.git-blame-ignore-revs
.gitattributes
.gitignore Add script to generate license dependencies as csv () 2024-09-26 16:21:20 -04:00
.mailmap Update .mailmap () 2024-08-30 17:34:05 -04:00
Cargo.lock Fix bugs in diff hunk highlighting () 2024-09-27 11:14:28 -07:00
Cargo.toml Clean up after isahc_http_client introduction () 2024-09-18 19:39:15 -04:00
clippy.toml chore: Revert changes made to ui crate structure () 2024-09-06 21:38:56 +02:00
CODE_OF_CONDUCT.md
compose.yml
CONTRIBUTING.md Update extension docs link in CONTRIBUTING.md () 2024-08-29 14:27:41 +03:00
debug.plist
default.nix
docker-compose.sql
Dockerfile-collab ci: Move collab to Dockerfile-collab () 2024-09-30 16:14:26 -04:00
Dockerfile-collab.dockerignore ci: Move collab to Dockerfile-collab () 2024-09-30 16:14:26 -04:00
Dockerfile-distros Support More Linux () 2024-09-30 17:46:21 -04:00
Dockerfile-distros.dockerignore Support More Linux () 2024-09-30 17:46:21 -04:00
flake.lock Use fenix toolchain in nix shell () 2024-09-23 10:16:15 -04:00
flake.nix Use fenix toolchain in nix shell () 2024-09-23 10:16:15 -04:00
LICENSE-AGPL
LICENSE-APACHE
LICENSE-GPL
livekit.yaml
Procfile
Procfile.postgrest
README.md Format READMEs () 2024-09-05 15:39:16 -04:00
renovate.json
rust-toolchain.toml chore: Bump Rust to 1.81 () 2024-09-06 00:40:44 +02:00
shell.nix
typos.toml x11: Implement Drag and Drop () 2024-09-09 14:27:45 -07:00

Zed

CI

Welcome to Zed, a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.


Installation

Packaging status

On macOS and Linux you can download Zed directly or install Zed via your local package manager.

Other platforms are not yet available:

Developing Zed

Contributing

See CONTRIBUTING.md for ways you can contribute to Zed.

Also... we're hiring! Check out our jobs page for open roles.

Licensing

License information for third party dependencies must be correctly provided for CI to pass.

We use cargo-about to automatically comply with open source licenses. If CI is failing, check the following:

  • Is it showing a no license specified error for a crate you've created? If so, add publish = false under [package] in your crate's Cargo.toml.
  • Is the error failed to satisfy license requirements for a dependency? If so, first determine what license the project has and whether this system is sufficient to comply with this license's requirements. If you're unsure, ask a lawyer. Once you've verified that this system is acceptable add the license's SPDX identifier to the accepted array in script/licenses/zed-licenses.toml.
  • Is cargo-about unable to find the license for a dependency? If so, add a clarification field at the end of script/licenses/zed-licenses.toml, as specified in the cargo-about book.