Distinguish between input method "XIM" and "none"

Bug #1585797 reported by Gunnar Hjalmarsson on 2016-05-25
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
language-selector (Ubuntu)
Medium
Gunnar Hjalmarsson
Xenial
Medium
Gunnar Hjalmarsson

Bug Description

[Impact]

language-selector-gnome includes a GUI to configure the input method via im-config. Besides the installed IM frameworks (IBus, Fcitx, etc.) the IM selector shows a "none" option, which actually represents the value "xim". This was an intentional simplification, made under the assumption that "none" and "xim" are approximately the same. However, it has proven to be an oversimplification. For example there is a need sometimes to control whether the X11 compose keys should be active or not.

This SRU adds an explicit "XIM" option, and converts the "none" option to actually set "none".

A recent reason why an explicit "none" option is needed is Ubuntu MATE, which does not install any IM framework by default for non-CJKV users. Currently, when such a user opens Language Support for the first time, the input method selector shows a blank value. With this SRU it will correctly show "none".

[Test Case]

An example test case would be:

* Make a fresh install of Ubuntu MATE 16.04.
* Open Language Support and find that the input method value is blank.

[Regression Potential]

Low. This won't *change* the input method setting, but the currently set value will be showed more correctly in some cases.

Changed in language-selector (Ubuntu Xenial):
assignee: nobody → Gunnar Hjalmarsson (gunnarhj)
importance: Undecided → Medium
status: New → In Progress
Changed in language-selector (Ubuntu):
status: In Progress → Fix Committed
Brian Murray (brian-murray) wrote :

I don't know if the order of inputMethods matters, but none will always be at the end with the following change.

 35 def getAvailableInputMethods(self):
 36 - inputMethods = subprocess.check_output(['im-config', '-l']).decode().split()
 37 - return sorted(inputMethods)
 38 + inputMethods = sorted(subprocess.check_output(['im-config', '-l']).decode().split())
 39 + inputMethods.append('none')
 40 + return inputMethods

Changed in language-selector (Ubuntu Xenial):
status: In Progress → Fix Committed
tags: added: verification-needed

Hello Gunnar, or anyone else affected,

Accepted language-selector into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/language-selector/0.165.3 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Martin Wimpress (flexiondotorg) wrote :

I'm AFK for a bit over a week, will test then.

Gunnar Hjalmarsson (gunnarhj) wrote :

On 2016-05-27 00:45, Brian Murray wrote:
> I don't know if the order of inputMethods matters, but none will
> always be at the end with the following change.

It only affects the order in the GUI selector, and making "none" as the last showed item was intentional. (Could have been first instead... Matter of taste, I suppose.)

I installed language-selector-{common,gnome} 0.165.3 from xenial-proposed, and can confirm the desired change compared to the test case, i.e. the actually effective input method "none" is now showed by default on a non-CJKV installation of Ubuntu MATE, and "XIM" is available as a separate option.

@Martin: I tested on MATE. This is not only a MATE issue, but the combination of "auto" (due to the fix of bug #1550325) and the absence of IBus added that extra dimension.

tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package language-selector - 0.169

---------------
language-selector (0.169) yakkety; urgency=medium

  * LanguageSelector/gtk/GtkLanguageSelector.py,
    LanguageSelector/ImConfig.py:
    Add an explicit XIM input method option, and let "none" be truly
    "none" (and not "xim") to prevent confusion (LP: #1585797).

 -- Gunnar Hjalmarsson <email address hidden> Wed, 25 May 2016 23:06:00 +0200

Changed in language-selector (Ubuntu):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package language-selector - 0.165.3

---------------
language-selector (0.165.3) xenial; urgency=medium

  * LanguageSelector/gtk/GtkLanguageSelector.py,
    LanguageSelector/ImConfig.py:
    Add an explicit XIM input method option, and let "none" be truly
    "none" (and not "xim") to prevent confusion (LP: #1585797).

 -- Gunnar Hjalmarsson <email address hidden> Wed, 25 May 2016 23:09:00 +0200

Changed in language-selector (Ubuntu Xenial):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for language-selector has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers