[FFe] Fcitx input method integration in Unity

Bug #1363150 reported by William Hua
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Indicator keyboard
New
Undecided
Unassigned
fcitx (Ubuntu)
Fix Released
Undecided
Unassigned
fcitx-qimpanel (Ubuntu)
Fix Released
Undecided
Unassigned
indicator-keyboard (Ubuntu)
Fix Released
Undecided
Unassigned
unity-control-center (Ubuntu)
Fix Released
Undecided
Unassigned
unity-settings-daemon (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Fcitx is being included in main, but Unity lacks support for it in various ways:

- The Text Entry panel in unity-control-center has no effect on Fcitx' engine list
- Per-window source options in Text Entry panel don't affect Fcitx
- Fcitx engines (specifically for keyboard layout) are not available under unity-greeter
- Fcitx indicator isn't available under the lock screen, only indicator-keyboard
- Keyboard layout switching shortcut behaviour provided by Unity and unity-settings-daemon doesn't change Fcitx' current IM
- Fcitx indicator is missing some options that are normally provided by indicator-keyboard
- Running indicator-keyboard and Fcitx concurrently is redundant as indicator-keyboard only works with Xkb layouts and IBus IMs

Some of the changes we need:

- Add support for Fcitx input sources to unity-settings-daemon, unity-control-center, indicator-keyboard
- Customize the Fcitx indicator under Unity to show some menu options that are available in indicator-keyboard (already merged upstream)
- Hide indicator-keyboard in the session when Fcitx' indicator is visible
- Add D-Bus property to Fcitx API for the current IM, so that we can detect when the user changes the current IM in the Fcitx indicator, and update the current input source accordingly (already merged upstream)
- Use indicator-keyboard icons for keyboard layouts in Fcitx and fcitx-qimpanel when running under Unity

We have a PPA that includes most of the proposed changes. It is available at https://launchpad.net/~fcitx-team/+archive/ubuntu/fcitx-transition. It does not hide indicator-keyboard in the session yet, as having both indicators visible is helpful for testing purposes.

Tags: patch

Related branches

William Hua (attente)
no longer affects: fcitx
Revision history for this message
William Hua (attente) wrote :
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "fcitx_4.2.8.4-4.debdiff" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

tags: added: patch
Revision history for this message
William Hua (attente) wrote :
Revision history for this message
William Hua (attente) wrote :

im-config was patched so that under Ubuntu, Fcitx would be prioritized over IBus. This was fine before because Fcitx wasn't a seeded package and installing Fcitx explicitly meant that you pretty much wanted it. But if Fcitx is seeded, this means that patch effectively makes Fcitx default, so we need to revert that behaviour.

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

On 2014-08-29 18:53, William Hua wrote:
> im-config was patched so that under Ubuntu, Fcitx would be prioritized
> over IBus.

Actually that code in debian/rules is included upstream. It's there for a reason - Ubuntu Kylin - and if it's going to be dropped, some other solution for Ubuntu Kylin must be in place first.

> This was fine before because Fcitx wasn't a seeded package
> and installing Fcitx explicitly meant that you pretty much wanted it.
> But if Fcitx is seeded, this means that patch effectively makes Fcitx
> default, so we need to revert that behaviour.

What would the point be with seeding Fcitx in distros where it's not supposed to be the default?

Revision history for this message
William Hua (attente) wrote :

> What would the point be with seeding Fcitx in distros where it's not supposed to be the default?

Gunnar, that's a good point. I didn't think that one through well enough... I'll delete the patch.

Revision history for this message
Aron Xu (happyaron) wrote :

I agree with Gunnar on im-config change; I talked to fcitx-qimpanel's maintainer and he is going to release a new version in next week, hopefully before Wednesday.

As for Fcitx, I see one of the two patches are applied upstream already, which I'm perfectly okay to upload, but have you tried to submit the other one, I think it will be fine for upstream since the patch is intended to functional for Unity only.

Revision history for this message
Ikuya Awashiro (ikuya-fruitsbasket) wrote :

We, Japanese loco team, release the own remix.
It makes Fcitx by default as same as Ubuntu Kylin.
I think Japanese users prefer to use Fcitx.
So im-config's modification is not good for us

William Hua (attente)
no longer affects: im-config (Ubuntu)
Aron Xu (happyaron)
Changed in fcitx-qimpanel (Ubuntu):
importance: Undecided → Medium
status: New → Fix Committed
importance: Medium → Undecided
status: Fix Committed → New
no longer affects: unity-settings-daemon
no longer affects: unity-control-center
Revision history for this message
Sebastien Bacher (seb128) wrote :

unsubscribing sponsor, the fcitx versions changed and the patches need to be updates, the merge requests don't need sponsors on the bug

Revision history for this message
William Hua (attente) wrote :

Resubscribing ubuntu-release.

Revision history for this message
Iain Lane (laney) wrote :

Is this request just about adding fcitx support to things? Does it do anything to the state of ibus support or is everything expected to work with both?

Are you planning on trying to have fcitx be included in Ubuntu desktop by default this cycle?

Revision history for this message
William Hua (attente) wrote :

Yes, this FFe is only for adding Fcitx support, which doesn't affect IBus support or the default input method framework.

The plan for the default seems to be switching it to Fcitx for Chinese users only, but only after a round of testing to see how it goes: http://irclogs.ubuntu.com/2015/02/12/#ubuntu-desktop.html

Revision history for this message
Iain Lane (laney) wrote : Re: [Bug 1363150] Re: [FFe] Fcitx input method integration in Unity

On Wed, Mar 04, 2015 at 01:16:29PM -0000, William Hua wrote:
> Yes, this FFe is only for adding Fcitx support, which doesn't affect
> IBus support or the default input method framework.
>
> The plan for the default seems to be switching it to Fcitx for Chinese
> users only, but only after a round of testing to see how it goes:
> http://irclogs.ubuntu.com/2015/02/12/#ubuntu-desktop.html

OK, go ahead.

--
Iain Lane [ <email address hidden> ]
Debian Developer [ <email address hidden> ]
Ubuntu Developer [ <email address hidden> ]

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity-settings-daemon - 15.04.1+15.04.20150310-0ubuntu1

---------------
unity-settings-daemon (15.04.1+15.04.20150310-0ubuntu1) vivid; urgency=medium

  [ William Hua ]
  * Basic Fcitx support. (LP: #1363150)
 -- CI Train Bot <email address hidden> Tue, 10 Mar 2015 17:22:52 +0000

Changed in unity-settings-daemon (Ubuntu):
status: New → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package indicator-keyboard - 0.0.0+15.04.20150310-0ubuntu1

---------------
indicator-keyboard (0.0.0+15.04.20150310-0ubuntu1) vivid; urgency=medium

  [ William Hua ]
  * Basic support for Fcitx input sources. (LP: #1363150)
 -- CI Train Bot <email address hidden> Tue, 10 Mar 2015 17:20:41 +0000

Changed in indicator-keyboard (Ubuntu):
status: New → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity-control-center - 15.04.0+15.04.20150310-0ubuntu1

---------------
unity-control-center (15.04.0+15.04.20150310-0ubuntu1) vivid; urgency=medium

  [ William Hua ]
  * Basic Fcitx support. (LP: #1363150)
 -- CI Train Bot <email address hidden> Tue, 10 Mar 2015 17:22:20 +0000

Changed in unity-control-center (Ubuntu):
status: New → Fix Released
Aron Xu (happyaron)
Changed in fcitx-qimpanel (Ubuntu):
status: New → Fix Released
Changed in fcitx (Ubuntu):
status: New → Fix Released
Revision history for this message
Benjamin Xiao (ben-r-xiao) wrote :

This might be off topic, but I think this update caused fcitx to be installed on my machine so I now have an indicator on my tray. Is this supposed to be the intended effect or can I safely remove it?

Revision history for this message
Benjamin Xiao (ben-r-xiao) wrote :

Update happened on my 15.04 install and that's when the fcitx indicator appeared, btw.

Revision history for this message
Iain Lane (laney) wrote :

On Thu, Mar 12, 2015 at 06:40:03AM -0000, Benjamin Xiao wrote:
> This might be off topic, but I think this update caused fcitx to be
> installed on my machine so I now have an indicator on my tray. Is this
> supposed to be the intended effect or can I safely remove it?

It's a bug, but should be filed separately. I filed it as bug #1431257.

--
Iain Lane [ <email address hidden> ]
Debian Developer [ <email address hidden> ]
Ubuntu Developer [ <email address hidden> ]

Revision history for this message
Benjamin Xiao (ben-r-xiao) wrote :

Thanks Iain!

Revision history for this message
dengkai (dengkai) wrote :

I hope this fix can be used in ubuntu 14.04 LTS soon.

Revision history for this message
Aron Xu (happyaron) wrote :

@dengkai, unfortunately it's not planed to back porting this feature to 14.04, but rather it's a piece of preparation work for next LTS.

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.