rime / librime

Rime Input Method Engine, the core library
https://rime.im
BSD 3-Clause "New" or "Revised" License
3.36k stars 550 forks source link

A way to automatically display which schema is currently on? #938

Closed scorpjke closed 2 weeks ago

scorpjke commented 2 weeks ago

If there are many schemas, it's a big issue when you don't know which schema is currently on. So before starting typing, I want to see which schema is on, without clicking anything. Sure I could just click F4 and then Esc but that's inconvenient, it takes time. If we're talking about Windows, it could potentially be displayed in the language bar. Or, which would be even better, show it as a little message near or after the cursor. I considered writing a Lua script to display it as fake input after the cursor but I couldn't find a way to do it since Lua scripts always run as a callback to user input but the feature has to work with no user input.

lotem commented 2 weeks ago

Hello. How the information is displayed depends on the IME client app's UI design.

This project, rime/librime, is the back library of IME apps without mandating what the UI should be like; it exposes the information about current Rime schema via RimeApi::get_status API.

So technically the feature is supported by librime, and there are a few Rime clients already does it: ibus-rime displays the first character of the schema name in the language indicator; trime displays the name on the spacebar of the virtual keyboard.