Bug 104299 - gtk2: kinput2 "enter" commit broken in gaim
gtk2: kinput2 "enter" commit broken in gaim
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: gaim (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Christopher Blizzard
:
Depends On:
Blocks: CambridgeTarget
  Show dependency treegraph
 
Reported: 2003-09-12 05:28 EDT by Warren Togami
Modified: 2007-11-30 17:10 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2003-10-24 11:27:58 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
proposed patch (616 bytes, patch)
2003-09-12 06:50 EDT, Akira TAGOH
no flags Details | Diff

  None (edit)
Description Warren Togami 2003-09-12 05:28:05 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030703

Description of problem:
gaim-0.6X Japanese characters looks great in Severn+, unfortunately kinput2
exhibits behavior making it almost unusable for Japanese users.    

* Normally you would send an instant messenge by hitting ENTER.
* kinput2 uses the ENTER key in order to "commit" characters.  Japanese users
hit the ENTER key, and nothing happens within gaim.
* CTRL-ENTER does "commit" characters, but almost nobody knows this since other
kinput2-capable applications do not need it.
* When you are done entering characters, if kinput2 is still active (user did
not disable with SHIFT-SPACE) the customary ENTER to send instant messenge does
nothing.  Customarily Japanese users rarely need to turn off kinput2.

ChipX86 of the gaim project mentioned that he talked with Owen Taylor about this
problem.  He mentioned that otaylor indicated that this problem is within gtk2,
and unfortunately it would be very difficult to fix because it would take a
large rewrite or refactoring to make it possible.  On a somewhat unrelated note,
I suspect this is the cause of similar unusability of gaim in Windows for
Japanese users.

Additionally all gtk2 applications suffer from an unrelated annoying behavior
described in Bug 84860 and Bug 84859 while qt applications do not have this problem.

Just filing this here and hoping gtk2 can be fixed one day.  For the moment I
cannot convince any of my Japanese friends to live on Linux.

Version-Release number of selected component (if applicable):
gtk2-2.2.3-1.1
Comment 1 Akira TAGOH 2003-09-12 05:58:42 EDT
This is actually gaim's bug, because gaim is going to send the messages if the
users are hitting ENTER. I'm not sure the author knows this issue, but gaim has
a workaound to fix this issue. it is the Interface->Shortcuts->Control-Enter
sends message on the preferences. it works to me.
To fix this issue correctly, gaim will needs to check
gtk_im_context_filter_keypress() when it receives the keyevent and keyval is
GDK_Return or GDK_KP_Enter then.
Comment 2 Akira TAGOH 2003-09-12 06:50:38 EDT
Created attachment 94440 [details]
proposed patch

I did a quick hack, and I've tested gaim with this patch. it works fine to me.
Comment 3 Warren Togami 2003-09-12 10:12:02 EDT
Thanks!  I asked gaim developers to regression test it to make sure it causes no
non-japanese problems, and I'm giving this to japanese users tonight for
thorough testing.
Comment 4 Ethan Blanton 2003-09-12 11:57:43 EDT
I am very aware of this problem, and have been since it was introduced
(0.60cvs).  Unfortunately, what I am _not_ aware of is a clean solution.  I
personally use the Ctrl+Enter-to-send method.  This has been in the gaim
bugtracker in several incarnations, and I have filed or posted to a couple of
related Gtk2 bugs for it.  (http://bugzilla.gnome.org/show_bug.cgi?id=90082 and
http://bugzilla.gnome.org/show_bug.cgi?id=119051)

The second bug there indicates that otaylor agrees with me that the patch
attached to this report, while seeming to work, is potentially problematic.

I would LOVE to come up with a clean and correct solution to this problem, it is
one of the longest-outstanding gaim international-usability bugs I am aware of.

Ethan
Comment 5 Akira TAGOH 2003-09-12 14:35:05 EDT
Hmm, yes, if GtkIMContext is designed as the applications doesn't need any extra
code perfectly, this patch is also just workaround, though.
Comment 6 Warren Togami 2003-09-14 05:18:11 EDT
Tested this workaround quite a bit with several users.  It seems to behave
exactly how I expect now.

Is the only concern that it is using a private gtk2 interface, which may
disappear at any time?

Ethan said this as the reason why he will not be committed to gaim upstream.  In
any case unless we discover that this breaks something, I am applying this to
Fedora Linux's gaim packages.
Comment 7 Warren Togami 2003-10-07 03:03:39 EDT
Please apply this to gaim-0.70.  This patch has been in fedora.us 0.68 and 0.70
for 20 days now with no ill effects.
Comment 8 Ethan Blanton 2003-10-07 08:56:48 EDT
"This seems to be working" != "This is good and correct", Warren.  As indicated
in the above referenced bugs, this is not a solution I am pleased with, and I do
not intend to apply it to gaim.
Comment 9 Warren Togami 2003-10-15 02:21:15 EDT
I was not referring to upstream gaim, I was referring to downstream Fedora Core
where we have a predictable gtk2 that wont change during a stable release and
break the underlying private interface which this depends upon.

Owen what would you recommend?
Comment 10 Christopher Blizzard 2003-10-24 11:27:58 EDT
After talking with owen about this, I've included this patch in 0.71-2.  Should
be in the next tree.
Comment 11 Warren Togami 2003-10-24 11:53:40 EDT
Woo!

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