1
1
mirror of https://github.com/wez/wezterm.git synced 2024-11-28 01:06:37 +03:00
wezterm/Cargo.toml
Wez Furlong 4ef20480c5 wayland: implement clipboard
This was honestly a PITA because of its complexity.  The `clipboard`
crate (now dropped as a dep) didn't support wayland, so I looked at
the `smithay-clipboard` crate, which caused all of my input to become
laggy just by enabling it--even without actually copying or pasting!

Both of those crates try to hide a number of details of working with
the clipboard from the embedding application, but that works against
our window crate implementation, so I decided to integrate it into
the window crate using Futures so that the underlying IPC timing and
potential for the peer to flake out are not completely hidden.

This first commit removes the SystemClipboard type from wezterm
and instead bridges the window crate clipboard to the term crate
Clipboard concept.

The clipboard must be associated with a window in order to function
at all on Wayland, to we place the get/set operations in WindowOps.

This commit effectively breaks the keyboard on the other window
environments; will fix those up in follow on commits.
2019-11-29 12:17:52 -08:00

95 lines
2.1 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.3"
[dependencies]
base64 = "0.10"
base91 = { path = "base91" }
bitflags = "1.0"
crossbeam-channel = "0.3"
dirs = "1.0"
downcast-rs = "1.0"
euclid = "0.20"
filedescriptor = "0.5"
pretty_env_logger = "0.3"
failure = "0.1"
failure_derive = "0.1"
freetype = { path = "deps/freetype" }
image = "0.21"
harfbuzz = { path = "deps/harfbuzz" }
lazy_static = "1.3"
leb128 = "0.2"
libc = "0.2"
log = "0.4"
open = "1.2"
native-tls = "0.2"
notify = "4.0"
palette = "0.4"
portable-pty = { path = "pty", features = ["serde_support", "ssh"]}
promise = { path = "promise" }
ratelimit_meter = "5.0"
rayon = "1.0"
serde = {version="1.0", features = ["rc"]}
serde_derive = "1.0"
serial = "0.4"
ssh2 = "0.5"
structopt = "0.2"
tabout = { path = "tabout" }
term = { path = "term" }
termwiz = { path = "termwiz"}
toml = "0.4"
unicode-normalization = "0.1"
unicode-segmentation = "1.5"
unicode-width = "0.1"
varbincode = "0.1"
window = { path = "window", features=["opengl", "wayland"]}
zstd = "0.4"
[target.'cfg(unix)'.dependencies]
daemonize = "0.4"
# 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]
fontconfig = { path = "deps/fontconfig" }
[target.'cfg(all(unix, not(target_os = "macos")))'.dependencies]
openssl = "0.10"
[target.'cfg(target_os = "macos")'.dependencies]
openssl = { version = "0.10", features = ["vendored"] }
core-foundation = "0.7"
core-graphics = "0.19"
core-text = "15.0"
[workspace]
[profile.release]
debug = true
opt-level = 3