Skip to content

fix(ime): the candidate window position of fcitx5 which does't work well with winit's set_ime_cursor_area()#3259

Open
kenz-gelsoft wants to merge 2 commits intoiced-rs:masterfrom
kenz-gelsoft:fix_linux_cand_pos
Open

fix(ime): the candidate window position of fcitx5 which does't work well with winit's set_ime_cursor_area()#3259
kenz-gelsoft wants to merge 2 commits intoiced-rs:masterfrom
kenz-gelsoft:fix_linux_cand_pos

Conversation

@kenz-gelsoft
Copy link
Copy Markdown
Contributor

@kenz-gelsoft kenz-gelsoft commented Feb 22, 2026

This is a workaround fix of #3258.

As I noted in #3258, this probably be a bug of the winit's Linux implmentation.

As I noted in #3258, this seems to be a bug of the fcitx5.

The fcitx5 is just one of the input method frontends on Linux, but it is the de-facto standard on desktop environments other than GNOME which is tightly integrated with the ibus.

This workaround won't break if they will fix their Linux fcitx5 implementation to handle the cursor area rectangle consistent with other platforms or the ibus. Because this change specifies zero height rect for Linux which is the left-top corner position (as they documented) == the bottom-left corner position (current actual behavior).

Before After
image image

@kenz-gelsoft
Copy link
Copy Markdown
Contributor Author

Closes #3258

@kenz-gelsoft
Copy link
Copy Markdown
Contributor Author

rebased on master to fix Document check

@kenz-gelsoft kenz-gelsoft changed the title Fix the IME's candidate window position on Linux (or other platforms) fix(ime): the candidate window position of fcitx5 which does't work well with winit's set_ime_cursor_area() Mar 29, 2026
@kenz-gelsoft
Copy link
Copy Markdown
Contributor Author

I changed this PR title and diff to match the PR that is merged in downstream(pop-os/iced).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant