ibus/xim.d-ibus-121

67 lines
2.1 KiB
Plaintext
Raw Normal View History

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
if [ -e /usr/$SYS_LIB/qt4/plugins/inputmethods/libqtim-ibus.so ]; then
export QT_IM_MODULE=ibus
else
export QT_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