- add a disabled-by-default word-to-character setting
- commit the first or last Han character with [ and ]
- use the highlighted candidate for punctuation commits
- preserve punctuation behavior when no Han character is available
- add exact-text commit IPC support and related tests
Replace DWM cloak with a themed splash overlay (spinner + copy) so the
window responds immediately while WebView2 loads. Align the overlay to
the host frame and apply the same system rounded corners.
- release the keyboard hook when voice input is disabled
- support RAlt, Ctrl+Win, RCtrl+RAlt, and Ctrl+F9 hotkeys
- make hold-hotkey + Space recording lock configurable
- reload hotkey settings without restarting the IME service
- prevent modifier shortcuts from causing sticky key states
- store optional toolbar component preferences in config.toml
- synchronize component settings with the settings application
- apply component visibility changes at runtime
- launch the screen keyboard from the floating toolbar
- resize the toolbar window based on visible components
- add independent theme settings for the emoji panel, on-screen keyboard,
handwriting panel, and voice input overlay
- support follow-global, dark, and light modes
- add light color palettes for each Direct2D interface
- load the shared theme configuration when standalone panels start
- reload the voice overlay theme before it is displayed
- expose the new theme options through the settings backend
Expose candidate font, size, text color, and page size settings through the config and WebView bridge. Limit selection digits to the configured page size and apply appearance updates to the live candidate window.
Add cpp-pinyin as a submodule to annotate hans-only word lists, insert them
into the quanpin dictionary, and clear the IME dict cache after successful writes.
Add dictionary import parsing for word/pinyin/weight lines, honor apostrophe
syllable splits, and notify the IME server to clear dict cache after writes.
Support tsf/sendinput/ctrl_v voice commit, route TSF inserts via worker
InsertText, handle WM_SYSKEYDOWN for Ctrl+Shift+Alt+digit candidate delete,
and skip watchdog when the IME profile is disabled.