parasite lost


おお. せんどぶりやのう. 今日は, ちょっとした話があるさかいに, まあ寄って行けや.

GIMP 関連から

えー. 関西弁を 「かんな」がちっとも変換しないのでやめます. gdynamic text レイヤをこっちの画像からあっちの画像へ コピーしたときに, レイヤのいろんな情報がすっぽり消滅するというのは, いわゆる一つのバグではないか, と思いましてね. つまり, 文面とかフォントとかレイアウトとかが, さっぱり消えてて, プラグインを出すと「わしのレイヤやないけえ, 手に負えんわ」 みたいなメッセージが出て, デフォルトのフォントになるのがせつないね. と. そしたら ml で Marco Lamberto さんという人にこういう技を教えてもらいました. う. 今みたら, Marco Lamberto さんは gdynamic の作者ですね. ぎょぎょぎょ. じつは作者直伝だったのかー.

  1. とりあえず, おめあてのレイヤをコピー先の画像にコピーする.
  2. 元レイヤで gdynamic text 起動
  3. Shift キーを押したまま OK ボタンをクリック
  4. すると元レイヤの名前んところに parasite がdump される
  5. コピー先のレイヤ名を, その dump された奴に変更

以上で, parasite の移動も完了. なお. parasite というのはレイヤや画像のプロパティの一つで, プラグインなんかの作画情報を保持しておくのに使われる (他にもいろいろ あるんだろうけど), 1.1 から導入されたものです.

parasite をいじる関数とかあるんですが, なんつうか, script だとコピー先を名前で指定しなきゃいけなかったりして, けっこうめんどくさいので script 書こうかとおもったけどやめんぴ. レイヤ窓でプレビュを drag すると parasite までコピーされる (あと, レイヤの名前も) というのがわりと希望な感じだけど, そう思う人はわしだけではないようなので, 次のリリースで, そうなるかも.

なお, 上のワザはわしの環境では日本語でもオッケーです. 紅眠さんパッチが gdynamic に当たっていれば大丈夫なのではないかと想像したり.

それから, レイヤを toolbox に引っ張って行って新しいファイルを開いた場合は parasite も保持されたままなんだよ. 変なの. また, 画像内部でレイヤの複製をやると, parasiteも付いて来るので, この振舞の不統一は非常にマズイですね. このまま 1.2 出すとマズいでしょう.

問題の箇所は app/disp_callbacks.c の gdisplay_drag_drop ですね. タイルからレイヤを生成して終り, 各種プロパティはハードコード されてます. う. よくわかんねけど, これ, 今ちょっと見てみたら, layer = layer_new_from_tiles もげ なんかじゃなくて app/interface.c にあるように layer_copy にすればいいのでわ? この関数なら各種属性も全部コピられるんですけど(parasite を コピーするコードもちゃんと入っている). だから, レイヤ窓から toolbox に drag したときは 名前をはじめ, ちゃんと各属性が付いて来るのだが. それとも画像のタイプ別で何か具合悪いことがあるのかねぇ. とかいって, これ, devel-ml に報告したのは先週のことなんで, もうとっくに CVS では直ってたりして.

そういえば parasite editor というのがあるが, なんかこれ, しょっちゅう死亡し, 画面のレイアウトも見にくく, しかも全然使い方が判らんのじゃが, どなたか使い方, ご存知ありません? うひ. コレ, じつは perl 製ですよ? perl 解らんので直せん. 謎じゃ.

undo バグ

が見付かりました. 画像を開いていきなり最初に level とか curve とか, ようするに <Image>/Image/Colors/ 以下のいろんなアイテムを 使うと, これが undo できない病というのがありまして.

実は, 全く undo できないわけでもない, ってところが謎で, そのあと何かすれば, たとえば paint brush とかでどっか塗ったりすれば, それを undo したあとで件のアレもちゃんと undo できる. 単体で undo スタックにあった場合はダメなんす. あと, undo history 窓 (<Image>/Dialogs/Undo Histroy)からも undo可能.

CVS ではもう直ったそうで.

あと, プレビュの方が実際の処理よりも遅い病というのもあるのだが, これも直ってるそうです. こりゃまだまだ大変そうじゃのう. 1.1.24 のリリースはいつになるのかのう. ちゅうか, これじゃ 1.2 なんか当分出そうもないのう.

1.1.23 の ChangeLog には, わしが報告したバグの修正に関する 記述があり, 「Fixed Fujita Yuji's bug」と書いてあって, おお. わしの名前が ChangeLog に! と思ってちょっと舞い上がってみたが, よくかんがえると, なんかわしが出したバグみたいでちょっとアレかも.

path scripts updated

インターフェースを一部変更. scale rotate flip に関しては,

  1. lock されたpath があれば, それらを全部操作
  2. 無ければ current path を操作
  3. オプションで全部のパスを操作

としました.

また, 非連結パスの分割については, 分割して生成された path を 生成時にlock するオプションを付けました. path 窓で表示が lock にならない時がありますが, これは GIMP 側の表示に関するバグで, path 自体は lock されています.

path の統合に関しては, lock された path を全部統合することにし, ユーザインターフェースを消しました.

モノはこちら

gmc

で, 「ユーザ定義表示」を ls -l したときと同じ項目が同じ順番で並ぶように 設定しとくと便利ですね. や, そんなの常識? すんません. 残念賞は, symlink の行き先が出ないこと. でもリンク先が無いときに, ちゃんと切れてるアイコンになるので, 引き分けとする.

ghex

というバイナリビュア/エディタがある. gtk でできた od みたいな もんですかね. これ, なんか具合悪かったんで ノートで動いている奴は, 自分でデバグしたやつなんだけど, どこをどういじったかわかんなくなってしもうた. パッチ作らなかったのは, どうせスグわかるじゃねえか, と思ったからなんだけど, 今見ると, どこをどう直したか全然わかんね. 据え置きマシンでは全然動きませんよ? このコーナーでも ghex に関する記事は一切無し. 困ったぞ.

zsh

cd (change directory)のあとに -5 とか付けれることを発見. 用途は, ヂレクトリスタックを 5個戻る, など. じつは, これがスタックを行ったり来たりするのに使えるのだった. ちょうど ブラウザの「戻る」「進む」ボタンのように. よくかんがえると, これ, tcsh でもあったような気もするが.

しかし, こうメタキャラクタが増えて来ると, なかなか面倒かと思いきや, cd のあとに - をつけると勝手にディレクトリスタックから補完する. いやはや, なんつうか, よくできてますよ? すげえっすね. 皆様には GIMP だけでなく zshell もぜひ使ってみて欲しいですよ.

う. zsh-3.1.9 がリリースされています. こりゃインストールするしか. じゃあ次回は久々に zsh かな.


記事リストへ