From c9baae7b3273c60bc24d3e6fec46dea376e7aaa7 Mon Sep 17 00:00:00 2001
From: Louis <contact@louiscap.co>
Date: Tue, 18 Feb 2025 08:23:01 +0000
Subject: [PATCH] Add feature flag for clipboard access

---
 Cargo.toml             | 4 +++-
 src/input/clipboard.rs | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/Cargo.toml b/Cargo.toml
index d7ad785..199438b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -11,8 +11,10 @@ keywords = ["bevy"]
 exclude = ["assets/*"]
 
 [features]
+default_features = ["clipboard"]
 ## For internal use only
 internal-debugging = ["bevy/track_change_detection"]
+clipboard = ["dep:arboard"]
 
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
@@ -39,7 +41,7 @@ sys-locale = "0.3.0"
 document-features = "0.2.8"
 
 [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
-arboard = "3.2.0"
+arboard = { version = "3.2.0", optional = true }
 
 [target.'cfg(target_arch = "wasm32")'.dependencies]
 js-sys = "0.3.70"
diff --git a/src/input/clipboard.rs b/src/input/clipboard.rs
index fbfe6a8..e9edb2b 100644
--- a/src/input/clipboard.rs
+++ b/src/input/clipboard.rs
@@ -54,7 +54,7 @@ pub(crate) fn kb_clipboard(
         let readonly = readonly_opt.is_some();
 
         let mut is_clipboard = false;
-        #[cfg(not(target_arch = "wasm32"))]
+        #[cfg(all(feature = "clipboard", not(target_arch = "wasm32")))]
         {
             if let Ok(mut clipboard) = arboard::Clipboard::new() {
                 if command && keys.just_pressed(KeyCode::KeyC) {
-- 
GitLab