[1120] | 1 | #!/bin/bash |
---|
| 2 | # setime by Jun Nishii <jun@vinelinux.org> |
---|
| 3 | # Time-stamp: <2008-03-08 18:44:29 munepi> |
---|
| 4 | # |
---|
| 5 | # atok entry is by Takeshi Isobe <isobe@ps.namco.co.jp> |
---|
| 6 | |
---|
| 7 | . /usr/share/vine/functions |
---|
| 8 | |
---|
| 9 | ########## Messages ############################# |
---|
| 10 | |
---|
| 11 | ShowUsage_C() { |
---|
| 12 | cat <<EOF |
---|
[4143] | 13 | setime: Select your prefered Japanese input mothod. |
---|
[1120] | 14 | |
---|
[4143] | 15 | Usage: setime {ibus|scim|wnn8le|wnn8scim|wnn7xwnmo|wnn6xwnmo|atokx|atokx2|atokx3|vje|uim|none|status} |
---|
| 16 | |
---|
| 17 | ibus: set IBus as prefered input method and start ibus-daemon |
---|
| 18 | scim: set SCIM as prefered input method and start scim |
---|
[1120] | 19 | (scim-bridge-{gtk,qt} and scim is automarically selected) |
---|
[4143] | 20 | wnn8le: set Wnn8 as prefered input method and start wnn8le |
---|
| 21 | wnn8scim: set Wnn8 as prefered input method and start scim |
---|
| 22 | wnn7xwnmo: set Wnn7 as prefered input method and start xwnmo |
---|
| 23 | wnn6xwnmo: set Wnn6 as prefered input method and start xwnmo |
---|
| 24 | atokx: set Atok X as prefered input method |
---|
| 25 | atokx2: set "ATOK for Linux" as prefered input method |
---|
| 26 | atokx3: set "ATOK X3 for Linux" as prefered input method |
---|
| 27 | vje: set VJE-Delta as prefered input method and start vje |
---|
| 28 | skk: set SKK as prefered input method and start skkinput |
---|
| 29 | uim: set UIM as prefered input method and start uim-xim |
---|
| 30 | default: reset to default input method (ibus-daemon) |
---|
[1120] | 31 | none: do not use input method |
---|
| 32 | status: get information about current environment for Kanji input methods |
---|
| 33 | |
---|
| 34 | EOF |
---|
| 35 | } |
---|
| 36 | |
---|
| 37 | ShowUsage_ja() { |
---|
| 38 | cat <<EOF |
---|
[4143] | 39 | setime: 漢字変換システムの設定 |
---|
[1120] | 40 | |
---|
[4143] | 41 | 使用法: setime {ibus|scim|wnn8le|wnn8scim|wnn7xwnmo|wnn6xwnmo|atokx|atokx2|atokx3|vje|uim|none|status} |
---|
| 42 | |
---|
| 43 | ibus: IBus を選択し、ibus-daemon を起動します |
---|
| 44 | scim: SCIM を選択し、scim を起動します |
---|
[1120] | 45 | (scim-bridge-{gtk,qt} と scim は自動選択されます) |
---|
[4143] | 46 | wnn8le: Wnn8 を選択し、wnn8le を起動します |
---|
| 47 | wnn8scim: Wnn8 を選択し、scim を起動します |
---|
| 48 | wnn7xwnmo: Wnn7 を選択し、xwnmo を起動します |
---|
| 49 | wnn6xwnmo: Wnn6 を選択し、xwnmo を起動します |
---|
| 50 | atokx: Atok X を選択します |
---|
| 51 | atokx2: "ATOK for Linux" を選択します |
---|
| 52 | atokx3: "ATOK X3 for Linux" を選択します |
---|
| 53 | vje: VJE-Delta を選択し、vje を起動します |
---|
| 54 | skk: SKK を選択し、skkinput を起動します |
---|
| 55 | uim: UIM を選択し、uim-xim を起動します |
---|
| 56 | default: デフォルトの漢字変換システムにリセットします(ibus-daemon を起動) |
---|
[1120] | 57 | none: 漢字変換システムは用いない |
---|
| 58 | status: 現在のシステムにおける、漢字入力方法に関する情報を表示します |
---|
| 59 | |
---|
| 60 | EOF |
---|
| 61 | } |
---|
| 62 | |
---|
| 63 | IMEMsg_ja(){ |
---|
| 64 | cat <<EOF |
---|
| 65 | 環境変数は ~/.vine/system/ime もしくは /etc/sysconfig/ime で設定されています. |
---|
| 66 | EOF |
---|
| 67 | } |
---|
| 68 | |
---|
| 69 | IMEMsg_C(){ |
---|
| 70 | cat <<EOF |
---|
| 71 | The Environment Variables are set in ~/.vine/system/ime or /etc/sysconfig/ime. |
---|
| 72 | EOF |
---|
| 73 | } |
---|
| 74 | |
---|
| 75 | CurIMEMsg_ja(){ |
---|
| 76 | echo "[現在の漢字入力システム]" |
---|
| 77 | } |
---|
| 78 | |
---|
| 79 | CurIMEMsg_C(){ |
---|
| 80 | echo "[Current IME]" |
---|
| 81 | } |
---|
| 82 | |
---|
| 83 | PackageStatMsg_ja(){ |
---|
| 84 | echo "[パッケージのインストール状況]" |
---|
| 85 | } |
---|
| 86 | |
---|
| 87 | PackageStatMsg_C(){ |
---|
| 88 | echo "[Package status]" |
---|
| 89 | } |
---|
| 90 | |
---|
| 91 | EnvVarMsg_ja(){ |
---|
| 92 | echo "[環境変数]" |
---|
| 93 | } |
---|
| 94 | |
---|
| 95 | EnvVarMsg_C(){ |
---|
| 96 | echo "[Environment Variables]" |
---|
| 97 | } |
---|
| 98 | |
---|
| 99 | SettingIMMsg_ja(){ |
---|
| 100 | echo "$1 の設定を行います" |
---|
| 101 | } |
---|
| 102 | |
---|
| 103 | SettingIMMsg_C(){ |
---|
| 104 | echo "setting up $1..." |
---|
| 105 | } |
---|
| 106 | |
---|
| 107 | WnnNotAliveMsg_ja(){ |
---|
| 108 | cat <<EOF |
---|
| 109 | Wnn サーバが走ってません! |
---|
| 110 | Wnn サーバを起動して再挑戦してください! |
---|
| 111 | 終了します... |
---|
| 112 | EOF |
---|
| 113 | } |
---|
| 114 | |
---|
| 115 | WnnNotAliveMsg_C(){ |
---|
| 116 | cat <<EOF |
---|
| 117 | Wnn server is NOT running! |
---|
| 118 | Start Wnn server and try again! |
---|
| 119 | Aborted... |
---|
| 120 | EOF |
---|
| 121 | } |
---|
| 122 | |
---|
| 123 | AtokxNotAliveMsg_ja(){ |
---|
| 124 | cat <<EOF |
---|
| 125 | Atokx サーバが走ってません! |
---|
| 126 | Atokx サーバを起動して再挑戦してください! |
---|
| 127 | 終了します... |
---|
| 128 | EOF |
---|
| 129 | } |
---|
| 130 | |
---|
| 131 | AtokxNotAliveMsg_C(){ |
---|
| 132 | cat <<EOF |
---|
| 133 | Atokx server is NOT running! |
---|
| 134 | Start Atokx server and try again! |
---|
| 135 | Aborted... |
---|
| 136 | EOF |
---|
| 137 | } |
---|
| 138 | |
---|
| 139 | AtokX2NotAliveMsg_ja(){ |
---|
| 140 | cat <<EOF |
---|
| 141 | Atok X2 サーバが走ってません! |
---|
| 142 | Atok X2 サーバを起動して再挑戦してください! |
---|
| 143 | 終了します... |
---|
| 144 | EOF |
---|
| 145 | } |
---|
| 146 | |
---|
| 147 | AtokX2NotAliveMsg_C(){ |
---|
| 148 | cat <<EOF |
---|
| 149 | Atok X2 server is NOT running! |
---|
| 150 | Start Atok X2 server and try again! |
---|
| 151 | Aborted... |
---|
| 152 | EOF |
---|
| 153 | } |
---|
| 154 | |
---|
| 155 | VjeNotAliveMsg_ja(){ |
---|
| 156 | cat <<EOF |
---|
| 157 | VJE サーバが走っていません! |
---|
| 158 | VJE サーバを起動して再挑戦してください! |
---|
| 159 | 終了します... |
---|
| 160 | EOF |
---|
| 161 | } |
---|
| 162 | |
---|
| 163 | VjeNotAliveMsg_C(){ |
---|
| 164 | cat <<EOF |
---|
| 165 | VJE server is NOT running! |
---|
| 166 | Start VJE server and try again! |
---|
| 167 | Aborted... |
---|
| 168 | EOF |
---|
| 169 | } |
---|
| 170 | |
---|
| 171 | NoIMMsg_ja(){ |
---|
| 172 | cat <<EOF |
---|
| 173 | $1 が見つかりません... |
---|
| 174 | 設定を終了します. |
---|
| 175 | EOF |
---|
| 176 | } |
---|
| 177 | |
---|
| 178 | NoIMMsg_C(){ |
---|
| 179 | cat <<EOF |
---|
| 180 | not found $1... |
---|
| 181 | exit set up. |
---|
| 182 | EOF |
---|
| 183 | } |
---|
| 184 | |
---|
| 185 | ExitMsg_ja(){ |
---|
| 186 | echo "設定が完了しました." |
---|
| 187 | echo "設定は、新しく開くシェルから有効になります。" |
---|
| 188 | isXRunning && (echo "設定を全てのシェルで有効にするには、X window を再起動する必要があります.") |
---|
| 189 | } |
---|
| 190 | |
---|
| 191 | ExitMsg_C(){ |
---|
| 192 | echo "Configuration finished." |
---|
| 193 | echo "A new configuration is effective on new shells." |
---|
| 194 | isXRunning && (echo "To effect this configuration to all applications, You should restart X Window System.") |
---|
| 195 | } |
---|
| 196 | |
---|
| 197 | xwnmoWarning_ja(){ |
---|
| 198 | echo "[Warning!] xwnmo をデフォルトのインプットメソッドにすると," |
---|
| 199 | echo "[Warning!] X window がフリーズする場合があります.フリーズ" |
---|
| 200 | echo "[Warning!] したときには Ctrl-Alt-BackSpace で X window を" |
---|
| 201 | echo "[Warning!] 終了できます." |
---|
| 202 | echo "[Warning!] xwnmo を使いたいときには, X window の起動後に" |
---|
| 203 | echo "[Warning!] xwnmo の起動を行う方がトラブルが少ないようです" |
---|
| 204 | } |
---|
| 205 | |
---|
| 206 | xwnmoWarning_C(){ |
---|
| 207 | echo "[Warning!] Setting xwnmo as default xim is harmful." |
---|
[4143] | 208 | echo "[Warning!] I recommend to use kinput2 for default input methods." |
---|
[1120] | 209 | } |
---|
| 210 | |
---|
| 211 | Wnn8scimCreateDic_ja(){ |
---|
| 212 | echo "辞書を生成しますので,しばらくお待ち下さい......" |
---|
| 213 | } |
---|
| 214 | |
---|
| 215 | Wnn8scimCreateDic_C(){ |
---|
| 216 | echo "Now generating your dictionaries. Please wait for a little......" |
---|
| 217 | } |
---|
| 218 | |
---|
| 219 | ########## end of Messages #############################3 |
---|
| 220 | |
---|
| 221 | setLocale(){ |
---|
| 222 | case $LANG in |
---|
| 223 | ja*)LOCALE=ja ;; |
---|
| 224 | *) LOCALE=C ;; |
---|
| 225 | esac |
---|
| 226 | #isXRunning || LOCALE=C |
---|
| 227 | if [ ${TERM} = "linux" ]; then |
---|
| 228 | LOCALE=C |
---|
| 229 | fi |
---|
| 230 | } |
---|
| 231 | |
---|
| 232 | CheckOption() { |
---|
| 233 | if [ $# != 1 ] ; then |
---|
| 234 | eval ShowUsage_$LOCALE ${0##*/} |
---|
[4143] | 235 | return 1 |
---|
[1120] | 236 | fi |
---|
| 237 | return 0 |
---|
| 238 | } |
---|
| 239 | |
---|
| 240 | CheckXIMStatus() { |
---|
| 241 | case "$XIM_PROG" in |
---|
| 242 | atokx3* | Atokx3*) |
---|
| 243 | STATUS=atokx3 |
---|
| 244 | ;; |
---|
| 245 | atokx2* | Atokx2*) |
---|
| 246 | STATUS=atokx2 |
---|
| 247 | ;; |
---|
| 248 | atokx* | Atokx*) |
---|
| 249 | STATUS=atokx |
---|
| 250 | ;; |
---|
| 251 | vje*|VJE*) |
---|
| 252 | STATUS=vje |
---|
| 253 | ;; |
---|
| 254 | skk*|SKK*) |
---|
| 255 | STATUS=skk |
---|
| 256 | ;; |
---|
| 257 | uim*|UIM*|anthy*) |
---|
| 258 | STATUS=uim |
---|
| 259 | ;; |
---|
| 260 | scim*|SCIM*) |
---|
| 261 | STATUS=scim |
---|
| 262 | ;; |
---|
| 263 | ibus*|IBUS*) |
---|
| 264 | STATUS=ibus |
---|
| 265 | ;; |
---|
| 266 | No_IM) |
---|
| 267 | STATUS=No_IM |
---|
| 268 | ;; |
---|
| 269 | *) |
---|
| 270 | STATUS=unknown |
---|
[4143] | 271 | return 1 |
---|
[1120] | 272 | ;; |
---|
| 273 | esac |
---|
| 274 | return 0 |
---|
| 275 | } |
---|
| 276 | |
---|
| 277 | ShowIMEStatus() { |
---|
| 278 | |
---|
| 279 | WNN8RPM_S=wnn8-server |
---|
| 280 | WNN8RPM_C=wnn8-le |
---|
| 281 | WNN7RPM_S=wnn7-server |
---|
| 282 | WNN7RPM_C=wnn7-xclients |
---|
| 283 | WNN6RPM=wnn6 |
---|
| 284 | ATOKXRPM=atokx |
---|
| 285 | ATOKX2RPM=atokx |
---|
| 286 | ATOKX3RPM=atokx |
---|
| 287 | VJERPM=vje-delta |
---|
| 288 | ANTHYRPM=anthy |
---|
| 289 | UIMXIMRPM=uim-xim |
---|
| 290 | UIMRPM=uim |
---|
| 291 | SCIMRPM=scim |
---|
| 292 | SCIMBRIDGERPM=scim-bridge |
---|
| 293 | SCIMANTHYRPM=scim-anthy |
---|
| 294 | SCIMWNNRPM=scim-wnn |
---|
| 295 | IBUSRPM=ibus |
---|
| 296 | |
---|
| 297 | eval IMEMsg_$LOCALE |
---|
| 298 | cat<<EOF |
---|
| 299 | ----------------------------------------- |
---|
| 300 | `eval CurIMEMsg_${LOCALE}` |
---|
| 301 | ${STATUS} |
---|
| 302 | ----------------------------------------- |
---|
| 303 | `eval PackageStatMsg_${LOCALE}` |
---|
| 304 | [SCIM] `LANG=${LOCALE} LC_ALL=${LOCALE} rpm -q ${SCIMRPM} 2>&1` |
---|
| 305 | [SCIM-Bridge] `LANG=${LOCALE} LC_ALL=${LOCALE} rpm -q ${SCIMBRIDGERPM} 2>&1` |
---|
| 306 | [SCIM-Anthy] `LANG=${LOCALE} LC_ALL=${LOCALE} rpm -q ${SCIMANTHYRPM} 2>&1` |
---|
| 307 | [SCIM-Wnn] `LANG=${LOCALE} LC_ALL=${LOCALE} rpm -q ${SCIMWNNRPM} 2>&1` |
---|
| 308 | [Anthy] `LANG=${LOCALE} LC_ALL=${LOCALE} rpm -q ${ANTHYRPM} 2>&1` |
---|
| 309 | [UIM] `LANG=${LOCALE} LC_ALL=${LOCALE} rpm -q ${UIMRPM} 2>&1` |
---|
| 310 | [IBUS] `LANG=${LOCALE} LC_ALL=${LOCALE} rpm -q ${IBUSRPM} 2>&1` |
---|
| 311 | [Wnn8 server] `LANG=${LOCALE} LC_ALL=${LOCALE} rpm -q ${WNN8RPM_S} 2>&1` |
---|
| 312 | [Wnn8 client] `LANG=${LOCALE} LC_ALL=${LOCALE} rpm -q ${WNN8RPM_C} 2>&1` |
---|
| 313 | [Wnn7 server] `LANG=${LOCALE} LC_ALL=${LOCALE} rpm -q ${WNN7RPM_S} 2>&1` |
---|
| 314 | [Wnn7 client] `LANG=${LOCALE} LC_ALL=${LOCALE} rpm -q ${WNN7RPM_C} 2>&1` |
---|
| 315 | [Wnn6] `LANG=${LOCALE} LC_ALL=${LOCALE} rpm -q ${WNN6RPM} 2>&1` |
---|
| 316 | [Atokx] `LANG=${LOCALE} LC_ALL=${LOCALE} rpm -q ${ATOKXRPM} 2>&1` |
---|
| 317 | [AtokX2] `LANG=${LOCALE} LC_ALL=${LOCALE} rpm -q ${ATOKX2RPM} 2>&1` |
---|
| 318 | [AtokX3] `LANG=${LOCALE} LC_ALL=${LOCALE} rpm -q ${ATOKX3RPM} 2>&1` |
---|
| 319 | [VJE-Delta] `LANG=${LOCALE} LC_ALL=${LOCALE} rpm -q ${VJERPM} 2>&1` |
---|
| 320 | ----------------------------------------- |
---|
| 321 | `eval EnvVarMsg_${LOCALE}` |
---|
| 322 | EMACS_IME=${EMACS_IME} |
---|
| 323 | XIM_PROG=${XIM_PROG} |
---|
| 324 | CANNA_SERVER=${CANNA_SERVER} |
---|
| 325 | JSERVER=${JSERVER} |
---|
| 326 | WNN8_FRONT_END=${WNN8_FRONT_END} |
---|
| 327 | WNN7_FRONT_END=${WNN7_FRONT_END} |
---|
| 328 | WNN8_SERVER=${WNN8_SERVER} |
---|
| 329 | WNN7_SERVER=${WNN7_SERVER} |
---|
| 330 | WNN6_FRONT_END=${WNN6_FRONT_END} |
---|
| 331 | WNN6_SERVER=${WNN6_SERVER} |
---|
| 332 | GTK_IM_MODULE=${GTK_IM_MODULE} |
---|
| 333 | QT_IM_MODULE=${QT_IM_MODULE} |
---|
| 334 | ----------------------------------------- |
---|
| 335 | EOF |
---|
| 336 | } |
---|
| 337 | |
---|
| 338 | isWnnAlive(){ |
---|
| 339 | if [ -n "`wnnstat 2>/dev/null| grep wnnstat`" ]; then |
---|
| 340 | eval WnnNotAliveMsg_$LOCALE |
---|
[4143] | 341 | return 1 |
---|
[1120] | 342 | fi |
---|
| 343 | return 0 |
---|
| 344 | } |
---|
| 345 | |
---|
| 346 | isAtokxAlive(){ |
---|
| 347 | if ! (/sbin/pidof -s atokmngdaemon >& /dev/null); then |
---|
| 348 | eval AtokxNotAliveMsg_$LOCALE |
---|
[4143] | 349 | return 1 |
---|
[1120] | 350 | fi |
---|
| 351 | return 0 |
---|
| 352 | } |
---|
| 353 | |
---|
| 354 | isAtokX2Alive(){ |
---|
| 355 | if ! (/sbin/pidof -s atokx2mngdaemon >& /dev/null); then |
---|
| 356 | eval AtokX2NotAliveMsg_$LOCALE |
---|
[4143] | 357 | return 1 |
---|
[1120] | 358 | fi |
---|
| 359 | return 0 |
---|
| 360 | } |
---|
| 361 | |
---|
| 362 | isVjeAlive(){ |
---|
| 363 | if ! (/sbin/pidof -s vjed >& /dev/null) ; then |
---|
| 364 | eval VjeNotAliveMsg_$LOCALE |
---|
[4143] | 365 | return 1 |
---|
[1120] | 366 | fi |
---|
| 367 | return 0 |
---|
| 368 | } |
---|
| 369 | |
---|
| 370 | Wnn8Exists(){ |
---|
| 371 | |
---|
| 372 | if [ -f /usr/lib/wnn8/ja_JP/wnnenvrc ] \ |
---|
| 373 | && [ -x /usr/sbin/jserver ]; then |
---|
| 374 | return 0 |
---|
| 375 | else |
---|
[4143] | 376 | return 1 |
---|
[1120] | 377 | fi |
---|
| 378 | } |
---|
| 379 | |
---|
| 380 | Wnn7Exists(){ |
---|
| 381 | |
---|
| 382 | if [ -f /usr/lib/wnn7/ja_JP/wnnenvrc ] \ |
---|
| 383 | && [ -x /usr/sbin/jserver ]; then |
---|
| 384 | return 0 |
---|
| 385 | else |
---|
[4143] | 386 | return 1 |
---|
[1120] | 387 | fi |
---|
| 388 | } |
---|
| 389 | |
---|
| 390 | Wnn6Exists(){ |
---|
| 391 | |
---|
| 392 | #if [ -n "`rpm -q wnn6 2>/dev/null`" ]; then |
---|
| 393 | if [ -f /etc/wnn6/ja_JP/wnnenvrc -o -f /usr/local/lib/wnn6/ja_JP/wnnenvrc ] \ |
---|
| 394 | && [ -x /usr/sbin/jserver -o -x /usr/local/bin/jserver \ |
---|
| 395 | -o -x /usr/local/bin/Wnn6/jserver ]; then |
---|
| 396 | return 0 |
---|
| 397 | else |
---|
[4143] | 398 | return 1 |
---|
[1120] | 399 | fi |
---|
| 400 | } |
---|
| 401 | |
---|
| 402 | AtokX3Exists(){ |
---|
| 403 | if [ -f "/opt/atokx3/lib/client/atokx3auxd" ] ; then |
---|
| 404 | return 0 |
---|
| 405 | else |
---|
[4143] | 406 | return 1 |
---|
[1120] | 407 | fi |
---|
| 408 | } |
---|
| 409 | |
---|
| 410 | AtokX2Exists(){ |
---|
| 411 | if [ -f "/opt/atokx2/sbin/atokx2mngdaemon" ] ; then |
---|
| 412 | return 0 |
---|
| 413 | else |
---|
[4143] | 414 | return 1 |
---|
[1120] | 415 | fi |
---|
| 416 | } |
---|
| 417 | |
---|
| 418 | AtokxExists(){ |
---|
| 419 | if [ -f "/usr/lib/locale/ja/atokserver/atokmngdaemon" ] ; then |
---|
| 420 | return 0 |
---|
| 421 | else |
---|
[4143] | 422 | return 1 |
---|
[1120] | 423 | fi |
---|
| 424 | } |
---|
| 425 | |
---|
| 426 | startUimXim(){ |
---|
| 427 | if [ -z "`pidofmyproc uim-xim`" ] ; then |
---|
| 428 | uim-xim >& /dev/null & |
---|
| 429 | fi |
---|
| 430 | TK_KCPROTO=xim |
---|
| 431 | } |
---|
| 432 | |
---|
| 433 | startScim(){ |
---|
| 434 | if [ -z "`pidofmyproc scim-launcher`" ] ; then |
---|
| 435 | scim -d >& /dev/null |
---|
| 436 | fi |
---|
| 437 | TK_KCPROTO=xim |
---|
| 438 | } |
---|
| 439 | |
---|
| 440 | startIbus(){ |
---|
| 441 | if [ -z "`pidofmyproc ibus-daemon`" ] ; then |
---|
[1150] | 442 | ibus-daemon -d -x >& /dev/null |
---|
[1120] | 443 | fi |
---|
| 444 | TK_KCPROTO=xim |
---|
| 445 | } |
---|
| 446 | |
---|
| 447 | setSKK(){ |
---|
| 448 | XMODIFIERS="@im=skkinput" |
---|
| 449 | TK_KCPROTO=kinput2 |
---|
| 450 | checkStart skkinput |
---|
| 451 | return 0 |
---|
| 452 | } |
---|
| 453 | |
---|
| 454 | setUIM(){ |
---|
| 455 | startUimXim |
---|
| 456 | XMODIFIERS="@im=uim" |
---|
| 457 | GTK_IM_MODULE=uim |
---|
| 458 | QT_IM_MODULE=uim |
---|
| 459 | rpm -q --quiet uim-qt-immodule || QT_IM_MODULE=xim |
---|
| 460 | checkStart uim-xim |
---|
| 461 | return 0 |
---|
| 462 | } |
---|
| 463 | |
---|
| 464 | setSCIM() { |
---|
| 465 | XMODIFIERS="@im=SCIM" |
---|
| 466 | GTK_IM_MODULE=scim |
---|
| 467 | QT_IM_MODULE=xim |
---|
| 468 | rpm -q --quiet scim-bridge-gtk && GTK_IM_MODULE=scim-bridge |
---|
| 469 | rpm -q --quiet scim-qtimm && QT_IM_MODULE=scim |
---|
| 470 | rpm -q --quiet scim-bridge-qt && QT_IM_MODULE=scim-bridge |
---|
| 471 | rpm -q --quiet scim-bridge-qt4 && QT_IM_MODULE=scim-bridge |
---|
| 472 | export XMODIFIERS GTK_IM_MODULE QT_IM_MODULE |
---|
| 473 | startScim |
---|
| 474 | return 0 |
---|
| 475 | } |
---|
| 476 | |
---|
| 477 | setIBUS() { |
---|
| 478 | XMODIFIERS="@im=ibus" |
---|
| 479 | GTK_IM_MODULE=ibus |
---|
[1152] | 480 | QT_IM_MODULE=xim |
---|
| 481 | rpm -q --quiet ibus-el && EMACS_IME=ibus-el |
---|
| 482 | rpm -q --quiet ibus-qt && QT_IM_MODULE=ibus |
---|
| 483 | export XMODIFIERS GTK_IM_MODULE QT_IM_MODULE EMACS_IME |
---|
[1120] | 484 | startIbus |
---|
| 485 | return 0 |
---|
| 486 | } |
---|
| 487 | |
---|
| 488 | killXwnmo(){ |
---|
| 489 | if [ ! -z `pidofmyproc xwnmo` ]; then |
---|
| 490 | if [ -x /usr/local/bin/Wnn6/killxwnmo ] ; then |
---|
| 491 | /usr/local/bin/Wnn6/killxwnmo |
---|
| 492 | else |
---|
| 493 | killall xwnmo |
---|
| 494 | fi |
---|
| 495 | fi |
---|
| 496 | } |
---|
| 497 | |
---|
| 498 | killWnn8le(){ |
---|
| 499 | killall WnnPaletteAux >/dev/null 2>&1 |
---|
| 500 | killall httx >/dev/null 2>&1 |
---|
| 501 | killall WnnMsgDspAux >/dev/null 2>&1 |
---|
| 502 | } |
---|
| 503 | |
---|
| 504 | setWnn8(){ |
---|
[4143] | 505 | isWnnAlive || return 1 |
---|
[1120] | 506 | echo "WNN8_FRONT_END: " $WNN8_FRONT_END |
---|
| 507 | case "$WNN8_FRONT_END" in |
---|
| 508 | le) |
---|
| 509 | isXRunning && \ |
---|
| 510 | (if [ -f ${HOME}/.Xdefaults ]; then |
---|
| 511 | xrdb -merge ${HOME}/.Xdefaults |
---|
| 512 | elif [ -f ${HOME}/.Xresources ]; then |
---|
| 513 | xrdb -merge ${HOME}/.Xresources |
---|
| 514 | fi) \ |
---|
| 515 | && \ |
---|
| 516 | export XMODIFIERS=@im=htt; export HTT_DISABLE_STATUS_WINDOW=t; \ |
---|
| 517 | /usr/lib/im/httx -if Wnn8LE -lc_basiclocale ja_JP -xim htt_xbe & |
---|
| 518 | XMODIFIERS="@im=htt" |
---|
| 519 | HTT_DISABLE_STATUS_WINDOW=t |
---|
| 520 | GTK_IM_MODULE=xim |
---|
| 521 | QT_IM_MODULE=xim |
---|
| 522 | TK_KCPROTO=htt |
---|
| 523 | ;; |
---|
| 524 | scim) |
---|
| 525 | # ## check scim-wnn package |
---|
| 526 | # if ! [ -f "/usr/share/scim/icons/scim-wnn.png" ]; then |
---|
| 527 | # fi |
---|
| 528 | |
---|
| 529 | ## kill other frontends |
---|
| 530 | killXwnmo && killWnn8le |
---|
| 531 | |
---|
| 532 | ## start SCIM |
---|
| 533 | setSCIM |
---|
| 534 | |
---|
| 535 | ## generate basic user dictionaries for the first time |
---|
| 536 | ## Note: need wnn8-le |
---|
| 537 | if test ! -d /var/lib/wnn8/dic/usr/`whoami`/; then |
---|
| 538 | Wnn8scimCreateDic_$LOCALE |
---|
| 539 | /usr/lib/im/httx -if Wnn8LE -lc_basiclocale ja_JP -xim htt_xbe & |
---|
| 540 | while test ! -d /var/lib/wnn8/dic/usr/`whoami`/; |
---|
| 541 | do |
---|
| 542 | sleep 3 |
---|
| 543 | done |
---|
| 544 | killWnn8le |
---|
| 545 | fi |
---|
| 546 | ;; |
---|
| 547 | esac |
---|
| 548 | return 0 |
---|
| 549 | } |
---|
| 550 | |
---|
| 551 | setWnn7(){ |
---|
[4143] | 552 | isWnnAlive || return 1 |
---|
[1120] | 553 | echo "WNN7_FRONT_END: " $WNN7_FRONT_END |
---|
| 554 | case "$WNN7_FRONT_END" in |
---|
| 555 | xwnmo) |
---|
| 556 | XWNMO_PROG=/usr/X11R6/bin/xwnmo |
---|
| 557 | XWNMO_RPM=`rpm -q wnn7-xclients` |
---|
| 558 | case "$XWNMO_RPM" in |
---|
| 559 | wnn7-xclients-1.01-*) |
---|
| 560 | # 1.00 doesn't have --gtk_expose_patch option |
---|
| 561 | # 1.01 needs --gtk_expose_patch option for Vine's gtk+ |
---|
| 562 | # after 1.02 doesn't need --gtk_expose_patch option |
---|
| 563 | XWNMO_OPT=--gtk_expose_patch |
---|
| 564 | ;; |
---|
| 565 | wnn7-xclients-1.03-*) |
---|
| 566 | # 1.03 needs -map option for nautilus on Gnome2 |
---|
| 567 | # after 1.03(1.04 or 1.1?), unknown this requirements. |
---|
| 568 | XWNMO_OPT=-map |
---|
| 569 | ;; |
---|
| 570 | esac |
---|
| 571 | XWNMO_GEOM=1x1-0-48 |
---|
| 572 | isXRunning && (checkStart $XWNMO_PROG $XWNMO_OPT -D ${WNN7_SERVER:=localhost} -g $XWNMO_GEOM) && sleep 2 |
---|
| 573 | XMODIFIERS="@im=_XWNMO" |
---|
| 574 | GTK_IM_MODULE=xim |
---|
| 575 | QT_IM_MODULE=xim |
---|
| 576 | TK_KCPROTO=xim |
---|
| 577 | ;; |
---|
| 578 | esac |
---|
| 579 | return 0 |
---|
| 580 | } |
---|
| 581 | |
---|
| 582 | setWnn6(){ |
---|
[4143] | 583 | isWnnAlive || return 1 |
---|
[1120] | 584 | echo "WNN6_FRONT_END: " $WNN6_FRONT_END |
---|
| 585 | case "$WNN6_FRONT_END" in |
---|
| 586 | xwnmo) |
---|
| 587 | isXRunning || eval xwnmoWarning_$LOCALE |
---|
| 588 | |
---|
| 589 | if [ -x /usr/local/bin/Wnn6/xwnmo ] ; then |
---|
| 590 | XWNMO_PROG=/usr/local/bin/Wnn6/xwnmo |
---|
| 591 | else |
---|
| 592 | XWNMO_PROG=xwnmo |
---|
| 593 | fi |
---|
| 594 | isXRunning && (checkStart $XWNMO_PROG -D ${WNN6_SERVER:=localhost} &) |
---|
| 595 | XMODIFIERS="@im=_XWNMO" |
---|
| 596 | # XMODIFIERS="@im=kinput2" # needed for emacs |
---|
| 597 | GTK_IM_MODULE=xim |
---|
| 598 | QT_IM_MODULE=xim |
---|
| 599 | TK_KCPROTO=xim |
---|
| 600 | ;; |
---|
| 601 | esac |
---|
| 602 | return 0 |
---|
| 603 | } |
---|
| 604 | |
---|
| 605 | setAtokx(){ |
---|
[4143] | 606 | isAtokxAlive || return 1 |
---|
[1120] | 607 | export XMODIFIERS="@im=htt" |
---|
| 608 | export TK_KCPROTO=htt |
---|
| 609 | export HTT_DISABLE_STATUS_WINDOW=t |
---|
| 610 | export HTT_GENERATES_KANAKEY=t |
---|
| 611 | export HTT_USES_LINUX_XKEYSYM=t |
---|
| 612 | |
---|
| 613 | if [ -z "`ps xc | grep httx`" -a -n "$DISPLAY" ]; then |
---|
| 614 | |
---|
| 615 | if [ -f ${HOME}/.Xdefaults ]; then |
---|
| 616 | xrdb -merge ${HOME}/.Xdefaults |
---|
| 617 | fi |
---|
| 618 | if [ -f "/usr/lib/im/locale/ja/atokserver/shift_space" ]; then |
---|
| 619 | echo "*conversionOnKeys: Kanji Zenkaku_Hankaku <Shift>space" | /usr/X11R6/bin/xrdb -m |
---|
| 620 | else |
---|
| 621 | echo "*conversionOnKeys: Kanji Zenkaku_Hankaku <Ctrl>space" | /usr/X11R6/bin/xrdb -m |
---|
| 622 | fi |
---|
| 623 | LD_PRELOAD=/usr/X11R6/lib/libXi.so.6 /usr/lib/im/httx -if atok12 -lc_basiclocale ja_JP -xim htt_xbe & |
---|
| 624 | |
---|
| 625 | times=0 |
---|
| 626 | |
---|
| 627 | while : |
---|
| 628 | do |
---|
| 629 | if [ -n "`ps xc | grep LookupAux`" ]; then |
---|
| 630 | # sleep 1 |
---|
| 631 | break |
---|
| 632 | fi |
---|
| 633 | usleep 100000 |
---|
| 634 | times=$[$times+1] |
---|
| 635 | if [ $times -ge "30" ]; then |
---|
| 636 | break |
---|
| 637 | fi |
---|
| 638 | done |
---|
| 639 | |
---|
| 640 | fi |
---|
| 641 | |
---|
| 642 | return 0 |
---|
| 643 | } |
---|
| 644 | |
---|
| 645 | setAtokX2(){ |
---|
[4143] | 646 | isAtokX2Alive || return 1 |
---|
[1120] | 647 | export XMODIFIERS="@im=htt" |
---|
| 648 | export TK_KCPROTO=htt |
---|
| 649 | export HTT_DISABLE_STATUS_WINDOW=t |
---|
| 650 | export HTT_GENERATES_KANAKEY=t |
---|
| 651 | export HTT_USES_LINUX_XKEYSYM=t |
---|
| 652 | export GTK_IM_MODULE=iiim |
---|
| 653 | export QT_IM_MODULE=xim |
---|
| 654 | |
---|
| 655 | if [ -z "`ps xc | grep httx`" -a -n "$DISPLAY" ]; then |
---|
| 656 | |
---|
| 657 | if [ -f ${HOME}/.Xdefaults ]; then |
---|
| 658 | xrdb -merge ${HOME}/.Xdefaults |
---|
| 659 | fi |
---|
| 660 | /usr/lib/im/httx -if atokx2 -xim htt_xbe & |
---|
| 661 | |
---|
| 662 | fi |
---|
| 663 | |
---|
| 664 | return 0 |
---|
| 665 | } |
---|
| 666 | |
---|
| 667 | setAtokX3(){ |
---|
| 668 | export XMODIFIERS="@im=iiimx" |
---|
| 669 | export HTT_DISABLE_STATUS_WINDOW=t |
---|
| 670 | export HTT_GENERATES_KANAKEY=t |
---|
| 671 | export HTT_USES_LINUX_XKEYSYM=t |
---|
| 672 | export HTT_IGNORES_LOCK_MASK=t |
---|
| 673 | export JS_FEEDBACK_CONVERT=t |
---|
| 674 | export GTK_IM_MODULE=iiim |
---|
| 675 | export QT_IM_MODULE=xim |
---|
| 676 | |
---|
| 677 | if [ -z "`ps xc | grep iiimx`" -a -n "$DISPLAY" ]; then |
---|
| 678 | |
---|
| 679 | if [ -f ${HOME}/.Xdefaults ]; then |
---|
| 680 | xrdb -merge ${HOME}/.Xdefaults |
---|
| 681 | fi |
---|
| 682 | /usr/bin/iiimx -iiimd |
---|
| 683 | |
---|
| 684 | fi |
---|
| 685 | |
---|
| 686 | return 0 |
---|
| 687 | } |
---|
| 688 | |
---|
| 689 | setVje(){ |
---|
[4143] | 690 | isVjeAlive || return 1 |
---|
[1120] | 691 | XMODIFIERS="@im=vje" |
---|
| 692 | GTK_IM_MODULE=xim |
---|
| 693 | QAT_IM_MODULE=xim |
---|
| 694 | echo "Emacs*useXim: true" | /usr/X11R6/bin/xrdb -m |
---|
| 695 | echo "Emacs*useXIM: true" | /usr/X11R6/bin/xrdb -m |
---|
| 696 | times=0 |
---|
| 697 | ( while : |
---|
| 698 | do |
---|
| 699 | if [ $(ps xc | grep nautilus | wc -l) -ge "2" ]; then |
---|
| 700 | sleep 2 |
---|
| 701 | break |
---|
| 702 | fi |
---|
| 703 | sleep 1 |
---|
| 704 | times=$[$times+1] |
---|
| 705 | if [ $times -ge "10" ]; then |
---|
| 706 | break |
---|
| 707 | fi |
---|
| 708 | done && PATH=$PATH:/usr/sbin vje ) & |
---|
| 709 | return 0 |
---|
| 710 | } |
---|
| 711 | |
---|
| 712 | setNone(){ |
---|
| 713 | return 0 |
---|
| 714 | } |
---|
| 715 | |
---|
| 716 | setIME(){ |
---|
| 717 | |
---|
| 718 | SYSIME=/etc/sysconfig/ime |
---|
| 719 | USERIMEDIR=$HOME/.vine/system/ |
---|
| 720 | USERIME=${USERIMEDIR}/ime |
---|
| 721 | |
---|
| 722 | source ${SYSIME} |
---|
| 723 | [ -f ${USERIME} ] && source ${USERIME} |
---|
| 724 | |
---|
| 725 | #echo ${XIM_PROG} |
---|
| 726 | if [ "$1" = "default" ]; then |
---|
[4143] | 727 | TARGET=${XIM_PROG:-ibus} |
---|
[1120] | 728 | FE=${WNN6_FRONT_END} |
---|
| 729 | else |
---|
| 730 | TARGET=$1 |
---|
| 731 | fi |
---|
| 732 | |
---|
| 733 | case "$TARGET" in |
---|
| 734 | wnn8) |
---|
| 735 | eval SettingIMMsg_$LOCALE wnn8 |
---|
| 736 | WNNTAG=wnn8 |
---|
| 737 | EMACS_IME=wnn8 |
---|
| 738 | XIM_PROG=wnn8 |
---|
| 739 | WNN8_FRONT_END=${FE:=le} |
---|
| 740 | setWnn8 ;; |
---|
| 741 | wnn7) |
---|
| 742 | eval SettingIMMsg_$LOCALE wnn7 |
---|
| 743 | WNNTAG=wnn7 |
---|
| 744 | EMACS_IME=wnn7 |
---|
| 745 | XIM_PROG=wnn7 |
---|
| 746 | WNN7_FRONT_END=${FE:=xwnmo} |
---|
| 747 | setWnn7 ;; |
---|
| 748 | wnn6) |
---|
| 749 | eval SettingIMMsg_$LOCALE wnn6 |
---|
| 750 | WNNTAG=wnn6 |
---|
| 751 | EMACS_IME=wnn6 |
---|
| 752 | XIM_PROG=wnn6 |
---|
| 753 | WNN6_FRONT_END=${FE:=kinput2} |
---|
| 754 | setWnn6 ;; |
---|
| 755 | wnn) |
---|
| 756 | XIM_PROG=wnn |
---|
| 757 | WNN6_FRONT_END=kinput2 |
---|
| 758 | WNN7_FRONT_END=xwnmo |
---|
| 759 | WNN8_FRONT_END=le |
---|
| 760 | if Wnn8Exists ; then |
---|
| 761 | eval SettingIMMsg_$LOCALE wnn8 |
---|
| 762 | WNNTAG=wnn8 |
---|
| 763 | EMACS_IME=wnn8 |
---|
| 764 | elif Wnn7Exists ; then |
---|
| 765 | eval SettingIMMsg_$LOCALE wnn7 |
---|
| 766 | WNNTAG=wnn7 |
---|
| 767 | EMACS_IME=wnn7 |
---|
| 768 | elif Wnn6Exists ; then |
---|
| 769 | eval SettingIMMsg_$LOCALE wnn6 |
---|
| 770 | WNNTAG=wnn6 |
---|
| 771 | EMACS_IME=wnn6 |
---|
| 772 | else |
---|
| 773 | eval NoIMMsg_$LOCALE wnn |
---|
[4143] | 774 | return 1 |
---|
[1120] | 775 | fi |
---|
| 776 | case "$WNNTAG" in |
---|
| 777 | wnn8) setWnn8 ;; |
---|
| 778 | wnn7) setWnn7 ;; |
---|
| 779 | wnn6) setWnn6 ;; |
---|
| 780 | esac |
---|
| 781 | ;; |
---|
| 782 | atokx) |
---|
| 783 | eval SettingIMMsg_$LOCALE atokx |
---|
| 784 | EMACS_IME=atokx |
---|
| 785 | XIM_PROG=atokx |
---|
| 786 | setAtokx |
---|
| 787 | ;; |
---|
| 788 | atokx2) |
---|
| 789 | eval SettingIMMsg_$LOCALE atokx2 |
---|
| 790 | EMACS_IME=atokx2 |
---|
| 791 | XIM_PROG=atokx2 |
---|
| 792 | setAtokX2 |
---|
| 793 | ;; |
---|
| 794 | atokx3) |
---|
| 795 | eval SettingIMMsg_$LOCALE atokx3 |
---|
| 796 | EMACS_IME=atokx3 |
---|
| 797 | XIM_PROG=atokx3 |
---|
| 798 | setAtokX3 |
---|
| 799 | ;; |
---|
| 800 | vje) |
---|
| 801 | eval SettingIMMsg_$LOCALE vje |
---|
| 802 | EMACS_IME=vje |
---|
| 803 | XIM_PROG=vje |
---|
| 804 | setVje |
---|
| 805 | ;; |
---|
| 806 | uim) |
---|
| 807 | eval SettingIMMsg_$LOCALE uim |
---|
| 808 | EMACS_IME=uim |
---|
| 809 | XIM_PROG=uim |
---|
| 810 | setUIM |
---|
| 811 | ;; |
---|
| 812 | scim) |
---|
| 813 | eval SettingIMMsg_$LOCALE scim |
---|
| 814 | EMACS_IME=scim |
---|
| 815 | XIM_PROG=scim |
---|
| 816 | setSCIM |
---|
| 817 | ;; |
---|
| 818 | ibus) |
---|
| 819 | eval SettingIMMsg_$LOCALE ibus |
---|
[4143] | 820 | EMACS_IME=ibus-el |
---|
[1120] | 821 | XIM_PROG=ibus |
---|
| 822 | setIBUS |
---|
| 823 | ;; |
---|
| 824 | skk) |
---|
| 825 | eval SettingIMMsg_$LOCALE skk |
---|
| 826 | EMACS_IME=skk |
---|
| 827 | XIM_PROG=skk |
---|
| 828 | setSKK |
---|
| 829 | ;; |
---|
| 830 | none|No_IM) |
---|
| 831 | eval SettingIMMsg_$LOCALE No_IM |
---|
| 832 | EMACS_IME=No_IM |
---|
| 833 | XIM_PROG=No_IM |
---|
| 834 | setNone |
---|
| 835 | ;; |
---|
| 836 | esac |
---|
| 837 | |
---|
| 838 | [ -d ${USERIMEDIR} ] || mkdir -p ${USERIMEDIR} |
---|
| 839 | |
---|
| 840 | CANNA_SERVER=${CANNA_SERVER:=unix} |
---|
| 841 | |
---|
| 842 | cat <<EOF >${USERIME} |
---|
| 843 | EMACS_IME=${EMACS_IME} |
---|
| 844 | XIM_PROG=${XIM_PROG} |
---|
| 845 | JSERVER=${JSERVER:=localhost} |
---|
| 846 | WNN8_FRONT_END=${FE:=le} |
---|
| 847 | WNN7_FRONT_END=${FE:=xwnmo} |
---|
| 848 | WNN6_FRONT_END=${FE:=kinput2} |
---|
| 849 | WNN8_SERVER=${WNN8_SERVER:=localhost} |
---|
| 850 | WNN7_SERVER=${WNN7_SERVER:=localhost} |
---|
| 851 | WNN6_SERVER=${WNN6_SERVER:=localhost} |
---|
| 852 | CANNA_SERVER=${CANNA_SERVER/localhost/unix} |
---|
| 853 | GTK_IM_MODULE=${GTK_IM_MODULE} |
---|
| 854 | QT_IM_MODULE=${QT_IM_MODULE} |
---|
| 855 | XMODIFIERS=${XMODIFIERS} |
---|
| 856 | EOF |
---|
| 857 | return 0 |
---|
| 858 | } |
---|
| 859 | |
---|
| 860 | unsetImeFuncs(){ |
---|
| 861 | unset -f ShowUsage_C ShowUsage_ja IMEMsg_C IMEMsg_ja |
---|
| 862 | unset -f CurIMEMsg_ja CurIMEMsg_C PackageStatMsg_ja PackageStatMsg_C |
---|
| 863 | unset -f EnvVarMsg_ja EnvVarMsg_C SettingIMMsg_ja SettingIMMsg_C |
---|
| 864 | unset -f WnnNotAliveMsg_ja WnnNotAliveMsg_C |
---|
| 865 | unset -f AtokxNotAliveMsg_ja AtokxNotAliveMsg_C |
---|
| 866 | unset -f AtokX2NotAliveMsg_ja AtokX2NotAliveMsg_C |
---|
| 867 | unset -f VjeNotAliveMsg_ja VjeNotAliveMsg_C |
---|
| 868 | unset -f NoIMMsg_ja NoIMMsg_C ExitMsg_ja ExitMsg_C xwnmoWarning_ja xwnmoWarning_C |
---|
| 869 | unset -f Wnn8scimCreateDic_C Wnn8scimCreateDic_ja |
---|
| 870 | unset -f setLocale CheckOption CheckXIMStatus ShowIMEStatus isWnnAlive |
---|
| 871 | unset -f isAtokxAlive AtokxExists setAtokx |
---|
| 872 | unset -f isAtokX2Alive AtokX2Exists setAtokX2 |
---|
| 873 | unset -f AtokX3Exists setAtokX3 |
---|
| 874 | unset -f isVjeAlive setVje |
---|
| 875 | unset -f Wnn8Exists Wnn7Exists Wnn6Exists killXwnmo |
---|
| 876 | unset -f setWnn8 setWnn7 setWnn6 setFreeWnn setIME setNone unsetImeFuncs |
---|
| 877 | unset -f setSKK |
---|
| 878 | unset -f setUIM startUimXim |
---|
| 879 | unset -f setSCIM startScim |
---|
| 880 | unset -f setIBUS startIbus |
---|
| 881 | } |
---|