mirror of
https://github.com/wez/wezterm.git
synced 2024-11-27 12:23:46 +03:00
e090eb9eae
Continuing from the previous commit, this shifts: * In-memory data -> temporary file * Image decoding -> background thread The background thread asynchronously decodes frames and sends them to the render thread via a bounded channel. While decoding frames, it writes them, uncompressed, to a scratch file so that when the animation loops, it is a very cheap operation to rewind and pull that data from the file, without having to burn CPU to re-decode the data from the start. Memory usage is bounded to 4 uncompressed frames while decoding, then 3 uncompressed frames (triple buffered) while looping over the rest. However, disk usage is N uncompressed frames. refs: https://github.com/wez/wezterm/issues/3263
130 lines
3.7 KiB
TOML
130 lines
3.7 KiB
TOML
[package]
|
|
name = "wezterm-gui"
|
|
version = "0.1.0"
|
|
authors = ["Wez Furlong <wez@wezfurlong.org>"]
|
|
edition = "2018"
|
|
build = "build.rs"
|
|
resolver = "2"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[features]
|
|
default = ["vendored-fonts", "wayland"]
|
|
wayland = ["window/wayland"]
|
|
distro-defaults = ["config/distro-defaults"]
|
|
vendor-nerd-font-symbols-font = ["wezterm-font/vendor-nerd-font-symbols"]
|
|
vendor-jetbrains-font = ["wezterm-font/vendor-jetbrains"]
|
|
vendor-roboto-font = ["wezterm-font/vendor-roboto"]
|
|
vendor-noto-emoji-font = ["wezterm-font/vendor-noto-emoji"]
|
|
vendored-fonts = [
|
|
"vendor-nerd-font-symbols-font",
|
|
"vendor-jetbrains-font",
|
|
"vendor-roboto-font",
|
|
"vendor-noto-emoji-font"
|
|
]
|
|
dhat-heap = ["dhat"] # if you are doing heap profiling
|
|
dhat-ad-hoc = ["dhat"] # if you are doing ad hoc profiling
|
|
|
|
[build-dependencies]
|
|
anyhow = "1.0"
|
|
|
|
[target.'cfg(windows)'.build-dependencies]
|
|
embed-resource = "1.7"
|
|
cc = "1.0"
|
|
|
|
[dependencies]
|
|
anyhow = "1.0"
|
|
bitflags = "1.3"
|
|
bytemuck = { version="1.4", features=["derive"]}
|
|
chrono = {version="0.4", features=["unstable-locales"]}
|
|
clap = {version="4.0", features=["derive"]}
|
|
codec = { path = "../codec" }
|
|
colorgrad = "0.6"
|
|
config = { path = "../config" }
|
|
downcast-rs = "1.0"
|
|
dhat = {version="0.3", optional=true}
|
|
dirs-next = "2.0"
|
|
emojis = "0.5"
|
|
env-bootstrap = { path = "../env-bootstrap" }
|
|
euclid = "0.22"
|
|
fastrand = "1.6"
|
|
filedescriptor = { version="0.8", path = "../filedescriptor" }
|
|
finl_unicode = "1.2"
|
|
frecency = { path = "../frecency" }
|
|
futures = "0.3"
|
|
fuzzy-matcher = "0.3"
|
|
hdrhistogram = "7.1"
|
|
http_req = "0.9"
|
|
# we want image 0.24.6 or later. see https://github.com/wez/wezterm/issues/3250
|
|
image = {version="0.24", git="https://github.com/image-rs/image.git", rev="fe069785ae245a2c510fd724ef96da283b05a236"}
|
|
lazy_static = "1.4"
|
|
libc = "0.2"
|
|
lfucache = { path = "../lfucache" }
|
|
log = "0.4"
|
|
luahelper = { path = "../luahelper" }
|
|
metrics = { version="0.17", features=["std"]}
|
|
mlua = {version="0.8.3", features=["send"]}
|
|
mux = { path = "../mux" }
|
|
mux-lua = { path = "../lua-api-crates/mux" }
|
|
open = "4.0"
|
|
ordered-float = "3.0"
|
|
parking_lot = "0.12"
|
|
portable-pty = { path = "../pty", features = ["serde_support"]}
|
|
promise = { path = "../promise" }
|
|
pulldown-cmark = "0.9"
|
|
rangeset = { path = "../rangeset" }
|
|
ratelim= { path = "../ratelim" }
|
|
regex = "1"
|
|
serde = {version="1.0", features = ["rc", "derive"]}
|
|
serde_json = "1.0"
|
|
serial = "0.4"
|
|
shlex = "1.1"
|
|
smol = "1.2"
|
|
tabout = { path = "../tabout" }
|
|
tempfile = "3.4"
|
|
terminfo = "0.7"
|
|
termwiz = { path = "../termwiz" }
|
|
termwiz-funcs = { path = "../lua-api-crates/termwiz-funcs" }
|
|
textwrap = "0.16"
|
|
thiserror = "1.0"
|
|
tiny-skia = "0.8"
|
|
umask = { path = "../umask" }
|
|
unicode-normalization = "0.1"
|
|
unicode-segmentation = "1.8"
|
|
unicode-width = "0.1"
|
|
url = "2"
|
|
walkdir = "2"
|
|
wezterm-bidi = { path = "../bidi" }
|
|
wezterm-client = { path = "../wezterm-client" }
|
|
wezterm-dynamic = { path = "../wezterm-dynamic" }
|
|
wezterm-font = { path = "../wezterm-font" }
|
|
wezterm-gui-subcommands = { path = "../wezterm-gui-subcommands" }
|
|
wezterm-mux-server-impl = { path = "../wezterm-mux-server-impl" }
|
|
wezterm-ssh = { path = "../wezterm-ssh" }
|
|
wezterm-term = { path = "../term", features=["use_serde"] }
|
|
wezterm-toast-notification = { path = "../wezterm-toast-notification" }
|
|
wgpu = "0.15"
|
|
window = { path = "../window" }
|
|
window-funcs = { path = "../lua-api-crates/window-funcs" }
|
|
|
|
[target."cfg(windows)".dependencies]
|
|
shared_library = "0.1"
|
|
uds_windows = "1.0"
|
|
winapi = { version = "0.3", features = [
|
|
"winuser",
|
|
"consoleapi",
|
|
"handleapi",
|
|
"fileapi",
|
|
"namedpipeapi",
|
|
"synchapi",
|
|
"winsock2",
|
|
]}
|
|
windows = { version="0.33.0", features = [
|
|
"Win32_UI_Shell",
|
|
]}
|
|
|
|
[dev-dependencies]
|
|
k9 = "0.11.0"
|
|
env_logger = "0.10"
|
|
benchmarking = "0.4"
|