diff --git a/winit/Cargo.toml b/winit/Cargo.toml index 1208cc17..41e4a582 100644 --- a/winit/Cargo.toml +++ b/winit/Cargo.toml @@ -37,6 +37,8 @@ cctk = [ "xkeysym", "dep:cctk", ] +# Prevents multiple separate process instances. +single-instance = [] [dependencies] diff --git a/winit/src/platform_specific/wayland/handlers/text_input.rs b/winit/src/platform_specific/wayland/handlers/text_input.rs index bb0c38da..eb1ed596 100644 --- a/winit/src/platform_specific/wayland/handlers/text_input.rs +++ b/winit/src/platform_specific/wayland/handlers/text_input.rs @@ -69,6 +69,10 @@ impl Dispatch for TextInputManager { _conn: &Connection, _qhandle: &QueueHandle, ) { + if cfg!(not(feature = "single-instance")) { + return; + } + let kbd_focus = match state.seats.iter_mut().find_map(|s| s.kbd_focus.clone()) { Some(surface) => surface,