#!/bin/bash

# ------------------------------------------------------------
# setime-delete-old-settings ver.0.75
#
# 旧いバージョンの setime や Localization Manager (addlocale)
# によって記述された
# /usr/share/X11/xdm/Xsession やその他の設定を削除し、
# 現行のバージョンの setime による設定内容が正常に動作する様にする為の
# スクリプトです。
#
# setime パッケージのインストール後に、
# 再度 Localization Manager (addlocale) を実行したり、
# initscripts パッケージが更新された様な場合には、
# このスクリプトを実行してください。
# （root 権限で実行してください）
# ------------------------------------------------------------

# root 権限で実行しているかチェック
if [ $UID != 0 ]; then
  if [ $LANG = ja_JP.UTF-8 ]; then
    echo "root 権限で実行してください。"
  else
    echo "Please execute as root."
  fi
  exit 1
fi

# $GDM_LANG が設定されている環境でも常に /etc/sysconfig/i18n または
# ~/.i18n が読み込まれる様にする為に、/etc/profile.d/10lang.sh を、
# 修正を加えたものと入れ替える
mv -f /etc/profile.d/10lang.sh /etc/profile.d/10lang.sh.setime_backup_$(date +%Y%m%d%H%M)
cp -f /usr/share/setime/10lang.sh.setime /etc/profile.d/10lang.sh

# 現在の /usr/share/X11/xdm/Xsession をバックアップ
mv -f /usr/share/X11/xdm/Xsession /usr/share/X11/xdm/Xsession.setime_backup_$(date +%Y%m%d%H%M)

# 新規に /usr/share/X11/xdm/Xsession を作成
cat << EOF > /usr/share/X11/xdm/Xsession
#!/bin/bash -login

exec /etc/X11/Xsession \$*

# Xsession ends here
EOF
chmod a+x /usr/share/X11/xdm/Xsession


# /etc/xdg/autostart 下に存在する desktop ファイルを削除
for i in scim scim-bridge uim ibus;do
  [ -f "/etc/xdg/autostart/$i.desktop" ] && rm -f /etc/xdg/autostart/$i.desktop
done


# KDE用の scim 自動起動用ファイルを削除
INP1=".kde4/Autostart/startscim"
[ -f "/etc/skel/$INP1" ] && rm -f "/etc/skel/$INP1"
[ -f "/etc/skel_fm/$INP1" ] && rm -f "/etc/skel_fm/$INP1"
[ -f "/etc/skel_default/$INP1" ] && rm -f "/etc/skel_default/$INP1"
[ -f "/etc/skel-orig/$INP1" ] && rm -f "/etc/skel-orig/$INP1"
[ -f "/root/$INP1" ] && rm -f "/root/$INP1"


# 各ユーザー毎の設定を削除
SYSUSERS=`cat /etc/passwd | grep "/home/.*/bash" | grep "[0-9][0-9][0-9]" | cut -d: -f1`
for idx in ${SYSUSERS};do
  [ -f "/home/$idx/$INP1" ] && rm -f "/home/$idx/$INP1"

	for i in scim scim-bridge uim ibus;do
		[ -f "/home/$idx/.config/autostart/$i.desktop" ] && rm -f "/home/$idx/.config/autostart/$i.desktop"
	done

  for fn in xsession bash_profile;do
    if [ -f "/home/$idx/.$fn" ]; then
      for i in GTK_IM_MODULE QT_IM_MODULE XIM_PROGRAM XMODIFIERS;do
        sed -i "/$i/D" "/home/$idx/.$fn"
      done
      chown $idx.`id -gn $idx` "/home/$idx/.$fn"
    fi
  done
  [ -f "/home/$idx/.i18n" ] && rm -f /home/$idx/.i18n
done


# 終了メッセージ
if [ $LANG = ja_JP.UTF-8 ]; then
  echo "処理は正常に終了しました。"
else
  echo "Completed."
fi


exit 0
