1
1
mirror of https://github.com/wez/wezterm.git synced 2024-11-24 07:46:59 +03:00
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Go to file
Wez Furlong bb04d91101 remove sync_channel, re-fixes large pastes under glium
The sync_channel was originally added as a brake to avoid swamping
the event loop, but we've subsequently grown a more formal rate
limiting config for this.

The rate limiter is superior because it allows making forward
progress over time, whereas the bounded channel is a hard blocking
limit.

When making a large paste the app on the other end will typically
emit a lot of output.  If our reader is blocked on the sync channel
the output of the pty can be blocked, and that in turn will block
our attempt to write to the pty.

We cannot simply set the pty to non-blocking mode because non-blocking
ptys are not a thing on windows, and in the interest of not silently
breaking windows, I prefer to make the unix side of things match
that architecture.

anyway: TL;DR is that we don't need the bounded channel now that
we have rate control to manage swamping the event loop, so we
can simplify this code.
2019-06-24 07:28:40 -07:00
.cargo Now with something approximating windows support 2018-07-20 20:39:16 -07:00
assets Embed icon into windows executable and titlebar 2019-03-24 19:08:07 -07:00
base91 dyn everywhere 2019-06-08 21:28:11 -07:00
ci RIP: travis CI 2019-06-23 11:01:35 -07:00
deps fixup travis build 2019-06-14 06:40:02 -07:00
docs checkpoint jekyll TOC weirdness 2019-06-23 23:06:33 -07:00
promise more properly fix cond notify on Promise::drop 2019-06-16 21:04:53 -07:00
pty use consistent version of filedescriptor crate 2019-06-22 14:31:19 -07:00
src remove sync_channel, re-fixes large pastes under glium 2019-06-24 07:28:40 -07:00
tabout add cli command to list tabs 2019-06-13 21:53:14 -07:00
term update tests for clipboard changes 2019-06-21 09:12:01 -07:00
termwiz use consistent version of filedescriptor crate 2019-06-22 14:31:19 -07:00
.gitignore more docs stuff 2019-06-22 17:27:56 -07:00
.gitmodules use https for freetype2, as it is easier to access via a proxy 2019-06-13 21:20:56 -07:00
.rustfmt.toml update rustfmt for 1.28 2018-08-03 22:34:27 -07:00
appveyor.yml appveyor: revise deploy filter 2019-03-24 16:03:48 -07:00
azure-pipelines.yml nightly build didn't seem to trigger, so tweak config 2019-06-24 07:05:41 -07:00
build.rs Embed icon into windows executable and titlebar 2019-03-24 19:08:07 -07:00
Cargo.toml try harder to get openssl vendoring right 2019-06-22 14:28:52 -07:00
CONTRIBUTING.md Add get-deps script for installing dependencies 2018-02-25 09:24:56 -08:00
get-deps add rustfmt and packaging steps to azure pipeline 2019-06-22 23:45:58 -07:00
install.sh refine deploy scripts/config 2019-03-24 00:26:53 -07:00
ISSUE_TEMPLATE.md Create ISSUE_TEMPLATE.md 2018-02-25 08:22:55 -08:00
LICENSE.md restructure termwiz tree prior to merging into wezterm repo 2018-08-05 07:55:30 -07:00
README.md remove travis badge 2019-06-23 11:04:29 -07:00
wt-record update record/play scripts for macos 2019-03-22 20:41:50 -07:00
wt-replay update record/play scripts for macos 2019-03-22 20:41:50 -07:00

Wez's Terminal

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

User facing home page at: https://wezfurlong.org/wezterm/

Build status Build Status

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 two channels for support:

The gitter room is probably better suited to questions than it is to bug reports, but don't be afraid to use whichever you are most comfortable using and we'll work it out.