#!/bin/bash

# read the user (~/.i18n) or system-wide (/etc/sysconfig/i18n) i18n settings
. /etc/profile.d/10lang.sh

if [ -z "$XIM_PROGRAM" -a -z "$XIM" ]; then
    locale=C
    if [ ! -z "$LC_ALL" ]; then
	locale=$LC_ALL
    elif [ ! -z "$LC_CTYPE" ]; then
	locale=$LC_CTYPE
    elif [ ! -z "$LANG" ]; then
	locale=$LANG
    fi

    case $locale in
	ar*|en*|ja*|ko*|vi*|zh*)
	    export XIM=fcitx
	    ;;
	*)
	    export XIM=none
	    ;;
    esac
fi

if [ -z "$XIM_PROGRAM" ]; then
    case "$XIM" in
	fcitx)
	    export XIM_PROGRAM=fcitx
	    [ -z "$GTK_IM_MODULE" ] && export GTK_IM_MODULE=fcitx
	    [ -z "$QT_IM_MODULE" ] && export QT_IM_MODULE=fcitx
	    [ -z "$XMODIFIERS" ] && export XMODIFIERS="@im=fcitx"
	;;
	uim-*)
	    export XIM_PROGRAM=uim-xim
	;;
	kinput2)
	    export XIM_PROGRAM=kinput2
	;;
	*)
	    export XIM_PROGRAM=/bin/true
	;;
   esac
fi

[ -z "$XMODIFIERS" -a -n "$XIM" ] && export XMODIFIERS="@im=$XIM"

# fcitx autostarts through XDG mechanisms
if [ "$XIM" != "fcitx" ] && which $XIM_PROGRAM >/dev/null 2>/dev/null
then
    $XIM_PROGRAM $XIM_PROG_ARGS &
fi
