1
1
mirror of https://github.com/wez/wezterm.git synced 2024-11-10 15:04:32 +03:00
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Go to file
Wez Furlong 8002a17242 term: default to cluster storage
The previous commit added the option to convert the storage to
the cluster format.  That saves memory as rows are moved to scrollback,
but makes scrolling back more expensive due to that conversion.

This commit adds a fast(ish) path for the common case of simply
appending text to a new line before it gets scrolled: the default
format for lines in the screen is now the cluster format and,
provided that the cursor moves from left to right as text is
emitted, can simply append to the cluster storage in-place
and avoids a conversion when the line is moved to scrollback.

This improves the throughput of `time cat enwiki8.wiki` so
that the runtime is typically around 11-12s (compared to 9-10s
before introducing cluster storage).  However, this is often
a deal of variance in the measured time and I believe that
that is due to the renderer triggering conversions back to
the vec storage and introducing slowdowns from the render side.

That's what I'll investigate next.
2022-07-23 22:54:43 -07:00
.cargo build static on windows for static openssl linkage 2020-02-02 13:03:07 -08:00
.github revise bug report template 2022-07-22 07:08:16 -07:00
assets quote pwd in open-wezterm-here 2022-07-22 06:46:21 -07:00
async_ossl Raise minimum Rust version to 1.51, de-vendor openssl on unix 2021-03-25 09:43:50 -07:00
base91 dyn everywhere 2019-06-08 21:28:11 -07:00
bidi remove serde from bidi 2022-05-18 09:25:41 -07:00
bintree Add SplitPane assignment 2022-05-21 21:09:11 -07:00
ci deploy: don't try to strip a shell script 2022-07-21 22:57:55 -07:00
codec line: introduce possibility of alternate cell backing 2022-07-23 08:18:34 -07:00
color-types rustfmt 2022-07-17 21:55:39 -07:00
config color schemes: add alias concept 2022-07-20 07:32:46 -07:00
deps update harfbuzz to 4.4.1 2022-07-04 15:26:42 -07:00
docs Docs: Clean and slim the flowchart ... 2022-07-22 07:55:24 -07:00
env-bootstrap lua: add wezterm.time and Time object 2022-07-17 11:38:02 -07:00
filedescriptor filedescriptor: bump version for package publish 2022-01-21 17:08:23 -07:00
licenses macOS: bundle and use MetalANGLE to enable Metal rendering 2020-10-17 09:34:01 -07:00
lua-api-crates color schemes: add alias concept 2022-07-20 07:32:46 -07:00
luahelper lua: implicit tostring(userdata) when printing and ToDynamic 2022-07-10 21:19:10 -07:00
mux Line::as_str() -> Cow<str> 2022-07-23 12:10:13 -07:00
procinfo Added winapi feature "shellapi" to procinfo 2022-06-23 09:08:05 -07:00
promise lua: add wezterm.time.call_after and wezterm.reload_configuration 2022-07-18 07:37:41 -07:00
pty new: exec_domains 2022-07-07 16:38:14 -07:00
rangeset Speedup font loading with fontconfig and freetype. 2021-09-06 10:53:01 -07:00
ratelim deps: migrate from ratelimit_meter -> governor 2022-06-07 22:55:01 -07:00
strip-ansi-escapes deps: structopt -> clap 3 2022-05-28 07:07:52 -07:00
sync-color-schemes color schemes: add alias concept 2022-07-20 07:32:46 -07:00
tabout termwiz: prep for crates.io 2022-04-07 07:27:54 -07:00
term term: default to cluster storage 2022-07-23 22:54:43 -07:00
termwiz term: default to cluster storage 2022-07-23 22:54:43 -07:00
test-data add overlines to underline test script 2022-07-01 11:24:20 -07:00
umask Take care to restore the original umask 2021-01-07 09:20:13 -08:00
vtparse vtparse: increase MAX_OSC to load dynamic color scripts 2022-07-10 08:36:38 -07:00
wezterm wezterm cli spawn: update help and clap constraints 2022-07-22 07:46:25 -07:00
wezterm-client term: default to cluster storage 2022-07-23 22:54:43 -07:00
wezterm-dynamic dynamic: add validate attribute, validate line_height. 2022-07-12 08:41:42 -07:00
wezterm-font fix build; last commit passed cargo check but not cargo build!? 2022-07-14 09:49:07 -07:00
wezterm-gui termwiz: add clustered line storage for line 2022-07-23 12:03:00 -07:00
wezterm-gui-subcommands add wezterm show-keys command 2022-06-22 09:14:34 -07:00
wezterm-input-types win32: fix encoding of delete and backspace keys 2022-07-08 20:49:19 -07:00
wezterm-mux-server completions: improve zsh completions for --cwd, --config-file, prog 2022-06-19 16:27:59 -07:00
wezterm-mux-server-impl line: introduce possibility of alternate cell backing 2022-07-23 08:18:34 -07:00
wezterm-ssh build(deps): bump rstest from 0.14.0 to 0.15.0 2022-07-04 06:24:17 -07:00
wezterm-toast-notification x11/wayland: use xdg desktop portal settings interface to get dark mode 2022-07-13 08:55:43 -07:00
window x11/wayland: always try the portal for appearance 2022-07-15 15:23:47 -07:00
.cirrus.yml Ensure /run/sshd exists, explicitly set username in sshd fixture, add back use_privilege_mode no 2021-10-10 14:54:45 -07:00
.gitignore docs: split MuxPane 2022-07-19 07:20:11 -07:00
.gitmodules repoint to my freetype mirror 2021-02-03 21:56:30 -08:00
.rustfmt.toml encoding my preferred import grouping in the rustfmt config 2022-01-17 13:50:51 -07:00
Cargo.lock termwiz: add clustered line storage for line 2022-07-23 12:03:00 -07:00
Cargo.toml colorschemes: expand to include Gogh color schemes 2022-07-10 13:32:17 -07:00
CONTRIBUTING.md Add get-deps script for installing dependencies 2018-02-25 09:24:56 -08:00
get-deps fix(#2175): correct get-dep script for arch distro's 2022-06-25 19:40:53 -07:00
LICENSE.md Bundle Symbols Nerd Font Mono 2022-01-16 16:04:35 -07:00
README-DISTRO-MAINTAINER.md add distro-defaults feature 2022-07-10 16:34:43 -07:00
README.md Add sponsor button to readme 2022-06-16 12:45:35 -07:00
wt-record fixup wt-record on darwin 2021-03-20 20:14:17 -07:00
wt-replay update record/play scripts for macos 2019-03-22 20:41:50 -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://wezfurlong.org/wezterm/

Screenshot

Screenshot of wezterm on macOS, running vim

Installation

https://wezfurlong.org/wezterm/installation.html

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!

Sponsor WezTerm