Zed Improved. Aiming to improve upon Zed and make a truly delightful code editor.
https://zed.dev
![]() Move the SetLayeredWindowAttributes call to immediately after window construction, and initialize it with per-pixel transparency settings, no color key and no global blending. The render pipeline will perform alpha blending during compositing. Cleaned up the DWM acrylic API calls some, to explicitly set to the three appropriate modes depending on opaque, transparent or blurred settings. The API internally hides versioning concerns from the caller. Set the window class background color to black, this prevents a flashbang on slow startup, e.g. debug builds on a heavily loaded system. The outcome is that the window no longer receives paint demands for underlying window updates, while also having per-pixel transparency - opaque theme elements are now correctly opaque. The transparency settings are now portable across windows and macOS having mostly similar outcomes (modulo palette differences). Small fonts may still appear to be alpha blended - this seems to be in the glyph atlas, their pixels are not actually opaque. Larger fonts (or higher DPIs) don't suffer this and are as opaque as expected. Layering the window atop one that is rendering at 120fps, the editor window can drop to its 8fps idle state, while still being composited with 120fps alpha blend in the background, in both blur and transparent modes. Updates #20400 Release Notes: - Improved transparency on Windows to be more efficient, support fully opaque elements and more closely match other platforms. |
||
---|---|---|
.cargo | ||
.cloudflare | ||
.config | ||
.github | ||
.zed | ||
assets | ||
crates | ||
docs | ||
extensions | ||
legal | ||
nix | ||
script | ||
tooling | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
Cargo.lock | ||
Cargo.toml | ||
clippy.toml | ||
CODE_OF_CONDUCT.md | ||
compose.yml | ||
CONTRIBUTING.md | ||
Cross.toml | ||
debug.plist | ||
default.nix | ||
docker-compose.sql | ||
Dockerfile-collab | ||
Dockerfile-collab.dockerignore | ||
Dockerfile-cross | ||
Dockerfile-cross.dockerignore | ||
Dockerfile-distros | ||
Dockerfile-distros.dockerignore | ||
flake.lock | ||
flake.nix | ||
LICENSE-AGPL | ||
LICENSE-APACHE | ||
LICENSE-GPL | ||
livekit.yaml | ||
Procfile | ||
Procfile.postgrest | ||
README.md | ||
renovate.json | ||
rust-toolchain.toml | ||
shell.nix | ||
typos.toml |
Zed
Welcome to Zed, a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
Installation
On macOS and Linux you can download Zed directly or install Zed via your local package manager.
Other platforms are not yet available:
- Windows (tracking issue)
- Web (tracking issue)
Developing Zed
- Building Zed for macOS
- Building Zed for Linux
- Building Zed for Windows
- Running Collaboration Locally
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, addpublish = 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 theaccepted
array inscript/licenses/zed-licenses.toml
. - Is
cargo-about
unable to find the license for a dependency? If so, add a clarification field at the end ofscript/licenses/zed-licenses.toml
, as specified in the cargo-about book.