菅です。
Emacs21 でのXIMの[---] がミニバッファに出てきて、ミニバッファでの
入出力の際、ちょっと邪魔なので、それを変更して欲しい旨、mule-ja へ
出したところ、以下のように半田さんから返ってきています。
この辺りは(も)、良くわからないので、教えてください。
;-----------------------------------------------------------------------------
inoue(a)ainet.or.jp writes:
現象を整理すると、
コード的にはxfns.cのsupported_styles[]の部分です。
問題になるのは、XIMStatusAreaとXIMStatusNothingのどちらのスタイルを使うかです。
現状では、先頭からマッチを試みているので、XIMStatusAreaが優先されます。
(で、たいていのXIMサーバがサポートしているので、XIMStatusAreaが使われます)
はい、これは理解しています。僕もデフォルトはこれで良いと思い
ます。
ふたつのスタイルを簡単に言ってしまえば、
XIMStatusAreaはアプリケーション(Emacs)がステータスエリアの位置を制御して、
XIMStatusNothingはXIMサーバ(e.g. kinput2)が位置を制御します。
欄外にでるのは、XIMStatusNothingにすると実現できます。
kinput2に限れば、XIMStatusNothingスタイルにして、
リソースmodeLocation:bottomrightがベストな気はしますが、
右下の欄外に出せるかどうかはXIMサーバ次第になります。
Emacs21 は現在、この「XIMStatusNothingスタイルにして」の方を
指定する X resource を見ていないのですね?
解決方法は自明で、スタイル選択のカスタマイズを可能にすることです。
XEmacs20と同じように、Xのリソースによる指定なら、すぐ書けるのですが、
GNU Emacs的には、elispによる指定(補助的にXリソースも)が良さそうです。
しかし、elispの設定をCから参照する辺りのコードは全然見ていないので、
手慣れた人にやってもらえると嬉しいです。
そうですね。まず X resource による指定を見て frame-parameter
に反映させ、その上でそのパラメータを override できるようにす
るのが良さそうですね。
ちょっと試してみます。XEmacs20 ではどういうリソース名でどう
いう値を指定するんですか?ところでこのスタイルって im server
と継いだままダイナミックに変更できるのでしょうか?
それからユーザがなにか設定しようとすると、どういう値が適当で
しょうか?具体的には
(modify-frame-parameters _FRAME_
'((xim-style . _VALUE_)))
の _VALUE_ に何を受け付けるべきか? preedit position と
status area の両方の設定の情報?それとも
(modify-frame-parameters _FRAME_
'((xim-preedit-position . _VALUE_)
(xim-status-area . _VALUE_)))
というようにパラメータを分ける?
XEmacs はどうやっているんでしょう?
−− けんちゃん@ETL
handa(a)etl.go.jp
;-----------------------------------------------------------------------------
--
ADVANTEST corp.
Taiji.Can(a)atesoft.advantest.co.jp