Keyboard shortcut for layout switching works in Unity but not in Gnome-Flashback
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| | im-config (Ubuntu) |
High
|
Gunnar Hjalmarsson | ||
| | language-selector (Ubuntu) |
High
|
Gunnar Hjalmarsson | ||
Bug Description
My keyboard layout is "us,gr", and the new Gnome way to switch between them is by pressing "Super+Space".
This works fine in:
* Gnome-Flashback (Metacity) 14.04
* Unity 14.04
* Unity 15.10
It doesn't work in:
* Gnome-Flashback (Metacity) 15.10
I've tested with the 15.10 default (Unity) installation, selecting Greek language in ubiquity, and adding gnome-flashback after the installation.
Just for reference, here are my related gsettings:
$ gsettings list-recursively org.gnome.
org.gnome.
org.gnome.
org.gnome.
org.gnome.
org.gnome.
Related branches
| Alkis Georgopoulos (alkisg) wrote : | #1 |
| Launchpad Janitor (janitor) wrote : | #2 |
Status changed to 'Confirmed' because the bug affects multiple users.
| Changed in gnome-flashback (Ubuntu): | |
| status: | New → Confirmed |
| Changed in unity-settings-daemon (Ubuntu): | |
| status: | New → Confirmed |
| Alkis Georgopoulos (alkisg) wrote : | #4 |
The problem seems to be some incompatibility between ibus and gnome-flashback.
ibus doesn't cause problems in Unity but it does cause this problem in flashback.
A workaround for gnome-flashback would be to conflict with ibus until this is solved.
A workaround for users: in/etc/
IM_CONFIG_
to
IM_CONFIG_
This tells im-config not to load ibus.
If one reboots after that, keyboard switching again works (as good as it does in Unity, which still has issues, but they're not specific to flashback).
A debugging note. When I'm switching the keyboard layout, if I run:
$ dconf watch /
when ibus is not running, I see this:
/org/gnome/
uint32 1
and the indicator gets updated properly,
...but when ibus is running, I see this:
/desktop/
['xkb:gr::gre', 'xkb:us::eng']
...and the indicator is not updated with the newly switched layout.
| Gunnar Hjalmarsson (gunnarhj) wrote : | #5 |
Even if there is a workaround which involves im-config, this is not an im-config bug.
| Changed in im-config (Ubuntu): | |
| status: | New → Invalid |
| Alkis Georgopoulos (alkisg) wrote : | #6 |
Gunnar, one of the 3 problems here is that im-config starts ibus while it shouldn't.
We Greeks have no need for ibus, and
IM_CONFIG_
should understand that and act accordingly like im-switch did in the past.
In the past I've exchanged some emails with Osamu, the im-config Debian maintainer, and he told me to file a bug report for it.
Do you have some different information to mark this bug as invalid in that package?
If so, could you please explain why?
Thank you.
| Changed in im-config (Ubuntu): | |
| status: | Invalid → Confirmed |
| Gunnar Hjalmarsson (gunnarhj) wrote : | #7 |
How can you tell that im-config shouldn't start IBus? So you are Greek, and I'm Swedish, but AFAICT there is no way for im-config to know whether you or I want to be able to type Japanese or Hebrew. It's reasonable to expect that alternative desktop environments, which claim to work on Ubuntu, are compatible with IM frameworks such as IBus, fcitx, etc.
Did im-switch work differently in this respect? To be honest, I don't remember. I suspect that it was not the change from im-switch to im-config which caused this problem, but rather the integration of keyboard layouts and more complex input methods.
| Alkis Georgopoulos (alkisg) wrote : | #8 |
> How can you tell that im-config shouldn't start IBus?
Isn't that why system settings vs user settings exist?
For example, my /etc/default/
XKBLAYOUT="us,gr"
XKBOPTIONS=
Then for example Gnome puts those as the default layouts for my session. That's what 99% of the local users want.
It doesn't automatically include Swedish, Hebrew and all other possible layouts that I might need.
But if some person wants to type in Swedish, he can easily select that on a per-user basis from a menu or a configuration file.
Same for im-config, ibus, fcitx, there can be system defaults, and per user settings (and AFAIK there already are, the problem is that IM_CONFIG_
There's no point in millions of users worldwide running ibus without needing it just to avoid reading user settings.
> Did im-switch work differently in this respect? To be honest, I don't remember.
I'm certain that ibus was installed but not started for the Greek locale in previous Ubuntu versions. I haven't looked into im-switch more than that though.
After Wily is out (when hopefully I'll have some more free time), I'll install Debian in a VM and report it there as well, and link the bug # here.
I was just hoping to have a quicker fix, in any of the above packages, in time for Wily.
Thank you.
| Gunnar Hjalmarsson (gunnarhj) wrote : | #9 |
Hi again Alkis,
It just struck me that we had a patch in Ubuntu 13.10, which only used "auto" in case of Unity, and the "cjkv" mode for other desktops.
That patch was dropped in 14.04. It sounds to me as if you would like to see something similar be applied again.
| Alkis Georgopoulos (alkisg) wrote : | #10 |
Hi Gunnar,
that patch works lovely for me, I tried it in Wily beta 2 + updates in:
gnome-flashback
mate-desktop (running fcitx)
lubuntu (running fcitx)
...and it prohibited ibus and fcitx from running, solving the keyboard layout switching problems that they were causing (fcitx is causing a different problem, LP #1501832).
Is it possible to have Wily shipped with that patch included? Many many users will be grateful for that! :)
Thank you very much!
| Gunnar Hjalmarsson (gunnarhj) wrote : | #11 |
@Aron: What's your view on this?
| Launchpad Janitor (janitor) wrote : | #12 |
Status changed to 'Confirmed' because the bug affects multiple users.
| Changed in ibus (Ubuntu): | |
| status: | New → Confirmed |
| Martin Wimpress (flexiondotorg) wrote : | #13 |
I confirm that the patch referenced in #9 works on Ubuntu MATE 15.10 and resolves #1501832.
fcitx-bin has been added to the Ubuntu MATE to satisfy complex input requirements of CJKV users. Sadly, the inclusion of fcitx-bin make fcitx default and that breaks the input requirements for other users. The patch referenced in #9 seems like a good trade off to me.
| Aron Xu (happyaron) wrote : | #14 |
I believe it's the right thing to do for wily, please go ahead, :)
| Gunnar Hjalmarsson (gunnarhj) wrote : | #15 |
Ok, I wrote a patch. Please feel free to sponsor it, Aron. ;)
Given the new locale dependent configuration for the CJKV languages, I chose to use "xim" instead of "cjkv" in the patch. This way the variables don't end up empty.
I have also committed the corresponding changes to language-selector.
| tags: | added: patch |
| no longer affects: | gnome-flashback (Ubuntu) |
| no longer affects: | ibus (Ubuntu) |
| no longer affects: | unity-settings-daemon (Ubuntu) |
| Changed in im-config (Ubuntu): | |
| assignee: | nobody → Gunnar Hjalmarsson (gunnarhj) |
| importance: | Undecided → Medium |
| status: | Confirmed → In Progress |
| Changed in language-selector (Ubuntu): | |
| assignee: | nobody → Gunnar Hjalmarsson (gunnarhj) |
| importance: | Undecided → Medium |
| status: | New → Fix Committed |
| Alkis Georgopoulos (alkisg) wrote : | #16 |
1) It works fine for me with no regressions at all, thank you very much.
2) I just noticed that contrary to what I wrote in the bug title, ibus also breaks Unity, but only a little, so I hadn't noticed before.
It eats up the accent but only the first time that the user tries it. I.e.
";" + "a" = "ά"
...does work in Unity, but not the first time after the layout switch, where a play "α" is output.
3) About the "no longer affects: ibus, gnome-flashback" etc, I think that those were still valid, that the 1% of the Greeks or other locale users that need ibus or fcitx to type in hebrew etc, shouldn't have their local language broken.
But it's OK for me if we want to keep this one specific to im-config. Someone in that 1% can open another bug report.
Thanks again.
| Changed in im-config (Ubuntu): | |
| status: | In Progress → Fix Committed |
| Launchpad Janitor (janitor) wrote : | #17 |
This bug was fixed in the package im-config - 0.29-1ubuntu5
---------------
im-config (0.29-1ubuntu5) wily; urgency=medium
* Re-introduce 01_modify_
-- Aron Xu <email address hidden> Fri, 09 Oct 2015 19:17:34 +0800
| Changed in im-config (Ubuntu): | |
| status: | Fix Committed → Fix Released |
| Gunnar Hjalmarsson (gunnarhj) wrote : | #18 |
@Aron: Since you uploaded the old patch instead of the modified patch I prepared, there is now a discrepancy between im-config and language-
I tested with "cjkv" on my Unity system. All the variables are empty if not a CJKV locale, and it lead to a problem with Unity. Now this isn't intended for Unity, but "xim" appears to be a safer alternative to use when IBus is not set.
Comments?
| Launchpad Janitor (janitor) wrote : | #19 |
This bug was fixed in the package language-selector - 0.148
---------------
language-selector (0.148) wily; urgency=medium
* LanguageSelecto
Make "xim" (displayed as "none") the system default for non-CJKV
locales on non-Unity desktops (LP: #1481025).
* debian/control:
Bump version of the im-config dependency.
-- Gunnar Hjalmarsson <email address hidden> Thu, 08 Oct 2015 23:35:00 +0200
| Changed in language-selector (Ubuntu): | |
| status: | Fix Committed → Fix Released |
| Changed in im-config (Ubuntu): | |
| status: | Fix Released → In Progress |
| Changed in im-config (Ubuntu): | |
| status: | In Progress → Fix Committed |
| Launchpad Janitor (janitor) wrote : | #20 |
This bug was fixed in the package im-config - 0.29-1ubuntu6
---------------
im-config (0.29-1ubuntu6) wily; urgency=medium
* debian/
Make "xim" the system default for non-CJKV locales on non-Unity
desktops (LP: #1481025)
-- Gunnar Hjalmarsson <email address hidden> Mon, 12 Oct 2015 12:42:39 +0100
| Changed in im-config (Ubuntu): | |
| status: | Fix Committed → Fix Released |
According to this fix, every flavors must be "IM_CONFIG_
Is it intentional?
| Gunnar Hjalmarsson (gunnarhj) wrote : | #22 |
On 2015-10-14 15:49, Ikuya Awashiro wrote:
> According to this fix, every flavors must be
> "IM_CONFIG_
Yes. But please note that that variable is overridden by IM_CONFIG_
My Xubuntu 15.10 with latest updated does not start fcitx automatically.
But reverting to im-config 0.29-1ubuntu5, fcitx works great.
Maybe something is wrong.
| Gunnar Hjalmarsson (gunnarhj) wrote : | #24 |
Hi Ikuya,
Well, yes - I'm the one who is wrong. :( I jumped to conclusions as regards the meaning of the IM_CONFIG_
I have re-opened this bug, and attached a new patch for im-config, which replaces "xim" with "cjkv". Also language-selector needs to be changed. New versions of im-config and language-selector are available in a PPA:
https:/
Please feel free to test, but note that we are in a hurry; it needs to be fixed today.
| Changed in im-config (Ubuntu): | |
| importance: | Medium → High |
| status: | Fix Released → In Progress |
| Changed in language-selector (Ubuntu): | |
| importance: | Medium → High |
| status: | Fix Released → In Progress |
| Changed in im-config (Ubuntu): | |
| milestone: | none → ubuntu-15.10 |
| Changed in language-selector (Ubuntu): | |
| milestone: | none → ubuntu-15.10 |
| Changed in language-selector (Ubuntu): | |
| status: | In Progress → Fix Committed |
| Changed in im-config (Ubuntu): | |
| status: | In Progress → Fix Committed |
| Launchpad Janitor (janitor) wrote : | #25 |
This bug was fixed in the package im-config - 0.29-1ubuntu7
---------------
im-config (0.29-1ubuntu7) wily; urgency=medium
* debian/
Use "cjkv" instead of "xim" on non-Unity desktops (LP: #1481025).
-- Gunnar Hjalmarsson <email address hidden> Thu, 15 Oct 2015 04:08:00 +0200
| Changed in im-config (Ubuntu): | |
| status: | Fix Committed → Fix Released |
Hi Gunnar,
Packages which is in PPA work again for me.
Thanks!
| Launchpad Janitor (janitor) wrote : | #27 |
This bug was fixed in the package language-selector - 0.149
---------------
language-selector (0.149) wily; urgency=medium
* LanguageSelecto
Use "cjkv" instead of "xim" on non-Unity desktops (LP: #1481025).
* debian/control:
Bump version of the im-config dependency.
-- Gunnar Hjalmarsson <email address hidden> Thu, 15 Oct 2015 05:53:00 +0200
| Changed in language-selector (Ubuntu): | |
| status: | Fix Committed → Fix Released |
| Gunnar Hjalmarsson (gunnarhj) wrote : | #28 |
Thanks for confirming that, Ikuya. And now they are in the Ubuntu archive too. :)


If I change the layout switching combination
from the default ['<Super>space']
to something else like e.g. ['<Super>1'],
then it does work fine.
Maybe Super+Space is intercepted somewhere else?
I think I saw a commit a few months ago about intercepting some modifiers in the WM, maybe that's what broke it...