From f918eabe6a144e78c62c3fc0cfa7fe32e4623e5a Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Wed, 4 Jun 2025 08:26:51 +0300 Subject: Implement xwayland-satellite integration --- src/utils/spawning.rs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/utils/spawning.rs') diff --git a/src/utils/spawning.rs b/src/utils/spawning.rs index 286df68f..0e118785 100644 --- a/src/utils/spawning.rs +++ b/src/utils/spawning.rs @@ -16,6 +16,7 @@ use crate::utils::expand_home; pub static REMOVE_ENV_RUST_BACKTRACE: AtomicBool = AtomicBool::new(false); pub static REMOVE_ENV_RUST_LIB_BACKTRACE: AtomicBool = AtomicBool::new(false); pub static CHILD_ENV: RwLock = RwLock::new(Environment(Vec::new())); +pub static CHILD_DISPLAY: RwLock> = RwLock::new(None); static ORIGINAL_NOFILE_RLIMIT_CUR: Atomic = Atomic::new(0); static ORIGINAL_NOFILE_RLIMIT_MAX: Atomic = Atomic::new(0); @@ -116,6 +117,14 @@ fn spawn_sync( process.env_remove("RUST_LIB_BACKTRACE"); } + // Set DISPLAY if needed. + let display = CHILD_DISPLAY.read().unwrap(); + if let Some(display) = &*display { + process.env("DISPLAY", display); + } else { + process.env_remove("DISPLAY"); + } + // Set configured environment. let env = CHILD_ENV.read().unwrap(); for var in &env.0 { -- cgit