source: projects/vutils/tags/vutils-2.2.6/imelib @ 1152

Revision 1152, 20.3 KB checked in by iwaim, 14 years ago (diff)

vutils: imelib: fix QT_IM_MODULE value (BTS:996) and add ibus-el setting

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