mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-04-05 07:15:30 -04:00
ime: move preedit state from terminal struct to the seat struct
This ensures different seat’s don’t step on each others IME pre-edit state. It also removes most dependencies on having a valid term pointer for many IME operations. We’re still not all the way, since we support disabling IME with a private mode, which is per terminal, not seat. Thus, we still require the seat to have keyboard focus on one of our windows. Closes #324. But note that *rendering* of multiple seat’s IME pre-edit strings is still broken.
This commit is contained in:
parent
eb3f9f14b0
commit
e8ffb05bc7
8 changed files with 178 additions and 136 deletions
|
|
@ -256,6 +256,15 @@ struct seat {
|
|||
int32_t cursor_begin;
|
||||
int32_t cursor_end;
|
||||
} pending;
|
||||
|
||||
wchar_t *text;
|
||||
struct cell *cells;
|
||||
int count;
|
||||
struct {
|
||||
bool hidden;
|
||||
int start; /* Cell index, inclusive */
|
||||
int end; /* Cell index, exclusive */
|
||||
} cursor;
|
||||
} preedit;
|
||||
|
||||
struct {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue