A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Find a file
Wez Furlong 909573fad9
Some checks are pending
fmt / check-code-formatting (push) Waiting to run
centos9_continuous / build (push) Waiting to run
centos9_continuous / upload (push) Blocked by required conditions
debian10.3_continuous / build (push) Waiting to run
debian10.3_continuous / upload (push) Blocked by required conditions
debian11_continuous / build (push) Waiting to run
debian11_continuous / upload (push) Blocked by required conditions
debian12_continuous / build (push) Waiting to run
debian12_continuous / upload (push) Blocked by required conditions
fedora39_continuous / build (push) Waiting to run
fedora39_continuous / upload (push) Blocked by required conditions
fedora40_continuous / build (push) Waiting to run
fedora40_continuous / upload (push) Blocked by required conditions
fedora41_continuous / build (push) Waiting to run
fedora41_continuous / upload (push) Blocked by required conditions
macos_continuous / build (push) Waiting to run
macos_continuous / upload (push) Blocked by required conditions
ubuntu20.04_continuous / build (push) Waiting to run
ubuntu20.04_continuous / upload (push) Blocked by required conditions
ubuntu22.04_continuous / build (push) Waiting to run
ubuntu22.04_continuous / upload (push) Blocked by required conditions
ubuntu24.04_continuous / build (push) Waiting to run
ubuntu24.04_continuous / upload (push) Blocked by required conditions
windows_continuous / build (push) Waiting to run
windows_continuous / upload (push) Blocked by required conditions
Nix / Build (push) Waiting to run
nix_continuous / Build (push) Waiting to run
pages / build (push) Waiting to run
pages / deploy (push) Blocked by required conditions
wezterm-ssh / build-wezterm-ssh-feature-libssh-rs (push) Waiting to run
wezterm-ssh / build-wezterm-ssh-feature-ssh2 (push) Waiting to run
ssh: implement ServerAliveInterval for libssh backend
This is a partial implementation of keepalives; it has the good
part (the sending of the packet on the requested interval), but
not the other part (disconnecting if we don't hear anything after
some number of packets).

The reason for not having the latter is that it isn't obvious to me how
to expose whether the channel had more incoming packets since sending
the ignore, so we cannot confidently act to terminate the connection.

