Open Bug 699022 Opened 8 years ago Updated 3 months ago

linux input method over spot style not report the caret position correctly

Categories

(Core :: Widget: Gtk, defect, P3)

8 Branch
x86
Linux
defect

Tracking

()

UNCONFIRMED

People

(Reporter: dgod.osa, Unassigned)

Details

(Keywords: inputmethod, Whiteboard: tpi:+)

Attachments

(1 file)

User Agent: Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20100101 Firefox/8.0
Build ID: 20111101213509

Steps to reproduce:

with input method in overspot style
type in firefox


Actual results:

the input method's candidate window not move correctly


Expected results:

the input method's candidate window move correctly
the patch can work around the bug, but it should not be the real fix.
Component: General → Widget: Gtk
Product: Firefox → Core
QA Contact: general → gtk
Attachment #571311 - Attachment is patch: true
This bug bother me for many years.
It seem that Firefox doesn't tell input method the blink cursor (caret) position, 
thus the gtk window of input method (over the spot mode) can not appear aside the blink cursor (caret).
Please correct this bug.
Thank you.
Keywords: inputmethod
Priority: -- → P3
Whiteboard: tpi:+
To be more accurate, firefox does not report caret position (in the sense of window offset) when there is no preedit text. Regardless XIM or custom im module is being used.

I used to force fcitx to always use client side preedit in all input method, but the situation becomes worse since I added a feature to display the name of current input method when input method is triggered. Similar feature exists on pinyin input method for windows and works properly (Shows 中/英 when switch between English/Pinyin mode with shift).

The problem is firefox does not report the position caret of input method, this makes fcitx always display the window at wrong location ("last reported location of the caret"). The caret location is being updated regularly in any other program on linux, no matter user is composing text or not.
You need to log in before you can comment on or make changes to this bug.