1
0
mirror of https://github.com/emilk/egui.git synced 2026-09-02 06:40:06 -04:00

Fix clipboard on Wayland (#1613)

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.
This commit is contained in:
Antti Keränen
2022-05-16 17:37:41 +03:00
committed by GitHub
parent b008b147e5
commit b8a5924295
4 changed files with 140 additions and 10 deletions

View File

@@ -25,7 +25,7 @@ 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"]
clipboard = ["arboard", "smithay-clipboard"]
# enable opening links in a browser when an egui hyperlink is clicked.
links = ["webbrowser"]
@@ -55,3 +55,6 @@ 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 }