source: projects/vutils/tags/vutils-2.3.1/imelib @ 4199

Revision 4199, 19.9 KB checked in by daisuke, 13 years ago (diff)

tagging as vutils-2.3.1

Line 
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
11ShowUsage_C() {
12cat <<EOF
13setime: Select your prefered Japanese input mothod.
14
15Usage:  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
19                 (scim-bridge-{gtk,qt} and scim is automarically selected)
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)
31     none:      do not use input method
32     status:    get information about current environment for Kanji input methods
33
34EOF
35}
36
37ShowUsage_ja() {
38cat <<EOF
39setime: 漢字変換システムの設定
40
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 を起動します
45                 (scim-bridge-{gtk,qt} と scim は自動選択されます)
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 を起動)
57     none:      漢字変換システムは用いない
58     status:    現在のシステムにおける、漢字入力方法に関する情報を表示します
59
60EOF
61}
62
63IMEMsg_ja(){
64cat <<EOF
65環境変数は ~/.vine/system/ime もしくは /etc/sysconfig/ime で設定されています.
66EOF
67}
68
69IMEMsg_C(){
70cat <<EOF
71The Environment Variables are set in ~/.vine/system/ime or /etc/sysconfig/ime.
72EOF
73}
74
75CurIMEMsg_ja(){
76echo "[現在の漢字入力システム]"
77}
78
79CurIMEMsg_C(){
80echo "[Current IME]"
81}
82
83PackageStatMsg_ja(){
84echo "[パッケージのインストール状況]"
85}
86
87PackageStatMsg_C(){
88echo "[Package status]"
89}
90
91EnvVarMsg_ja(){
92echo "[環境変数]"
93}
94
95EnvVarMsg_C(){
96echo "[Environment Variables]"
97}
98
99SettingIMMsg_ja(){
100echo "$1 の設定を行います"
101}
102
103SettingIMMsg_C(){
104    echo "setting up $1..."
105}
106
107WnnNotAliveMsg_ja(){
108cat <<EOF
109    Wnn サーバが走ってません!
110    Wnn サーバを起動して再挑戦してください!
111    終了します...
112EOF
113}
114
115WnnNotAliveMsg_C(){
116cat <<EOF
117    Wnn server is NOT running!
118    Start Wnn server and try again!
119    Aborted...
120EOF
121}
122
123AtokxNotAliveMsg_ja(){
124cat <<EOF
125    Atokx サーバが走ってません!
126    Atokx サーバを起動して再挑戦してください!
127    終了します...
128EOF
129}
130
131AtokxNotAliveMsg_C(){
132cat <<EOF
133    Atokx server is NOT running!
134    Start Atokx server and try again!
135    Aborted...
136EOF
137}
138
139AtokX2NotAliveMsg_ja(){
140cat <<EOF
141    Atok X2 サーバが走ってません!
142    Atok X2 サーバを起動して再挑戦してください!
143    終了します...
144EOF
145}
146
147AtokX2NotAliveMsg_C(){
148cat <<EOF
149    Atok X2 server is NOT running!
150    Start Atok X2 server and try again!
151    Aborted...
152EOF
153}
154
155VjeNotAliveMsg_ja(){
156cat <<EOF
157    VJE サーバが走っていません!
158    VJE サーバを起動して再挑戦してください!
159    終了します...
160EOF
161}
162
163VjeNotAliveMsg_C(){
164cat <<EOF
165    VJE server is NOT running!
166    Start VJE server and try again!
167    Aborted...
168EOF
169}
170
171NoIMMsg_ja(){
172cat <<EOF
173    $1 が見つかりません...
174    設定を終了します.
175EOF
176}
177
178NoIMMsg_C(){
179cat <<EOF
180    not found $1...
181    exit set up.
182EOF
183}
184
185ExitMsg_ja(){
186echo "設定が完了しました."
187echo "設定は、新しく開くシェルから有効になります。"
188isXRunning && (echo "設定を全てのシェルで有効にするには、X window を再起動する必要があります.")
189}
190
191ExitMsg_C(){
192echo "Configuration finished."
193echo "A new configuration is effective on new shells."
194isXRunning && (echo "To effect this configuration to all applications, You should restart X Window System.")
195}
196
197xwnmoWarning_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
206xwnmoWarning_C(){
207    echo "[Warning!] Setting xwnmo as default xim is harmful."
208    echo "[Warning!] I recommend to use kinput2 for default input methods."
209}
210
211Wnn8scimCreateDic_ja(){
212    echo "辞書を生成しますので,しばらくお待ち下さい......"
213}
214
215Wnn8scimCreateDic_C(){
216    echo "Now generating your dictionaries. Please wait for a little......"
217}
218
219########## end of Messages #############################3
220
221setLocale(){
222case $LANG in
223    ja*)LOCALE=ja ;;
224    *) LOCALE=C ;;
225esac
226#isXRunning || LOCALE=C
227if [ ${TERM} = "linux" ]; then
228    LOCALE=C
229fi
230}
231
232CheckOption() {
233if [ $# != 1 ] ; then
234    eval ShowUsage_$LOCALE ${0##*/}
235    return 1
236fi
237return 0
238}
239
240CheckXIMStatus() {
241case "$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
271                return 1
272                ;;
273esac
274return 0
275}
276
277ShowIMEStatus() {
278
279WNN8RPM_S=wnn8-server
280WNN8RPM_C=wnn8-le
281WNN7RPM_S=wnn7-server
282WNN7RPM_C=wnn7-xclients
283WNN6RPM=wnn6
284ATOKXRPM=atokx
285ATOKX2RPM=atokx
286ATOKX3RPM=atokx
287VJERPM=vje-delta
288ANTHYRPM=anthy
289UIMXIMRPM=uim-xim
290UIMRPM=uim
291SCIMRPM=scim
292SCIMBRIDGERPM=scim-bridge
293SCIMANTHYRPM=scim-anthy
294SCIMWNNRPM=scim-wnn
295IBUSRPM=ibus
296
297eval IMEMsg_$LOCALE
298cat<<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}`
322EMACS_IME=${EMACS_IME}
323XIM_PROG=${XIM_PROG}
324CANNA_SERVER=${CANNA_SERVER}
325JSERVER=${JSERVER}
326WNN8_FRONT_END=${WNN8_FRONT_END}
327WNN7_FRONT_END=${WNN7_FRONT_END}
328WNN8_SERVER=${WNN8_SERVER}
329WNN7_SERVER=${WNN7_SERVER}
330WNN6_FRONT_END=${WNN6_FRONT_END}
331WNN6_SERVER=${WNN6_SERVER}
332GTK_IM_MODULE=${GTK_IM_MODULE}
333QT_IM_MODULE=${QT_IM_MODULE}
334-----------------------------------------
335EOF
336}
337
338isWnnAlive(){
339if [ -n "`wnnstat 2>/dev/null| grep wnnstat`" ]; then
340    eval WnnNotAliveMsg_$LOCALE
341    return 1
342fi
343return 0
344}
345
346isAtokxAlive(){
347if ! (/sbin/pidof -s atokmngdaemon >& /dev/null); then
348    eval AtokxNotAliveMsg_$LOCALE
349    return 1
350fi
351return 0
352}
353
354isAtokX2Alive(){
355if ! (/sbin/pidof -s atokx2mngdaemon >& /dev/null); then
356    eval AtokX2NotAliveMsg_$LOCALE
357    return 1
358fi
359return 0
360}
361
362isVjeAlive(){
363if ! (/sbin/pidof -s vjed >& /dev/null) ; then
364    eval VjeNotAliveMsg_$LOCALE
365    return 1
366fi
367return 0
368}
369
370Wnn8Exists(){
371
372if [ -f /usr/lib/wnn8/ja_JP/wnnenvrc ] \
373&& [ -x /usr/sbin/jserver ]; then
374    return 0
375else
376    return 1
377fi
378}
379
380Wnn7Exists(){
381
382if [ -f /usr/lib/wnn7/ja_JP/wnnenvrc ] \
383&& [ -x /usr/sbin/jserver ]; then
384    return 0
385else
386    return 1
387fi
388}
389
390Wnn6Exists(){
391
392#if [ -n "`rpm -q wnn6 2>/dev/null`" ]; then
393if [ -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
397else
398    return 1
399fi
400}
401
402AtokX3Exists(){
403if [ -f "/opt/atokx3/lib/client/atokx3auxd" ] ; then
404    return 0
405else
406    return 1
407fi
408}
409
410AtokX2Exists(){
411if [ -f "/opt/atokx2/sbin/atokx2mngdaemon" ] ; then
412    return 0
413else
414    return 1
415fi
416}
417
418AtokxExists(){
419if [ -f "/usr/lib/locale/ja/atokserver/atokmngdaemon" ] ; then
420    return 0
421else
422    return 1
423fi
424}
425
426startUimXim(){
427    if [ -z "`pidofmyproc uim-xim`" ] ; then
428      uim-xim >& /dev/null &
429    fi
430    TK_KCPROTO=xim
431}
432
433startScim(){
434    if [ -z "`pidofmyproc scim-launcher`" ] ; then
435      scim -d >& /dev/null
436    fi
437    TK_KCPROTO=xim
438}
439
440startIbus(){
441    if [ -z "`pidofmyproc ibus-daemon`" ] ; then
442      ibus-daemon -d -x >& /dev/null
443    fi
444    TK_KCPROTO=xim
445}
446
447setSKK(){
448    XMODIFIERS="@im=skkinput"
449    TK_KCPROTO=kinput2
450    checkStart skkinput
451    return 0
452}
453
454setUIM(){
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
464setSCIM() {
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
477setIBUS() {
478    XMODIFIERS="@im=ibus"
479    GTK_IM_MODULE=ibus
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
484    startIbus
485    return 0
486}
487
488killXwnmo(){
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
498killWnn8le(){
499        killall WnnPaletteAux >/dev/null 2>&1
500        killall httx >/dev/null 2>&1
501        killall WnnMsgDspAux >/dev/null 2>&1
502}
503
504setWnn8(){
505isWnnAlive || return 1
506echo "WNN8_FRONT_END: " $WNN8_FRONT_END
507case "$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        ;;
547esac
548return 0
549}
550
551setWnn7(){
552isWnnAlive || return 1
553echo "WNN7_FRONT_END: " $WNN7_FRONT_END
554case "$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        ;;
578esac
579return 0
580}
581
582setWnn6(){
583isWnnAlive || return 1
584echo "WNN6_FRONT_END: " $WNN6_FRONT_END
585case "$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        ;;
601esac
602return 0
603}
604
605setAtokx(){
606isAtokxAlive || return 1
607export XMODIFIERS="@im=htt"
608export TK_KCPROTO=htt
609export HTT_DISABLE_STATUS_WINDOW=t
610export HTT_GENERATES_KANAKEY=t
611export HTT_USES_LINUX_XKEYSYM=t
612
613if [ -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
640fi
641
642return 0
643}
644
645setAtokX2(){
646isAtokX2Alive || return 1
647export XMODIFIERS="@im=htt"
648export TK_KCPROTO=htt
649export HTT_DISABLE_STATUS_WINDOW=t
650export HTT_GENERATES_KANAKEY=t
651export HTT_USES_LINUX_XKEYSYM=t
652export GTK_IM_MODULE=iiim
653export QT_IM_MODULE=xim
654
655if [ -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
662fi
663
664return 0
665}
666
667setAtokX3(){
668export XMODIFIERS="@im=iiimx"
669export HTT_DISABLE_STATUS_WINDOW=t
670export HTT_GENERATES_KANAKEY=t
671export HTT_USES_LINUX_XKEYSYM=t
672export HTT_IGNORES_LOCK_MASK=t
673export JS_FEEDBACK_CONVERT=t
674export GTK_IM_MODULE=iiim
675export QT_IM_MODULE=xim
676
677if [ -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
684fi
685
686return 0
687}
688
689setVje(){
690isVjeAlive || return 1
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
712setNone(){
713    return 0
714}
715
716setIME(){
717
718SYSIME=/etc/sysconfig/ime
719USERIMEDIR=$HOME/.vine/system/
720USERIME=${USERIMEDIR}/ime
721
722source ${SYSIME}
723[ -f ${USERIME} ] && source ${USERIME}
724
725#echo ${XIM_PROG}
726if [ "$1" = "default" ]; then
727    TARGET=${XIM_PROG:-ibus}
728    FE=${WNN6_FRONT_END}
729else
730    TARGET=$1
731fi
732
733case "$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
774                return 1
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
820            EMACS_IME=ibus-el
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            ;;
836esac
837
838[ -d ${USERIMEDIR} ] || mkdir -p ${USERIMEDIR}
839
840CANNA_SERVER=${CANNA_SERVER:=unix}
841
842cat <<EOF >${USERIME}
843EMACS_IME=${EMACS_IME}
844XIM_PROG=${XIM_PROG}
845JSERVER=${JSERVER:=localhost}
846WNN8_FRONT_END=${FE:=le}
847WNN7_FRONT_END=${FE:=xwnmo}
848WNN6_FRONT_END=${FE:=kinput2}
849WNN8_SERVER=${WNN8_SERVER:=localhost}
850WNN7_SERVER=${WNN7_SERVER:=localhost}
851WNN6_SERVER=${WNN6_SERVER:=localhost}
852CANNA_SERVER=${CANNA_SERVER/localhost/unix}
853GTK_IM_MODULE=${GTK_IM_MODULE}
854QT_IM_MODULE=${QT_IM_MODULE}
855XMODIFIERS=${XMODIFIERS}
856EOF
857return 0
858}
859
860unsetImeFuncs(){
861unset -f ShowUsage_C ShowUsage_ja IMEMsg_C IMEMsg_ja
862unset -f CurIMEMsg_ja CurIMEMsg_C PackageStatMsg_ja PackageStatMsg_C
863unset -f EnvVarMsg_ja EnvVarMsg_C SettingIMMsg_ja SettingIMMsg_C
864unset -f WnnNotAliveMsg_ja WnnNotAliveMsg_C
865unset -f AtokxNotAliveMsg_ja AtokxNotAliveMsg_C
866unset -f AtokX2NotAliveMsg_ja AtokX2NotAliveMsg_C
867unset -f VjeNotAliveMsg_ja VjeNotAliveMsg_C
868unset -f NoIMMsg_ja NoIMMsg_C ExitMsg_ja ExitMsg_C xwnmoWarning_ja xwnmoWarning_C
869unset -f Wnn8scimCreateDic_C Wnn8scimCreateDic_ja
870unset -f setLocale CheckOption CheckXIMStatus ShowIMEStatus isWnnAlive
871unset -f isAtokxAlive AtokxExists setAtokx
872unset -f isAtokX2Alive AtokX2Exists setAtokX2
873unset -f AtokX3Exists setAtokX3
874unset -f isVjeAlive setVje
875unset -f Wnn8Exists Wnn7Exists Wnn6Exists killXwnmo
876unset -f setWnn8 setWnn7 setWnn6 setFreeWnn setIME setNone unsetImeFuncs
877unset -f setSKK
878unset -f setUIM startUimXim
879unset -f setSCIM startScim
880unset -f setIBUS startIbus
881}
Note: See TracBrowser for help on using the repository browser.