先日書いた, 1.1.22 の地雷は 5/17 には速攻で塞がれたらしいので, 匿名 CVS からヘッドブランチを持って来てみた. 2000/05/22 21h 頃の ヘッドブランチのスナップショットである. CVS は毎日のように使っているが, それは痴れ者の末端ユーザとしてのことであり, じつはブランチを立てたこともないし, もちろん merge したこともないのじゃ, login logout checkout commit update 以外のコマンドは知らずに 日々暮らしておるのでな. よくわかっておらん. そこで, www.gimp.org にある CVS 関連の案内どおりに やって checkout で最新のソースツリーを取得してみた (昔取得した奴は, 消しちまったので update ができないのじゃ).
aclocale -I /some/directory/gtk.m4/is/located && automake && autoconf で configure スクリプトを生成したら, あとは普段の ビルドと同じである. configure の生成には, automake, autoconf, libtool, gettext あたりの最新を 揃えておきましょう. aclocale は, /usr/share しか見に行かないので, それで gtk.m4 が見付からない時は, -I オプションで gtk.m4 の置いてあるところを捜させよう.
じゃあ, とりあえず慎重に, gcc -g でコンパイルしてみよう. どうかな?
ん. 大丈夫そうだぞ.
地雷は layers_dialog.c にあったのだが, 5/17 に Sven Neuman さんが行った修正をパッチのかたちで 榎田さんち で入手できるので, 「CVS わ, 何かめんどくさそうで, ちょっとなー」 ってひとは 1.1.22 にパッチを当ててくれす. それで, もう死なないはずじゃ.
アップグレードのコツじゃが, ~/.gimp-1.1 を全消しするってのも 設定しなおしでめんどくさくてダメである. ここは .gimp-1.1/pluginrc と sessionrc くらいを消すのが 良いかもね. sessionrc は消さないと具合わるい場合があるかもだ.
お, Tool Box のリサイズは無段階のアレではなく, ちゃんと各種ボタンが 収まるサイズごとに段階的になっている. こりは良いです. たしかに, こうすべきだという意見はメーリングリストでも流れていたのだが. そうそう, もう一つの意見として, GIMP が一個起動しているときに, gimp hoge.jpg とかやると, 現状では GIMP がもう一個起動してしまう. これを named pipe か何かで, 今動作中の GIMP がファイルを開くように すべきである, というのがあって, これも是非実現してほしいなあ.
あ. うかつにも各種パッチを適用するのを忘れてコンパイルしちまった. なんてこった. やりなおしだよ. そうか. dynamic text と アプリケーションコアだけがコンパイルしなおしだな. これならすぐだね.
レイヤ窓の動きも良いし, dynamic text からの日本語入力も 正常だ. オッケーすね.
それじゃノートにもこいつをインストールじゃ. CFLAGS を -O3 -march 以下略でビルドしなおそう. うぎー. nfs でマウントして make install って時間かかるなあ. (いつも, make は据え置きマシンでやるのだ.)
動作が正常となると, パフォーマンスの向上なんかが良い感じだ. 起動も素早いしね. zoom を連打すると(俺のキーバインドは z で拡大, Shift z で縮小なのだ.) resize window on zoom が, たまに窓の寸法の 計算を間違えるようだ. scroll bar のぶんだけ寸法を間違えるもよう. でも, 何度か拡大/縮小すると元に戻る. ま, どうってことない問題だね. gflare もちゃんと動くしね.
ドキュメント インデクス というのがあり, 過去に開いたファイルの一覧が見れる. これも非常に具合が良いです. ファイルマネージャなんかでムイーンと引っ張って来るのも 悪くないですが, ま, 最近いじるファイルってのは 大体決まっているもんですからね, これはとても手っ取り早くて良いのです. ふう. しかし, 1.1 は動作が速いなあ. スバラシイですよ. 1.0 なんか比べものになりませんよ?
DDD なんかインストールするよりも, cvs update の方が楽ちんである. あたりまえである. つうか, わしなんかがデバグするよりも, 能力のある人がやったほうがずっと良い. そうだな. わしは, できるだけ暇を見付けてテストを兼ねて使い込むことにしよう. そして, これからは, 学校に行ったら www.linux.or.jp だけでなく, GIMP も cvs update しよう.
む. パスごと拡大/縮小のスクリプトを使って気づいた. gimp-channel-ops-duplicate が パスもコピーするようになっている. 以前は複製したイメージからパスのデータだけが抜け落ちていたので, 拡大/縮小したパスのデータを生成するときに, データをコピー元から取得するようにセコい手を使っていたんだが.
しかし, おかげで, 拡大する前のパスのデータと拡大したあとのパスのデータの 両方が氾濫して, なんつうか, 非常に見にくいねえ. ちょっと直すかな. 直しました. コピーして拡大/縮小する場合は以前のパスを残さないことにした. コピーしないときは, オリジナルのパスを残すようにしてあります. こんな苦労は path の操作が undo できさえすれば要らないんだがなー. それにしても, 自分の書いたコードだが, 久々に見ると, 汚くて読めねす.
あ. これはGIMP とは関係無いはなしなんですけどね. もっと一般的なはなしなんですが. .hoge とかいうファイル/ディレクトリが大量にできて, なんかうっかり消してしまったりバックアップし忘れたりして, 難儀したものだ. いや, わしが.
そこで, わしは, ~/etc を作って, 実体はあらゆるそこに配置し, ~/.hoge は全部 symbolic link にしておる. ~/etc を固めれば, サバイバル準備完了なのである.
Webmasters の小松氏は, そのうえさらに, ~/etc を CVSの管理下に 置いているという. これで, 設定の同期も簡単にとれ, そのうえ, うっかり設定をぶっとばしても 任意の段階に戻れるわけだ. これはスバラシイ. わしもマネしよ.