fix: Forward wayland IME events in SCTK only when single-instance
Some checks failed
Audit / vulnerabilities (push) Has been cancelled
Test / all (ubuntu-latest, 1.88) (push) Has been cancelled
Build / todos_linux (push) Has been cancelled
Build / todos_windows (push) Has been cancelled
Build / todos_macos (push) Has been cancelled
Build / todos_raspberry (push) Has been cancelled
Check / wasm (push) Has been cancelled
Check / widget (push) Has been cancelled
Test / all (ubuntu-latest, beta) (push) Has been cancelled
Document / all (push) Has been cancelled
Format / all (push) Has been cancelled
Lint / all (push) Has been cancelled
Test / all (macOS-latest, 1.88) (push) Has been cancelled
Test / all (macOS-latest, beta) (push) Has been cancelled
Test / all (macOS-latest, stable) (push) Has been cancelled
Test / all (ubuntu-latest, stable) (push) Has been cancelled
Test / all (windows-latest, 1.88) (push) Has been cancelled
Test / all (windows-latest, beta) (push) Has been cancelled
Test / all (windows-latest, stable) (push) Has been cancelled

feature enabled
This commit is contained in:
KENZ 2026-04-18 13:23:01 +09:00 committed by Ashley Wulber
parent 8f10a3bd34
commit aa2a870c35
2 changed files with 6 additions and 0 deletions

View file

@ -37,6 +37,8 @@ cctk = [
"xkeysym", "xkeysym",
"dep:cctk", "dep:cctk",
] ]
# Prevents multiple separate process instances.
single-instance = []
[dependencies] [dependencies]

View file

@ -69,6 +69,10 @@ impl Dispatch<ZwpTextInputV3, (), SctkState> for TextInputManager {
_conn: &Connection, _conn: &Connection,
_qhandle: &QueueHandle<SctkState>, _qhandle: &QueueHandle<SctkState>,
) { ) {
if cfg!(not(feature = "single-instance")) {
return;
}
let kbd_focus = let kbd_focus =
match state.seats.iter_mut().find_map(|s| s.kbd_focus.clone()) { match state.seats.iter_mut().find_map(|s| s.kbd_focus.clone()) {
Some(surface) => surface, Some(surface) => surface,