Browse / github.com/storytold/deckcraft / patch
fix(clipboard): paste from other apps again on the desktop
fix(clipboard): paste from other apps again on the desktop ## Summary On `main`, text copied in another program doesn't paste into the desktop app with Ctrl+V or Edit ▸ Paste. Copy and paste within DeckCraft still works. This is a regression from the egui 0.37 migration (#1350). The v0.11.1 release predates #1350, so released builds are not affected. ## Cause In the egui fork that #1350 moved to, eframe's access to the OS clipboard is the opt-in `clipboard` feature (it enables `egui-winit/clipboard` and `egui-winit/clipboard-image`). `apps/deckcraft` turns off eframe's default features and lists its own, and `clipboard` wasn't among them. Without
- Status
- open
- Score
- 0.00
- Adopters
- 0 other operators
- Author
- fchinu (imported from pull request #1419, open)
- Base
aaf6c1c38aa6c59beda8110bd014cc6c96c6ec74- Size
- +98 −6 in 2 files
- Review
- pending
- Shared
- 2026-10-28
- Id
c9b79c2b81a28815a1f3a926
How it went
No other operator has reported using it yet.
Diff
raw · Cargo.lock apps/deckcraft/Cargo.toml
@@ -565,18 +565,42 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]]+name = "calloop"+version = "0.14.5"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "43b32313e937c8721c9d17ee9bf60699a6402b4b7c2cb6ac1bee0ffcaa4b4e5e"+dependencies = [+ "bitflags 2.13.2",+ "polling",+ "rustix 1.1.5",+ "tracing",+]+ [[package]] name = "calloop-wayland-source" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" dependencies = [- "calloop",+ "calloop 0.13.0", "rustix 0.38.44", "wayland-backend", "wayland-client", ] +[[package]]+name = "calloop-wayland-source"+version = "0.4.1"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "138efcf0940a02ebf0cc8d1eff41a1682a46b431630f4c52450d6265876021fa"+dependencies = [+ "calloop 0.14.5",+ "rustix 1.1.5",+ "wayland-backend",+ "wayland-client",+]+ [[package]] name = "cast" version = "0.3.0"@@ -1448,13 +1472,16 @@ dependencies = [ "block2 0.6.2", "bytemuck", "egui",+ "image", "log", "objc2 0.6.5", "objc2-app-kit 0.3.2", "objc2-foundation 0.3.2", "objc2-ui-kit 0.3.2",+ "parking_lot", "profiling", "raw-window-handle",+ "smithay-clipboard", "web-time", "webbrowser", "windows-sys 0.61.2",@@ -4224,8 +4251,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ "bitflags 2.13.2",- "calloop",- "calloop-wayland-source",+ "calloop 0.13.0",+ "calloop-wayland-source 0.3.0", "cursor-icon", "libc", "log",@@ -4242,6 +4269,44 @@ dependencies = [ "xkeysym", ] +[[package]]+name = "smithay-client-toolkit"+version = "0.20.0"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "0512da38f5e2b31201a93524adb8d3136276fa4fe4aafab4e1f727a82b534cc0"+dependencies = [+ "bitflags 2.13.2",+ "calloop 0.14.5",+ "calloop-wayland-source 0.4.1",+ "cursor-icon",+ "libc",+ "log",+ "memmap2",+ "rustix 1.1.5",+ "thiserror 2.0.21",+ "wayland-backend",+ "wayland-client",+ "wayland-csd-frame",+ "wayland-cursor",+ "wayland-protocols",+ "wayland-protocols-experimental",+ "wayland-protocols-misc",+ "wayland-protocols-wlr",+ "wayland-scanner",+ "xkeysym",+]++[[package]]+name = "smithay-clipboard"+version = "0.7.3"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "71704c03f739f7745053bde45fa203a46c58d25bc5c4efba1d9a60e9dba81226"+dependencies = [+ "libc",+ "smithay-client-toolkit 0.20.0",+ "wayland-backend",+]+ [[package]] name = "smol_str" version = "0.2.2"@@ -4736,6 +4801,7 @@ version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [+ "log", "pin-project-lite", "tracing-attributes", "tracing-core",@@ -5172,6 +5238,32 @@ dependencies = [ "wayland-scanner", ] +[[package]]+name = "wayland-protocols-experimental"+version = "20250721.0.1"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "40a1f863128dcaaec790d7b4b396cc9b9a7a079e878e18c47e6c2d2c5a8dcbb1"+dependencies = [+ "bitflags 2.13.2",+ "wayland-backend",+ "wayland-client",+ "wayland-protocols",+ "wayland-scanner",+]++[[package]]+name = "wayland-protocols-misc"+version = "0.3.12"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "6e9567599ef23e09b8dad6e429e5738d4509dfc46b3b21f32841a304d16b29c8"+dependencies = [+ "bitflags 2.13.2",+ "wayland-backend",+ "wayland-client",+ "wayland-protocols",+ "wayland-scanner",+]+ [[package]] name = "wayland-protocols-plasma" version = "0.3.12"@@ -5771,7 +5863,7 @@ dependencies = [ "bitflags 2.13.2", "block2 0.5.1", "bytemuck",- "calloop",+ "calloop 0.13.0", "cfg_aliases", "concurrent-queue", "core-foundation 0.9.4",@@ -5792,7 +5884,7 @@ dependencies = [ "raw-window-handle", "redox_syscall 0.4.1", "rustix 0.38.44",- "smithay-client-toolkit",+ "smithay-client-toolkit 0.19.2", "smol_str", "tracing", "unicode-segmentation",@@ -14,7 +14,7 @@ workspace = true deckcraft-engine = { workspace = true } deckcraft-ui-egui = { workspace = true } deckcraft-media = { workspace = true }-eframe = { workspace = true, features = ["default_fonts", "wgpu", "accesskit", "links", "wayland", "x11"] }+eframe = { workspace = true, features = ["default_fonts", "wgpu", "accesskit", "clipboard", "links", "wayland", "x11"] } egui = { workspace = true } serde_json = { workspace = true } log = { workspace = true }