Bug 461905 - ibus always sends XIM_FORWARD_EVENT with same_screen = False
ibus always sends XIM_FORWARD_EVENT with same_screen = False
Product: Fedora
Classification: Fedora
Component: ibus (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Peng Huang
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2008-09-11 06:23 EDT by Peng Huang
Modified: 2008-12-18 00:21 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-12-18 00:21:20 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Peng Huang 2008-09-11 06:23:59 EDT
Description of problem:
ibus can not work in xterm

Version-Release number of selected component (if applicable):
[phuang@localhost ~]$ rpm -q im-chooser
[phuang@localhost ~]$ rpm -q imsettings

How reproducible:

Steps to Reproduce:
1. select ibus in im-chooser
2. start xterm and typing
Actual results:
Did not get any chars in xterm.

Expected results:

Additional info:
If I starts xterm with 'XMODIFIERS="@im=ibus" xterm', xterm can works fine.
Comment 1 Akira TAGOH 2008-09-11 22:09:23 EDT
No XIM_FORWARD_EVENT sent back from ibus. I'll look into ibus.
Comment 2 Akira TAGOH 2008-09-25 04:59:34 EDT
The above comment is a side-effect, because the XIM_FORWARD_EVENT sent back is usually sent synchronously. so it was the second time event and ibus was just waiting for XIM_SYNC event.

Anyway, I have tracked down this issue. The real issue is that imsettings doesn't support any X events forwarded from the different screen yet, but ibus always sends back the X event without checking that, and set (XKeyEvent *)ev->same_screen to False. i.e. "xkp.xkey.same_screen = False" in _xim_forward_gdk_event in client/x11/main.c. this caused discarding the event in imsettings. I'm still not sure if just forwarding it as is really makes the expected behaviour and have never tested yet how the event is sent when inputing something from another screen. thus, I'd suggest to fix this in ibus as always sending same_screen = False is incorrect at least.
Comment 3 Akira TAGOH 2008-09-25 05:00:49 EDT
s/XIM_SYNC/XIM_SYNC_REPLY/, but anyway.
Comment 4 Peng Huang 2008-09-25 05:10:03 EDT
Setting same_screen = True works. Thanks.
Comment 5 Peng Huang 2008-10-15 22:52:49 EDT
Fixed in ibus-
Comment 6 Bug Zapper 2008-11-25 22:02:06 EST
This bug appears to have been reported against 'rawhide' during the Fedora 10 development cycle.
Changing version to '10'.

More information and reason for this action is here:
Comment 7 Jens Petersen 2008-12-18 00:21:20 EST
Looks fine to me now in f10.

Note You need to log in before you can comment on or make changes to this bug.