fdaea1ded6
- Fix boo#1073524: IBus does not work on Qt5 applicatin under Qt5 only environment * do not set QT_IM_MODULE=xim for Qt5 applications * use QT4_IM_MODULE for Qt4 applications OBS-URL: https://build.opensuse.org/request/show/558838 OBS-URL: https://build.opensuse.org/package/show/M17N/ibus?expand=0&rev=176
70 lines
2.1 KiB
Plaintext
70 lines
2.1 KiB
Plaintext
if ! type ibus-daemon > /dev/null 2>&1 ; then
|
|
echo "ibus is not available."
|
|
return 1
|
|
fi
|
|
|
|
# explicitly set below, as referred in xdg autostart
|
|
export INPUT_METHOD=ibus
|
|
|
|
case "$WINDOWMANAGER" in
|
|
# GNOME 3 Settings Daemon keyboard plugin manages all ibus settings itself,
|
|
# so don't do manual setup&startup of ibus otherwise it would conflict with
|
|
# G-S-D. see bnc#873016.
|
|
*gnome*)
|
|
SOURCES=$(gsettings get org.freedesktop.ibus.general preload-engines)
|
|
if [ "$SOURCES" == '@as []' ]; then
|
|
echo "initial GNOME startup, ibus default configuration applied"
|
|
ibus-daemon -d
|
|
timer=5
|
|
while [ "$SOURCES" == '@as []' ] && [ ${timer} -gt 0 ]; do
|
|
sleep 1
|
|
timer=$[${timer}-1]
|
|
SOURCES=$(gsettings get org.freedesktop.ibus.general preload-engines)
|
|
done
|
|
ibus exit
|
|
fi
|
|
# make sure G-S-D keyboard plugin is active
|
|
echo "ibus will be managed by GNOME."
|
|
gsettings set org.gnome.settings-daemon.plugins.keyboard active true
|
|
return 0
|
|
;;
|
|
esac
|
|
|
|
# Force OOo to use gtk-immodule
|
|
# Only libreoffice-gnome supports IM module
|
|
# To fix cursor following problem (on_the_spot), do not use libreoffice-kde4
|
|
if [ -e /usr/lib64/libreoffice/program/libvclplug_gtklo.so ] ||
|
|
[ -e /usr/lib/libreoffice/program/libvclplug_gtklo.so ] ||
|
|
[ -e /usr/lib64/libreoffice/program/libvclplug_gtk3lo.so ] ||
|
|
[ -e /usr/lib/libreoffice/program/libvclplug_gtk3lo.so ]; then
|
|
export OOO_FORCE_DESKTOP=gnome
|
|
else
|
|
echo "libreoffice-gnome is not found. For better IBus support, please install libreoffice-gnome"
|
|
fi
|
|
|
|
export LC_CTYPE=$LANG
|
|
export XMODIFIERS="@im=ibus"
|
|
export GTK_IM_MODULE=ibus
|
|
export QT_IM_SWITCHER=imsw-multi
|
|
# Qt5
|
|
export QT_IM_MODULE=ibus
|
|
# Qt4
|
|
if [ -e /usr/$SYS_LIB/qt4/plugins/inputmethods/libqtim-ibus.so ]; then
|
|
export QT4_IM_MODULE=ibus
|
|
else
|
|
export QT4_IM_MODULE=xim
|
|
fi
|
|
|
|
case "$WINDOWMANAGER" in
|
|
*kde*|*xfce*|*lxde*)
|
|
# started via xdg autostart
|
|
;;
|
|
*)
|
|
# FIXME: a little bit of delay is required to avoid race
|
|
(sleep 2; ibus-daemon --xim -d) &
|
|
;;
|
|
esac
|
|
|
|
# success:
|
|
return 0
|