
arboard advertises that it works with Wayland, but in reality it only works with Wayland terminal applications. To make the clipboard work with applications that draw Wayland surfaces, arboard isn't going to work. Copypasta does support Wayland's graphical clipboard, but the usage isn't documented. However, for the reasons mentioned in #1474 the move from Copypasta to arboard makes sense. To resolve the issue, this commit brings in an optional dependency smithay-clipboard, that is a crate that correctly handles the Wayland clipboard in graphical applications. It is used by default if a Wayland window handle is found. If for some reason the handle to the Wayland window handle cannot be fetched, arboard is used as a backup.
60 lines
2 KiB
TOML
60 lines
2 KiB
TOML
[package]
|
|
name = "egui-winit"
|
|
version = "0.18.0"
|
|
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
|
|
description = "Bindings for using egui with winit"
|
|
edition = "2021"
|
|
rust-version = "1.60"
|
|
homepage = "https://github.com/emilk/egui/tree/master/egui-winit"
|
|
license = "MIT OR Apache-2.0"
|
|
readme = "README.md"
|
|
repository = "https://github.com/emilk/egui/tree/master/egui-winit"
|
|
categories = ["gui", "game-development"]
|
|
keywords = ["winit", "egui", "gui", "gamedev"]
|
|
include = ["../LICENSE-APACHE", "../LICENSE-MIT", "**/*.rs", "Cargo.toml"]
|
|
|
|
[package.metadata.docs.rs]
|
|
all-features = true
|
|
|
|
|
|
[features]
|
|
default = ["clipboard", "links"]
|
|
|
|
# implement bytemuck on most types.
|
|
bytemuck = ["egui/bytemuck"]
|
|
|
|
# enable cut/copy/paste to OS clipboard.
|
|
# if disabled a clipboard will be simulated so you can still copy/paste within the egui app.
|
|
clipboard = ["arboard", "smithay-clipboard"]
|
|
|
|
# enable opening links in a browser when an egui hyperlink is clicked.
|
|
links = ["webbrowser"]
|
|
|
|
# enable profiling with the puffin crate: https://github.com/EmbarkStudios/puffin
|
|
puffin = ["dep:puffin"]
|
|
|
|
# experimental support for a screen reader
|
|
screen_reader = ["tts"]
|
|
|
|
# to serialize `WindowSettings`
|
|
serde = ["egui/serde", "dep:serde"]
|
|
|
|
|
|
[dependencies]
|
|
egui = { version = "0.18.0", path = "../egui", default-features = false, features = [
|
|
"tracing",
|
|
] }
|
|
instant = { version = "0.1", features = ["wasm-bindgen"] } # We use instant so we can (maybe) compile for web
|
|
tracing = "0.1"
|
|
winit = "0.26.1"
|
|
|
|
arboard = { version = "2.1", optional = true, default-features = false }
|
|
puffin = { version = "0.13", optional = true }
|
|
serde = { version = "1.0", optional = true, features = ["derive"] }
|
|
webbrowser = { version = "0.7", optional = true }
|
|
|
|
# feature screen_reader
|
|
tts = { version = "0.20", optional = true } # stuck on old version due to compilation problems on linux
|
|
|
|
[target.'cfg(any(target_os="linux", target_os="dragonfly", target_os="freebsd", target_os="netbsd", target_os="openbsd"))'.dependencies]
|
|
smithay-clipboard = { version = "0.6.3", optional = true }
|