mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-04-05 07:15:30 -04:00
ime: add functions to enable/disable IME, simplify code that enables IME
We may want to be able to enable/disable IME run-time, even though we have received an ‘enter’ IME event. This enables us to do that. Also add functions to enable/disable IME on a per-terminal instance basis. A terminal may have multiple seats focusing it, and enabling/disabling IME in a terminal instance enables/disables IME on all those seats. Finally, the code to enable IME is simplified; the *only* surface that can ever receive ‘enter’ IME events is the main grid. All other surfaces are sub-surfaces, without their own keyboard focus.
This commit is contained in:
parent
5c17b7f8e7
commit
b59d695b2b
5 changed files with 122 additions and 48 deletions
|
|
@ -472,6 +472,7 @@ struct terminal {
|
|||
|
||||
#if defined(FOOT_IME_ENABLED) && FOOT_IME_ENABLED
|
||||
struct {
|
||||
bool enabled;
|
||||
struct {
|
||||
struct cell *cells;
|
||||
int count;
|
||||
|
|
@ -608,4 +609,7 @@ bool term_scrollback_to_text(
|
|||
bool term_view_to_text(
|
||||
const struct terminal *term, char **text, size_t *len);
|
||||
|
||||
void term_reset_ime(struct terminal *term);
|
||||
bool term_ime_is_enabled(const struct terminal *term);
|
||||
void term_ime_enable(struct terminal *term);
|
||||
void term_ime_disable(struct terminal *term);
|
||||
void term_ime_reset(struct terminal *term);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue