docs: the reading reaches back, and which frontends can

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-18 14:31:44 +09:00
parent 5d9a2a614e
commit cf0eba6642

View File

@@ -57,13 +57,23 @@ emoji's CLDR name and keywords in English, Korean and Japanese, and against
ASCII aliases such as `->` and `<=`. `Ctrl+H` takes the syllable being ASCII aliases such as `->` and `<=`. `Ctrl+H` takes the syllable being
composed as its query and composes on from it, converting a word as well as composed as its query and composes on from it, converting a word as well as
a syllable — 한자 gives 漢字, 대한민국 gives 大韓民國 — and `Esc` gives the a syllable — 한자 gives 漢字, 대한민국 gives 大韓民國 — and `Esc` gives the
syllable back. A reading is also the start of the longer words it begins, syllable back. A word is committed a syllable at a time, so the reading
whose conversions follow its own, so 대한 answers 大寒 first and 大韓民國 also reaches back into the text the application already holds, as far as
further down. A lone consonant is a reading too, and answers with the the dictionary knows the whole of it: type 한자 and then `Ctrl+H` and the
symbol table a Korean keyboard's 한자 key has always offered: ㅁ gives ※ ○ query is 한자, not 자, and picking 漢字 takes the 한 back. A reading is
△ ㈜, ㄴ the brackets 「」『』, ㄹ the units ℃ ㎏ , ㅇ the circled numbers also the start of the longer words it begins, whose conversions follow
①②③. Text already committed belongs to the application and cannot be its own, so 대한 answers 大寒 first and 大韓民國 further down. A lone
converted. consonant is a reading too, and answers with the symbol table a Korean
keyboard's 한자 key has always offered: ㅁ gives ※ ○ △ ㈜, ㄴ the brackets
「」『』, ㄹ the units ℃ ㎏ , ㅇ the circled numbers ①②③.
Reaching back needs the application to hand over the text around its
cursor and to take some of it away again. The Wayland input method, IBus
and the GTK 3 module all can; XIM has no such request, so there the
reading is what is still being composed and nothing else, and an IBus
client that reads a key's effects only after the call returns is not
asked for its text either, since a deletion could not be ordered before
the commit.
Dead keys and Compose sequences are composed by strans itself for the Dead keys and Compose sequences are composed by strans itself for the
Wayland, XIM and IBus frontends, from `XCOMPOSEFILE` or the locale; the Wayland, XIM and IBus frontends, from `XCOMPOSEFILE` or the locale; the
@@ -71,12 +81,12 @@ GTK 3 module leaves them to GtkIMContextSimple.
## Preedit and candidates ## Preedit and candidates
| Frontend | Preedit | Candidates | | Frontend | Preedit | Candidates | Reaches back |
| --- | --- | --- | | --- | --- | --- | --- |
| Wayland input method | inline in the client | popup | | Wayland input method | inline in the client | popup | yes |
| GTK 3 and IBus | inline in the client | popup | | GTK 3 and IBus | inline in the client | popup | yes |
| XIM PreeditCallbacks | inline through XIM callbacks | popup | | XIM PreeditCallbacks | inline through XIM callbacks | popup | no |
| XIM PreeditPosition, PreeditNothing | popup | popup | | XIM PreeditPosition, PreeditNothing | popup | popup | no |
On Wayland the popup is a surface the compositor places at the text cursor, On Wayland the popup is a surface the compositor places at the text cursor,
flipping it above the line when there is no room below. Elsewhere it is an flipping it above the line when there is no room below. Elsewhere it is an