There're some inconvenience about IM in GNOME 3 GNOME 3 had integrated ibus as it's default method if you don't want to use ibus, you have to remove ibus but this may impossible in a multi-user system but if you don't remove ibus gnome-settings-daemon will force reset your QT_IM_MODULE and XMODIFIERS variables that cause can't input in QT-base applications and some legacy apps see my bug report: https://bugzilla.novell.com/show_bug.cgi?id=853063 I found an workaround but not sure how far this will effect need your help and opinion -- To unsubscribe, e-mail: opensuse-m17n+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-m17n+owner@opensuse.org
At Sat, 7 Dec 2013 20:32:52 +0800, Ray Chen wrote:
There're some inconvenience about IM in GNOME 3 GNOME 3 had integrated ibus as it's default method if you don't want to use ibus, you have to remove ibus but this may impossible in a multi-user system but if you don't remove ibus gnome-settings-daemon will force reset your QT_IM_MODULE and XMODIFIERS variables that cause can't input in QT-base applications and some legacy apps see my bug report: https://bugzilla.novell.com/show_bug.cgi?id=853063 I found an workaround but not sure how far this will effect need your help and opinion
Yeah, that's the only choice, I'm afraid. GNOME3 can't work cleanly with other input frameworks -- this is already a fact that was decided by GNOME developers years back. So, the cleanest option would be not to support GNOME as long as this decision is kept, but I don't think it's any practical option :) Hence a workaround like above shall be required more or less... That being said, if this won't break anything else than GNOME setting, I'm all for it. Go forth. It's much better than keeping broken. BTW, one can modify /etc/X11/xim instead of each /etc/X11/xim.d/*. From maintenance POV, this might be easier as you'd need to patch only one package. But it's still a bit hackish, in anyway. thanks, Takashi -- To unsubscribe, e-mail: opensuse-m17n+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-m17n+owner@opensuse.org
At Sat, 7 Dec 2013 20:32:52 +0800, Ray Chen wrote:
There're some inconvenience about IM in GNOME 3 GNOME 3 had integrated ibus as it's default method if you don't want to use ibus, you have to remove ibus but this may impossible in a multi-user system but if you don't remove ibus gnome-settings-daemon will force reset your QT_IM_MODULE and XMODIFIERS variables that cause can't input in QT-base applications and some legacy apps see my bug report: https://bugzilla.novell.com/show_bug.cgi?id=853063 I found an workaround but not sure how far this will effect need your help and opinion
Yeah, that's the only choice, I'm afraid.
GNOME3 can't work cleanly with other input frameworks -- this is already a fact that was decided by GNOME developers years back. So, the cleanest option would be not to support GNOME as long as this decision is kept, but I don't think it's any practical option :) Hence a workaround like above shall be required more or less...
That being said, if this won't break anything else than GNOME setting, I'm all for it. Go forth. It's much better than keeping broken.
BTW, one can modify /etc/X11/xim instead of each /etc/X11/xim.d/*. From maintenance POV, this might be easier as you'd need to patch only one package. But it's still a bit hackish, in anyway.
2013/12/9 Takashi Iwai
thanks,
Takashi
-- To unsubscribe, e-mail: opensuse-m17n+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-m17n+owner@opensuse.org
At Mon, 9 Dec 2013 17:23:11 +0800, Ray Chen wrote:
At Sat, 7 Dec 2013 20:32:52 +0800, Ray Chen wrote:
There're some inconvenience about IM in GNOME 3 GNOME 3 had integrated ibus as it's default method if you don't want to use ibus, you have to remove ibus but this may impossible in a multi-user system but if you don't remove ibus gnome-settings-daemon will force reset your QT_IM_MODULE and XMODIFIERS variables that cause can't input in QT-base applications and some legacy apps see my bug report: https://bugzilla.novell.com/show_bug.cgi?id=853063 I found an workaround but not sure how far this will effect need your help and opinion
Yeah, that's the only choice, I'm afraid.
GNOME3 can't work cleanly with other input frameworks -- this is already a fact that was decided by GNOME developers years back. So, the cleanest option would be not to support GNOME as long as this decision is kept, but I don't think it's any practical option :) Hence a workaround like above shall be required more or less...
That being said, if this won't break anything else than GNOME setting, I'm all for it. Go forth. It's much better than keeping broken.
BTW, one can modify /etc/X11/xim instead of each /etc/X11/xim.d/*. From maintenance POV, this might be easier as you'd need to patch only one package. But it's still a bit hackish, in anyway.
2013/12/9 Takashi Iwai
: the workaround needs to detect IM framework and windowmanager put it in each files seem more easy for me.
Might be. OTOH, avoiding patching multiple places is an advantage, especially if we may need to adjust the workarounds again in near future. Then you can avoid any inconsistencies between updated and not updated packages. An untested patch is below. thanks, Takashi --- xim.old 2013-12-09 10:35:34.079155241 +0100 +++ xim 2013-12-09 10:46:46.606210314 +0100 @@ -88,6 +88,24 @@ esac } +# workaround for bnc#853063 +# activate/deactivate g-s-d keyboard plugin depending on IM +gnome_ibus_workaround () { + local im=$1 + im=${im##*/} + im=${im#[0-9][0-9]-} + "$im" = "none" && return + if [ "${WINDOWMANAGER##*/}" = "gnome-session" ]; then + local active + if [ "$im" = "ibus" ]; then + active=true + else + active=false + fi + gsettings set org.gnome.settings-daemon.plugins.keyboard active $active + fi +} + # if gdm passes the language to Xsession, we should not override this # see http://bugzilla.novell.com/show_bug.cgi?id=440371 # The test for $GDM_LANG needs to be changed slightly as soon as other @@ -117,6 +135,7 @@ source /etc/X11/xim.d/$INPUT_METHOD if [ "$?" == "0" ]; then echo "Start of $INPUT_METHOD succeeded." + gnome_ibus_workaround $INPUT_METHOD return 0; else echo "Start of $INPUT_METHOD failed." @@ -151,6 +170,7 @@ source $im if [ "$?" == "0" ]; then echo "$im started sucessfully" + gnome_ibus_workaround $im return 0 else echo "$im failed" -- To unsubscribe, e-mail: opensuse-m17n+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-m17n+owner@opensuse.org
participants (2)
-
Ray Chen
-
Takashi Iwai