Conversation
Omarchy already runs fcitx5 in every session for the CapsLock compose sequences, so Korean was only ever an engine and a group entry away -- but reaching it meant installing fcitx5-hangul by hand and wiring it in through fcitx5-configtool, which the launcher hides. Setup > Input Method > Hangul (Korean) now installs fcitx5-hangul, restarts the supervised fcitx5 so it discovers the engine, and appends hangul to the current input method group over D-Bus, leaving any engine the user added earlier in place. fcitx5's stock trigger keys already include the Hangul keysym the 한/영 key emits, so no global config is written; Ctrl+Space covers keyboards without one. The manual covers the toggle and Hanja keys, the xkb options that put 한/영 and 한자 on Right Alt and Right Ctrl for keyboards without them, and the QWERTY layout Hangul needs on Dvorak or Colemak.
Runs the setup command, checks fcitx5-hangul is installed and registered with fcitx5, then types Dubeolsik g k s into a terminal and expects 한 back. Skips when the package is missing and no sudo password is provided, the way the sshd hardening exercise does.
This was referenced Sep 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Korean users land on an Omarchy that can't type Hangul. The pieces are all there — fcitx5 runs in every session for the CapsLock compose sequences, and
noto-fonts-cjkalready renders Korean — but getting from there to typing 한글 means knowing toomarchy pkg add fcitx5-hangul, then openingfcitx5-configtool(which the launcher hides) to add the engine to the input method group. Windows and macOS finish setup with a working Korean IME; this closes that gap in one step.What this does
omarchy-setup-input-hangul(omarchy setup input hangul) installsfcitx5-hangul, restarts the supervised fcitx5 so it discovers the new engine, waits for it to answer, and appendshangulto the current input method group over D-Bus (org.fcitx.Fcitx.Controller1InputMethodGroupInfo→SetInputMethodGroupInfo→Save). Existing engines stay in place, and a rerun is a no-op on the group. Without a desktop session it says so and exits 1 rather than touching anything.korean:ralt_hangul,korean:rctrl_hanjaxkb options for keyboards without dedicated keys, and the QWERTY layout Hangul needs on Dvorak or Colemak.test/shell.d/input-korean-test.shpins the exact D-Bus rewrite, idempotence, the stopped-fcitx5 failure path, and that the fcitx5 state probe stays out of the terminal;menu-test.shcovers the entry;test/acceptance.d/input-korean-test.shtypes Dubeolsikgksinto a terminal and expects한.What it deliberately doesn't do
Control+space,Zenkaku_HankakuandHangul(globalconfig.cpp), and xkb's sharedsymbols/pcmaps the 한/영 and 한자 keys toHangul/Hangul_Hanjaon every layout, so a Korean keyboard toggles out of the box andfcitx5-hangul's defaults (Dubeolsik, Hanja onHangul_Hanja/ F9) need nohangul.conf.--enable-wayland-imeis no longer needed: Chromium'skWaylandTextInputV3feature isENABLED_BY_DEFAULTandIsImeEnabled()returns true when it is on (ui_base_features.cc, wayland_input_method_context.cc), so the Chromium Omarchy ships already talks text-input-v3 to Hyprland and on to fcitx5. The Arch wiki guidance predates that change.This mirrors #9634 (one-step Japanese input) on purpose: same command shape, same D-Bus group rewrite, same
setup.input-methodparent, so both can land and the menu reads Input Method > Hangul (Korean) / Mozc (Japanese). If #9634 goes first, the only conflict is the identical parent line. One thing found here that applies there too: a barefcitx5-remote --checkprints the input state (2) on stdout once fcitx5 answers, so the readiness probe has to be silenced or the presentation terminal shows a stray digit.Verification
Run in an
archlinuxcontainer (bind-mounted checkout, bash 5.3, jq 1.8, node 26):test/shell.d/input-korean-test.shSetInputMethodGroupInfo ssa(ss) Default us 3 keyboard-us "" keyboard-de de hangul ""+Save; hangul already present → no rewrite; fcitx5 down → exit 1, no busctl>/dev/null 2>&1fails the suite with the stray2test/shell.d/menu-test.sh,menu-guards-test.sh./test/cliomarchy setup input hangul --helprenders)./test/shellpkg-add/busctl/fcitx5-remoteomarchy setup input hangulNot verified:
test/acceptance.d/input-korean-test.shneeds theomarchy-isoVM harness and was only syntax-checked; the full command against a live fcitx5 was exercised through stubs that answer with the real D-Bus shapes.