ime: fix initial cursor rectangle being reported as 0,0,0,0

Closes #1994
This commit is contained in:
Daniel Eklöf 2025-03-17 08:43:12 +01:00
parent eb9357709b
commit cd4ee8ae49
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 13 additions and 0 deletions

View file

@ -143,6 +143,8 @@
* Grapheme clustering state not reset on cursor movements. * Grapheme clustering state not reset on cursor movements.
* Kitty keyboard protocol: no release events emitted for composed * Kitty keyboard protocol: no release events emitted for composed
keys. keys.
* IME: the initial cursor position was reported as 0,0,0,0
([#1994][1994]).
[1918]: https://codeberg.org/dnkl/foot/issues/1918 [1918]: https://codeberg.org/dnkl/foot/issues/1918
[1929]: https://codeberg.org/dnkl/foot/issues/1929 [1929]: https://codeberg.org/dnkl/foot/issues/1929
@ -151,6 +153,7 @@
[1960]: https://codeberg.org/dnkl/foot/issues/1960 [1960]: https://codeberg.org/dnkl/foot/issues/1960
[1956]: https://codeberg.org/dnkl/foot/issues/1956 [1956]: https://codeberg.org/dnkl/foot/issues/1956
[1963]: https://codeberg.org/dnkl/foot/issues/1963 [1963]: https://codeberg.org/dnkl/foot/issues/1963
[1994]: https://codeberg.org/dnkl/foot/issues/1994
### Security ### Security

10
ime.c
View file

@ -68,6 +68,16 @@ enter(void *data, struct zwp_text_input_v3 *zwp_text_input_v3,
/* The main grid is the *only* input-receiving surface we have */ /* The main grid is the *only* input-receiving surface we have */
seat->ime_focus = term; seat->ime_focus = term;
const struct coord *cursor = &term->grid->cursor.point;
term_ime_set_cursor_rect(
term,
term->margins.left + cursor->col * term->cell_width,
term->margins.top + cursor->row * term->cell_height,
term->cell_width,
term->cell_height);
ime_enable(seat); ime_enable(seat);
} }