mirror of
https://github.com/wez/wezterm.git
synced 2024-12-27 15:37:29 +03:00
9a4ae0a06b
In the early days we relied upon the bounded length of a sync channel to put back pressure on the output from a child command. We're no longer using that kind of channel, so here's a more deliberate and measurable rate limiting implementation. The `ratelimit_output_bytes_per_second` configuration setting defaults to 2MB/s and constrains the amount of text we send to the escape sequence parser. This value was selected based on it being a combination of responsive to ctrl-c while outputing a lot of data and still generating sleeps to remain within the constraints. This does mean that terminal benchmarks that test how quickly you can dump text to the terminal will hit this artifical upper limit and are thus not going to be a true measure of performance.
115 lines
2.6 KiB
TOML
115 lines
2.6 KiB
TOML
[package]
|
|
authors = ["Wez Furlong <wez@wezfurlong.org>"]
|
|
name = "wezterm"
|
|
version = "0.1.0"
|
|
edition = "2018"
|
|
build = "build.rs"
|
|
|
|
[build-dependencies]
|
|
vergen = "3"
|
|
|
|
[target.'cfg(windows)'.build-dependencies]
|
|
embed-resource = "1.1"
|
|
|
|
[dependencies]
|
|
base91 = { path = "base91" }
|
|
bitflags = "1.0"
|
|
clipboard = "0.5"
|
|
crossbeam-channel = "0.3"
|
|
dirs = "1.0"
|
|
downcast-rs = "1.0"
|
|
euclid = "0.19"
|
|
filedescriptor = "0.4"
|
|
pretty_env_logger = "0.3"
|
|
failure = "0.1"
|
|
failure_derive = "0.1"
|
|
foreign-types = "0.3"
|
|
freetype = { path = "deps/freetype" }
|
|
gl = "0.11"
|
|
glium = { version = "0.24", default-features = false, features = ["glutin", "icon_loading"]}
|
|
harfbuzz = { path = "deps/harfbuzz" }
|
|
lazy_static = "1.3"
|
|
leb128 = "0.2"
|
|
libc = "0.2"
|
|
log = "0.4"
|
|
open = "1.2"
|
|
native-tls = "0.2"
|
|
palette = "0.4"
|
|
portable-pty = { path = "pty", features = ["serde_support"]}
|
|
promise = { path = "promise" }
|
|
ratelimit_meter = "4.1"
|
|
rayon = "1.0"
|
|
serde = {version="1.0", features = ["rc"]}
|
|
serde_derive = "1.0"
|
|
structopt = "0.2"
|
|
tabout = { path = "tabout" }
|
|
term = { path = "term" }
|
|
termwiz = { path = "termwiz"}
|
|
toml = "0.4"
|
|
unicode-normalization = "0.1"
|
|
unicode-width = "0.1"
|
|
varbincode = "0.1"
|
|
winit = "0.19"
|
|
zstd = "0.4"
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
mio = "0.6"
|
|
mio-extras = "2.0"
|
|
|
|
[dependencies.fontconfig]
|
|
optional = true
|
|
path = "deps/fontconfig"
|
|
|
|
[dependencies.openssl]
|
|
optional = true
|
|
version = "0.10"
|
|
|
|
[target.'cfg(not(windows))'.dependencies]
|
|
openssl = "0.10"
|
|
|
|
# on linux, font-loader pulls in servo-font* crates which conflict with
|
|
# our newer font related deps, so we avoid it on linux
|
|
[target.'cfg(any(windows, target_os = "macos"))'.dependencies]
|
|
font-loader = { version = "0.8" }
|
|
|
|
[target."cfg(windows)".dependencies]
|
|
shared_library = "0.1"
|
|
uds_windows = "0.1"
|
|
winapi = { version = "0.3", features = [
|
|
"winuser",
|
|
"consoleapi",
|
|
"handleapi",
|
|
"fileapi",
|
|
"namedpipeapi",
|
|
"synchapi",
|
|
"winsock2",
|
|
]}
|
|
|
|
[target.'cfg(any(target_os = "android", all(unix, not(target_os = "macos"))))'.dependencies]
|
|
egli = "0.4"
|
|
fontconfig = { path = "deps/fontconfig" }
|
|
x11 = {version ="2.18", features = ["xlib_xcb"]}
|
|
|
|
[target.'cfg(all(unix, not(target_os = "macos")))'.dependencies]
|
|
xcb = "0.8"
|
|
xcb-util = { features = [ "icccm", "ewmh", "keysyms", ], version = "0.2" }
|
|
xkbcommon = { version = "0.4", features = ["x11"] }
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
core-foundation = "0.6"
|
|
core-graphics = "0.17"
|
|
core-text = "13.2"
|
|
|
|
[features]
|
|
force-glutin = []
|
|
force-fontconfig = ["fontconfig"]
|
|
|
|
[patch.crates-io]
|
|
# This allows using the git version in the help output
|
|
structopt-derive = { git = "https://github.com/wez/structopt", branch="vergen" }
|
|
|
|
[workspace]
|
|
|
|
[profile.release]
|
|
debug = true
|