# start uim
# vim: set sts=4 expandtab:

if [ "$IM_CONFIG_PHASE" = 2 ]; then
# start uim-xim daemon
if [ -x /usr/bin/uim-xim ]; then
    /usr/bin/uim-xim &
fi
# Starting GUI
if [ -x /usr/bin/uim-toolbar ]; then
    ( sleep 5 ; uim-toolbar ) &
elif [ -x /usr/bin/uim-toolbar-gtk3 ]; then
    ( sleep 5 ; uim-toolbar-gtk3 ) &
elif [ -x /usr/bin/uim-toolbar-gtk ]; then
    ( sleep 5 ; uim-toolbar-gtk ) &
elif [ -x /usr/bin/uim-toolbar-qt4 ]; then
    ( sleep 5 ; uim-toolbar-qt4 ) &
elif [ -x /usr/bin/uim-toolbar-qt5 ]; then
    ( sleep 5 ; uim-toolbar-qt5 ) &
fi

fi

if [ "$IM_CONFIG_PHASE" = 1 ]; then
# set variables for the plain XIM
XMODIFIERS=@im=uim

GTK_IM_MODULE=xim
# use immodule only when available for both GTK 2.0 and 3.0
IM_CONFIG_MARKER2=0
IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
        '/usr/lib/*/gtk-2.0/*/immodules/im-uim.so' \
        '/usr/lib/gtk-2.0/*/immodules/im-uim.so')"
if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
    IM_CONFIG_MARKER2=1
fi

IM_CONFIG_MARKER3=0
IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
        '/usr/lib/*/gtk-3.0/*/immodules/im-uim.so' \
        '/usr/lib/gtk-3.0/*/immodules/im-uim.so')"
if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
    IM_CONFIG_MARKER3=1
fi

if [ $IM_CONFIG_MARKER2 = 1 ] && [ $IM_CONFIG_MARKER3 = 1 ] ; then
    GTK_IM_MODULE=uim
fi


QT4_IM_MODULE=xim
# use immodule when available for Qt4
IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
        '/usr/lib/*/qt4/plugins/inputmethods/libuiminputcontextplugin.so' \
        '/usr/lib/qt4/plugins/inputmethods/libuiminputcontextplugin.so')"
if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
    QT4_IM_MODULE=uim
fi

QT_IM_MODULE=xim
# use immodule when available for Qt5
IM_CONFIG_MARKER="$(imconfig_find_files_with_prefixpath_glob /usr/lib \
        '/usr/lib/*/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so' \
        '/usr/lib/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so')"
if [ "x${IM_CONFIG_MARKER}" != "x" ]; then
    QT_IM_MODULE=uim
fi


CLUTTER_IM_MODULE=xim

fi
