1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-25 06:12:16 +03:00
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Go to file
Wez Furlong 159abe5e28 mux: make action parser buffer size configurable and smaller
Previously, we'd use a 1MB buffer both to read the output from the
associated pty (blocking), and the same size buffer again to do the
non-blocking read on top of that.

For pathological cases (eg: cat 100MB+ files), we could build a
resulting `Vec<Action>` with over 1mm entries and it could take as much
as 100ms to apply those actions to the terminal model.

This meant that the output could stutter/lag and appear to be processed
more slowly.

This commit introduces a configuration value for the buffer size for the
second stage, and makes it 10KB in size.  This helps to constrain the
size of the Action vec and keeps the incremental processing costs down,
while still managing the same throughput.
2021-07-31 08:57:13 -07:00
.cargo build static on windows for static openssl linkage 2020-02-02 13:03:07 -08:00
.github update actions/cache -> 2.1.6 2021-05-30 23:07:29 -07:00
assets Remove duplicate colorscheme file 2021-06-27 09:57:56 -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
bintree bintree: clippy lint 2021-03-26 09:01:54 -07:00
ci update actions/cache -> 2.1.6 2021-05-30 23:07:29 -07:00
codec deps: cargo update, and a couple of dependabot suggestions 2021-07-18 19:10:46 -07:00
color-types reduce to a single draw call 2021-07-31 00:23:16 -07:00
config mux: make action parser buffer size configurable and smaller 2021-07-31 08:57:13 -07:00
deps fonts: synthesize bold when missing 2021-05-22 16:20:35 -07:00
docs docs: fix table 2021-07-25 09:16:55 -07:00
env-bootstrap tidy up log levels for wgpu 2021-05-09 10:59:48 -07:00
filedescriptor fixup build on macos 2021-05-23 14:42:41 -07:00
licenses macOS: bundle and use MetalANGLE to enable Metal rendering 2020-10-17 09:34:01 -07:00
luahelper add lua repl to the debug overlay 2021-05-03 09:19:44 -07:00
mux mux: make action parser buffer size configurable and smaller 2021-07-31 08:57:13 -07:00
promise deps: misc updates 2020-12-29 09:24:34 -08:00
pty Always provide an absolute path for the working directory to CreateProcessW() 2021-07-19 08:36:08 -07:00
rangeset fix an issue where rangeset::difference with itself gave bad results 2021-04-11 14:34:15 -07:00
ratelim move ratelim to its own crate 2020-10-03 11:15:57 -07:00
strip-ansi-escapes move strip-ansi-escapes into its own crate 2020-10-03 11:15:57 -07:00
tabout vtparse/termwiz: prep for release 2021-04-14 13:04:23 -07:00
term conceptually allow for multiple image attachments in a cell 2021-07-29 19:41:52 -07:00
termwiz conceptually allow for multiple image attachments in a cell 2021-07-29 19:41:52 -07:00
test-data incomplete, basic implementation of kitty image protocol 2021-07-28 09:04:52 -07:00
tmux-cc tmux-cc: parse client-detached (#980) 2021-07-24 21:28:59 -07:00
umask Take care to restore the original umask 2021-01-07 09:20:13 -08:00
vtparse vtparse: parse APC sequences 2021-07-28 09:04:28 -07:00
wezterm add wezterm cli spawn --new-window flag 2021-06-18 22:12:25 -07:00
wezterm-client deps: cargo update, and a couple of dependabot suggestions 2021-07-18 19:10:46 -07:00
wezterm-font Wrap up synchronized output handling, parser changes 2021-07-24 17:01:21 -07:00
wezterm-gui Consolidate shader logic 2021-07-31 07:34:14 -07:00
wezterm-gui-subcommands fonts: add wezterm ls-fonts --text "hello" to explain per-glyph font 2021-06-19 16:55:45 -07:00
wezterm-input-types Allow VoidSymbol keycode to be seen by wezterm (#759) 2021-05-07 07:54:24 -07:00
wezterm-mux-server wezterm-mux-server: keep running after all panes are gone 2021-04-03 15:00:08 -07:00
wezterm-mux-server-impl plumb appearance change event -> reload on macos 2021-07-18 00:01:53 -07:00
wezterm-ssh ssh: avoid looping forever if the connection drops 2021-07-16 19:31:37 -07:00
wezterm-toast-notification deps: upgrade open 1.4 -> 2.0 2021-07-26 08:15:02 -07:00
window window: fix warning when buildings tests on !macos 2021-07-29 19:44:34 -07:00
.cirrus.yml ci: workaround rustup hang on freebsd 2021-05-21 20:13:15 -07:00
.gitignore docs: for the new status bar feature 2021-03-10 19:29:17 -08:00
.gitmodules repoint to my freetype mirror 2021-02-03 21:56:30 -08:00
.rustfmt.toml Make rustfmt happy about "async move" 2020-01-20 13:58:21 -08:00
Cargo.lock kitty img: add deflate support 2021-07-28 09:29:40 -07:00
Cargo.toml couple of build tweaks for git versioning and macos build perf 2021-04-23 23:29:43 -07:00
CONTRIBUTING.md Add get-deps script for installing dependencies 2018-02-25 09:24:56 -08:00
get-deps ErrorKind::Unsupported is rust 1.53 and up 2021-07-29 19:50:22 -07:00
LICENSE.md wezterm: bundle JetBrains Mono and Noto Color Emoji fonts 2020-09-29 22:05:18 -07:00
README.md Update wording in README.md 2021-05-19 19:08:57 -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.