gtk-look.el

もうちょっといじってから書こうと思ってたけどどうにも今の状況じゃ当分先になりそうだから今のうちにメモの意味も込めて書いとく.
GTK+(GIMP Toolkit)なりlibwnckなりの関数・変数のヘルプを引くことができるelisp.



LinuxなんかでCあたりでGUIプログラミングをやろうかなーとか考えたらまずGTK+を思い浮かべると思う.
んで, これを使うとinfo-lookup-symbolのような感覚でヘルプを引くことができる.
通常, GTK+なりのヘルプを引こうと思ったら, devhelpというプログラムを使うのが一般的.
これはWindowsでいうchmファイルのヘルプを引くような感覚で使えるプログラム.
devhelpもchm同様にHTMLを表示するのだけど, そのHTMLファイルは特段コンパイルされているわけでもなく/usr/share/gtk-doc/html以下にあるのを読み込んでいる.
gtk-look.elはこのdevhelp用のHTMLファイルを利用してヘルプの参照を行う.


gtk-lookを使うのは簡単.
ファイルをダウンロードしてきて, ロードパスの通ったディレクトリにポンッと置いて以下の文を追記. それだけ.

(require 'gtk-look)

もちろん参照するHTMLファイルが別途必要.
ヘルプの参照先はデフォルトでは変数gtk-lookup-devhelp-indicesに「/usr/share/gtk-doc/html/」以下と「/usr/local/share/gtk-doc/html/」が指定されている.
ヘルプを引く関数は, gtk-lookup-symbol. 「M-x gtk-lookup-symbol」のように使う. 何かのキーに割り当てておくと便利だと思う.
ヘルプはHTMLなので当然だけど, ブラウザで表示される. emacs-w3mで表示させるようにすることも可能.
正直どの設定が効いていてw3mが起動しているのか分からないのだけど, これ, かなあ?

(setq browse-url-browser-function 'w3m-browse-url)

まあそこらへんは, browse-urlの設定次第だと思う.


上記変数gtk-lookup-devhelp-indicesをカスタマイズしてやることで読み込むヘルプファイルをカスタマイズすることが可能.
Debianのapt-getで入れたヘルプファイルではバージョンが古く内容が充実していないので, 新しいものに置き換えようのようなことができる.
自分は新しいマニュアルを簡単にググってできた下記サイトからダウンロードしてきた.

「more versions, languages, or options...」から辿れば右側にダウンロードできるファイルのリンクがある.
あと設定しなかったけど, ここらへんにある日本語化されたものも使えるかもしれない(完全に未確認).

落してきた圧縮ファイルを解凍してできたディレクトリの中に正規表現「*.devhelp*」にマッチするファイルがあればオーケー. gtk-lookはこのファイルを読み込んでいる.
参考にならないと思うけど自分の設定例.
HOMEディレクトリ以下にdoc/htmlというディレクトリを作り, そのhtmlディレクトリ内に解凍してできたディレクトリを放り込んだという形.

(setq gtk-lookup-devhelp-indices
      '("/home/khiker/doc/gtk-doc/html/*/*.devhelp*"
        "/usr/local/share/gtk-doc/html/*/*.devhelp*"))



現状の不満点がちょいちょい.

  • ヘルプの量が多くなるとgtk-lookup-symbolの絞り込みが重すぎる. gから始まる語句なんて数千個で効かない量があるから重い重い.
  • ヘルプの参照だけでなく, 関数・変数の一覧があるのだから補完にも使えるはず.

前者は簡単ではないかもだけど, 後者はいじって実現したいなあと考えているところ. 簡単にやるならミニバッファでcompleting-readを使って?
他の候補はiciclesとかanythingとかかなあとか考えたけど, 以前作ろうとして現在絶賛放置中の縦型インラインでやるやつを完成させようかなと考え始めていたりする.
でもまあ予定は未定. 他のことでちょっちねー.

更新時刻

2008年, 5月28日, 21:33