[Bug 823202] Re: [Oneiric] ibus does not register as IM_MODULE in GTK, GTK_IM_MODULE is always "xim"

Steve Langasek steve.langasek at canonical.com
Sat Aug 20 17:41:26 UTC 2011


I've adjusted the patch slightly; your patch would leave GTK_IM_MODULE
unset if ibus-gtk3 is installed and ibus-gtk is not, but we want to set
it to xim in this case.

Thanks for helping to get this fixed!

** Changed in: ibus (Ubuntu)
       Status: Confirmed => Fix Committed

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/823202

Title:
  [Oneiric] ibus does not register as IM_MODULE in GTK, GTK_IM_MODULE is
  always "xim"

Status in “ibus” package in Ubuntu:
  Fix Committed

Bug description:
  In oneiric(GTK3) environments, environment variable "GTK_IM_MODULE"
  always set as "xim", not "ibus".

  [How to reproduce]
      0) install ibus, and/or clean install with any language that need IM subsystem(such as Japanese, Chinese, Korean, Frence..etc.).
      1) log-in Oneiric.
      2) variable GTK_IM_MODULE set as ibus.
         You will see in terminal:
         $ export | grep GTK_IM_MODULE

  [expect results]
      When we have /usr/lib/gtk-*.0/*/immodules/im-ibus.so(In Unity environment, that provide as default), using ibus (GTK_IM_MODULE=ibus)

  [actual results]
      always use xim (GTK_IM_MODULE=xim)

  [side effects by this problem]
      Some IM system needs "candidate" window, that layout by {xim, ibus} modules. 
      For historical/technical reason, XIM does not provide enough support about coordinating candidate window, as a result, candidate window show in inconsequence place.
        Good case(GTK_IM_MODULE=ibus) : https://launchpadlibrarian.net/76880967/01_ibus_valid.png 
        Bad case (GTK_IM_MODULE=xim)  : https://launchpadlibrarian.net/76881006/02_xim_invalid.png

      That breaks Desktop UX for.

  [analysis]

  That problem caused by /etc/X11/xinit/xinput.d/ibus .
  This scripts has bad glob coding as follows:

  -------------------------------------------------------
  $ cat /etc/X11/xinit/xinput.d/ibus
  (..snip..)
  if [ -e /usr/lib/gtk-*.0/*/immodules/im-ibus.so ]; then
      GTK_IM_MODULE=ibus
  else
      GTK_IM_MODULE=xim
  fi
  (..snip..)

  -------------------------------------------------------

  In GTK2/GTK3 dual-stack environments, this glob pattern matches two
  files(see below). test(1) does not support multiple operand, that will
  fail with error message "[: 7: /usr/lib/gtk-2.0/2.10.0/immodules/im-
  ibus.so: unexpected operator", and set GTK_IM_MODULE=xim.

  -------------------------------------------------------
  $ ls /usr/lib/gtk-*.0/*/immodules/im-ibus.so
  /usr/lib/gtk-2.0/2.10.0/immodules/im-ibus.so
  /usr/lib/gtk-3.0/3.0.0/immodules/im-ibus.so
  -------------------------------------------------------

  ProblemType: Bug
  DistroRelease: Ubuntu 11.10
  Package: ibus 1.3.9-2ubuntu2
  ProcVersionSignature: Ubuntu 3.0.0-8.10-generic-pae 3.0.1
  Uname: Linux 3.0.0-8-generic-pae i686
  Architecture: i386
  Date: Tue Aug  9 18:56:13 2011
  InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release i386 (20110427.1)
  ProcEnviron:
   LANGUAGE=ja:en
   PATH=(custom, user)
   LANG=ja_JP.UTF-8
   LC_MESSAGES=ja_JP.UTF-8
   SHELL=/bin/zsh
  SourcePackage: ibus
  UpgradeStatus: Upgraded to oneiric on 2011-08-09 (0 days ago)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/823202/+subscriptions



More information about the Ubuntu-sponsors mailing list