Typing CJK punctuation such as `;` or `,` with fcitx5 in the Linux AppImage sent each character twice: WebKitGTK commits it as insertFromComposition + compositionend without compositionstart, so xterm's CompositionHelper finalized the previous composition's stale position and emitted a suffix. ImeCommitGate was meant to drop that second emission, but compositionStart() disabled it for the rest of the session and cancelled its rebase. The gate now works per commit: compositionstart stands down only for its own composition, every keydown 229 starts a fresh commit, and the textarea is rebased after each commit. A keydown the IME did not take (Enter, an arrow, a letter outside the IME) ends the open commit, so a key pressed right after a directly committed punctuation mark is not dropped by the commit's timeout. Closes #1230 Co-authored-by: devadapter <23102962+devadapter@users.noreply.github.com>
The IDE you know, rebuilt in Rust.
Download · Benchmark · Plugins · Discord
https://github.com/user-attachments/assets/234dd54c-1255-4b3a-b35c-533d78d737c0
OpenIDEA brings the IntelliJ IDEA way of working — its keymap, its tool windows, its search-everything habits — to a native app with a Rust core.
Editor, code insight, debugger, Git, terminal, database and HTTP clients, for 60+ languages. Builds for macOS, Windows and Linux.
Benchmark
Opening freqtrade (Python, ~770 files) with warm caches, median of 5 runs:
| OpenIDEA | IntelliJ IDEA 2026.2.3 | |
|---|---|---|
| Window with the project | 0.9 s | 3.1 s |
| Ready (CPU settled) | 1.1 s | 13.2 s |
| Memory (USS, all processes) | 169 MB | 2011 MB |
| CPU time until ready | 2.4 s | 47.9 s |
| Idle CPU | 4 % of a core | 7 % of a core |
| Quit | 0.3 s | 5.9 s |
A release build of OpenIDEA from main and IDEA with default settings and plugins, on
Windows 11, 32-core AMD, 62 GB RAM.
IDEA analyses Python more deeply, so "ready" doesn't mean the same work on
both sides. Both are measured from the outside, the same way: see
perf/compare to run it on your machine and projects.
Plugins
Plugins add actions, completion, quick fixes, tool windows, custom editors, themes, file icons and languages. They run as sandboxed WebAssembly components; themes, icon themes and languages need no code at all.
Install them from Settings › Plugins, or start your own with
openidea-plugin new — see Writing OpenIDEA plugins and
the official plugins. The plugin API is still a preview.
License
Apache 2.0. Bundled third-party assets are listed in THIRD_PARTY_LICENSES.md.
Not affiliated with JetBrains. IntelliJ IDEA is a trademark of JetBrains s.r.o.