refs: https://github.com/wezterm/wezterm/issues/4023
2025-05-14 07:14:22 -07:00
.cargo Update config.toml, fix minor syntax issue 2025-03-06 14:07:56 -08:00
.copr copr: more grubbing around 2023-10-02 16:35:42 -07:00
.github ci: maybe fixup flake workflow 2025-05-11 06:37:31 -07:00
assets chore: update shell completion descriptions for imgcat --hold option 2025-05-11 09:54:57 -07:00
async_ossl workspace-ify the deps 2025-02-12 09:43:36 -07:00
base91 add cargo deny config, update lru 2024-05-13 08:29:36 -07:00
bidi wezterm-escape-parser: allow building no_std (but with alloc) 2025-05-10 15:07:20 -07:00
bintree add cargo deny config, update lru 2024-05-13 08:29:36 -07:00
ci ci: cache api was biffed 2025-04-18 09:32:02 -07:00
codec termwiz: fix panic when appending long runs to clusterline 2025-03-08 12:25:06 -07:00
color-types accommodate more no_std builds 2025-05-10 15:07:21 -07:00
config feat: add configuration option for Launcher label bg and fg 2025-05-11 09:59:01 -07:00
deps deps: update harfbuzz to 10.4.0 2025-03-06 15:23:38 -07:00
docs ssh: implement ServerAliveInterval for libssh backend 2025-05-14 07:14:22 -07:00
env-bootstrap workspace-ify the deps 2025-02-12 09:43:36 -07:00
filedescriptor workspace-ify the deps 2025-02-12 09:43:36 -07:00
frecency workspace-ify the deps 2025-02-12 09:43:36 -07:00
lfucache workspace-ify the deps 2025-02-12 09:43:36 -07:00
licenses macOS: bundle and use MetalANGLE to enable Metal rendering 2020-10-17 09:34:01 -07:00
lua-api-crates wezterm-escape-parser: allow building no_std (but with alloc) 2025-05-10 15:07:20 -07:00
luahelper workspace-ify the deps 2025-02-12 09:43:36 -07:00
mux fix: tmux -CC error on %config-error (#6773) 2025-03-09 04:25:53 -07:00
nix Fix Nix build by disabling broken cargo-auditable step 2025-05-13 19:26:51 -07:00
procinfo wezterm-escape-parser: allow building no_std (but with alloc) 2025-05-10 15:07:20 -07:00
promise workspace-ify the deps 2025-02-12 09:43:36 -07:00
pty workspace-ify the deps 2025-02-12 09:43:36 -07:00
rangeset workspace-ify the deps 2025-02-12 09:43:36 -07:00
ratelim workspace-ify the deps 2025-02-12 09:43:36 -07:00
strip-ansi-escapes workspace-ify the deps 2025-02-12 09:43:36 -07:00
sync-color-schemes workspace-ify the deps 2025-02-12 09:43:36 -07:00
tabout workspace-ify the deps 2025-02-12 09:43:36 -07:00
term term: normalize imports to wezterm-xxx rather than termwiz re-exports 2025-05-10 15:08:56 -07:00
termwiz termwiz: fixup win32 build 2025-05-11 05:45:14 -07:00
test-data add colortest script 2025-05-10 08:56:21 -07:00
umask workspace-ify the deps 2025-02-12 09:43:36 -07:00
vtparse vtparse: improve CsiParam Debug impl 2025-05-10 14:53:59 -07:00
wezterm feat: add additional key modifier combinations to exit polling input 2025-05-11 09:54:57 -07:00
wezterm-blob-leases workspace-ify the deps 2025-02-12 09:43:36 -07:00
wezterm-cell refactor: extract wezterm-cell from termwiz 2025-05-10 15:07:21 -07:00
wezterm-char-props wezterm-char-props: allow building no_std 2025-05-10 15:07:21 -07:00
wezterm-client workspace-ify the deps 2025-02-12 09:43:36 -07:00
wezterm-dynamic refactor: extract wezterm-surface from termwiz 2025-05-10 15:07:21 -07:00
wezterm-escape-parser wezterm-escape-parser: fixup win32 build, take 2 2025-05-10 17:58:18 -07:00
wezterm-font Add font configuration option for ActivateCommandPalette, CharSelect, PaneSelect (#6696) 2025-03-09 15:34:32 -07:00
wezterm-gui feat(mark-last-tab): append last tab name with '*' (#6895) 2025-05-11 22:20:21 -07:00
wezterm-gui-subcommands workspace-ify the deps 2025-02-12 09:43:36 -07:00
wezterm-input-types wezterm-escape-parser: allow building no_std (but with alloc) 2025-05-10 15:07:20 -07:00
wezterm-mux-server workspace-ify the deps 2025-02-12 09:43:36 -07:00
wezterm-mux-server-impl workspace-ify the deps 2025-02-12 09:43:36 -07:00
wezterm-open-url workspace-ify the deps 2025-02-12 09:43:36 -07:00
wezterm-ssh ssh: implement ServerAliveInterval for libssh backend 2025-05-14 07:14:22 -07:00
wezterm-surface refactor: extract wezterm-surface from termwiz 2025-05-10 15:07:21 -07:00
wezterm-toast-notification workspace-ify the deps 2025-02-12 09:43:36 -07:00
wezterm-uds workspace-ify the deps 2025-02-12 09:43:36 -07:00
wezterm-version workspace-ify the deps 2025-02-12 09:43:36 -07:00
window feat: Added support for window blur on KDE Wayland (#6905) 2025-05-04 06:29:27 -07:00
.cirrus.yml ci: cirrus: install deps for testing 2025-02-08 12:26:13 -07:00
.dockerignore ci: switch mkdocs build to docker version 2024-02-03 08:06:55 -07:00
.gitignore refactor: extract wezterm-char-props from termwiz 2025-05-10 15:07:20 -07:00
.gitmodules deps: point to official freetype mirror on github 2025-01-03 09:46:52 -07:00
.mailmap add .mailmap 2022-12-07 12:09:06 -08:00
.rustfmt.toml encoding my preferred import grouping in the rustfmt config 2022-01-17 13:50:51 -07:00
Cargo.lock ssh: implement ServerAliveInterval for libssh backend 2025-05-14 07:14:22 -07:00
Cargo.toml ssh: implement ServerAliveInterval for libssh backend 2025-05-14 07:14:22 -07:00
CONTRIBUTING.md Minor typos to CONTRIBUTING.md 2025-03-06 11:40:03 -08:00
deny.toml add cargo deny config, update lru 2024-05-13 08:29:36 -07:00
get-deps Adapt get-deps for NetBSD, and add NetBSD installation instructions. 2025-02-22 05:37:27 -08:00
LICENSE.md Bundle Symbols Nerd Font Mono 2022-01-16 16:04:35 -07:00
Makefile Add font and window geometry settings to "Quick Start" example config (#6412) 2025-05-11 06:06:10 -07:00
mkdocs_macros.py docs: fixup absolute link warning for {{since(nightly)}} 2024-07-15 06:23:31 -07:00
PRIVACY.md s,wez/wezterm,wezterm/wezterm, 2025-02-07 13:08:01 -07:00
README-DISTRO-MAINTAINER.md fonts: remove last resort font 2022-09-15 08:23:58 -07:00
README.md s,wez/wezterm,wezterm/wezterm, 2025-02-07 13:08:01 -07:00

Wez's Terminal

WezTerm Icon A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust

User facing docs and guide at: https://wezterm.org/

Screenshot

Screenshot of wezterm on macOS, running vim

Installation

https://wezterm.org/installation

Getting help

This is a spare time project, so please bear with me. There are a couple of channels for support:

  • You can use the GitHub issue tracker to see if someone else has a similar issue, or to file a new one.
  • Start or join a thread in our GitHub Discussions; if you have general questions or want to chat with other wezterm users, you're welcome here!
  • There is a Matrix room via Element.io for (potentially!) real time discussions.

The GitHub Discussions and Element/Gitter rooms are better suited for questions than bug reports, but don't be afraid to use whichever you are most comfortable using and we'll work it out.

Supporting the Project

If you use and like WezTerm, please consider sponsoring it: your support helps to cover the fees required to maintain the project and to validate the time spent working on it!

Read more about sponsoring.