Skip to content

Fix fcitx5 candidate selection commits - #6037

Open
itsXuSt wants to merge 2 commits into
xtermjs:masterfrom
itsXuSt:fix-fcitx5-candidate-commit
Open

Fix fcitx5 candidate selection commits#6037
itsXuSt wants to merge 2 commits into
xtermjs:masterfrom
itsXuSt:fix-fcitx5-candidate-commit

Conversation

@itsXuSt

@itsXuSt itsXuSt commented Jul 3, 2026

Copy link
Copy Markdown

Summary

  • defer Linux IME candidate selection keys so committed text can take precedence
  • prevent deferred candidate keys and delayed composition handling from duplicating input
  • track data already forwarded by input events in CompositionHelper

Fixes #6036

Validation

  • git diff --cached --check passed before commit
  • npm run lint-changes failed before linting changed files because the current oxlint configuration uses reserved JS plugin name eslint
  • npm run build failed due to missing existing addon dependencies/types: xterm-wasm-parts, sixel, opentype.js

@itsXuSt

itsXuSt commented Jul 3, 2026

Copy link
Copy Markdown
Author

Validated the updated approach against VS Code's bundled xterm.js on Linux with fcitx5 application preedit disabled. VS Code enables kitty keyboard protocol (useKitty: true), so the candidate-key defer path must still run with kitty enabled. A short keyup fallback delay was also needed so the IME input event can commit the selected candidate before the raw selection key is sent. The verified build preserves Chinese candidate commit for number/space selection in VS Code.

@itsXuSt
itsXuSt force-pushed the fix-fcitx5-candidate-commit branch from 5dc37ae to d3171fe Compare July 14, 2026 09:29
@itsXuSt
itsXuSt force-pushed the fix-fcitx5-candidate-commit branch from d3171fe to 18d0cf9 Compare July 28, 2026 12:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fcitx5 commits selection key instead of Chinese candidate when application preedit is disabled

1 participant