}ページHome2012-11-26Android向けのシンプルな壁紙を作るためのGIMP用スクリプトTweetいくや先生がこんなことをおっしゃっていたので、作ってみました。祝・初Script-Fu.Androidの壁紙が簡単に作れるGIMPの拡張機能(?)とかあればいいのにー。(android-wallpaper.scm)といっても、端末の画面サイズの画像をセンタリングしてAndroid壁紙サイズにリサイズするだけだけども。壁紙作って替えたい人向けですね。使い方Scriptのダウンロードと配置ダウンロードしたandroid-wallpaper.scmを以下の場所に配置後、GIMPを起動する。(Linux他)端末の画面サイズの壁紙候補の画像をロードする壁紙にしたい画像を読み込み、端末の画面サイズに加工する。変なAndroid壁紙サイズではなく、スペック表に書かれている画面サイズ。acroなので480x854。Wallpaper」から起動する。Wallpaper」を実行すると、壁紙候補の画像がセンタリングされた状態で画像が大きくなる。Layer」というレイヤーが追加されるので、ここに適当なパターンなりグラデーションなりを貼ればシンプルな壁紙の完成。作る前、Androidの壁紙はホーム画面の枚数分横並びだと誤解してたから、ImageMagickでちゃちゃっとくっつければ終わりだろうと思ったんだけど、画面サイズ2倍の横幅をトータルで合うようにちょいちょいずらすだけっていうやっかいな仕様であった。(詳しく:Androidの壁紙に最適な画像サイズがわからない...助けてライフハッカー!)横に並べることができない以上、サイドパネルの部分を何らかの部分で埋めないといけないのでinteractiveなGIMPで実装することにしたという流れがあったのであった。おかげで、10年以上昔に書いてみようと思って書いたことがなかったScript-Fuを書けるようになった。Schemeを実用で使ったのは初めてかも。Script-Fuの書き方Script-Fuの書き方は、以下を読めばわかった。入門ポイントだけ書くと、以下の感じ。スクリプトはfoobar.scmとして$HOME/.gimp-2.8/scriptsに配置する。スクリプトを配置したら、「フィルター>Script-Fu>スクリプトを再読み込み」で読み直す。コンソール」でScript-Fuコンソールを起動して「参照」ボタンを押せばインクリメンタルサーチで調べられる。スクリプト用の関数を適当にdefineして、script-fu-register関数を呼んで登録する。メニューにも載せたい場合はscript-fu-menu-registerを呼ぶ。スクリプト用の関数の引数はscript-fu-registerの引数で決まる。どんな感じに書けばいいかはGIMP内蔵のスクリプトを読めばわかる。requestにGraphviz対応があり、変更すべきところがまるわかりだったので、真似してblockdiagに対応した。こんな感じでblockdiagが書ける。extensionと異なり、seqdiag/actdiag/nwdiagを使うときは専用のものを使う。</seqdiag>出力サンプルはこんな感じ。Extensionという仕組みがないようなので、パッチという形になってしまうが、対応したものがこちら。GollumGollumで日本語ファイル名を使うTweet前回紹介したWiki、Gollum。レポジトリに入っているものに対しては問題なく日本語ファイル名も使えるのだが、Createするときに問題がある。yu"は日本語じゃありませんから!これはあまりにもひどいので調べたところ、"to_url"というメソッドがこの変換をやっている模様。調べてないのだが、どうやらstringexというモジュールに"Unidecode"という機能があり、これをしているようだ。仕方ないので、この機能を外した。to_urlはどうもこのページ名の調整に使っているっぽいので、すべてのto_urlを機能しなくした。それに伴いURLエンコードが必要になる部分があるので、対応した。RubyGitバックエンドなWiki「Gollum」をインストールするTweetGitit使ってたんじゃなかったのかよ、という話なのだが、Gititは単体でディレクトリ以下にホストできない((Virtual)Host必須)とか、いろいろ遭遇したので、別のものを使ってみた。Sinatraのお馴染みの構成。1.8でも動く優しい仕様。ruby-bundlerで入る。installすればOK。保存するためのgitレポジトリを作る。例によってrunitを使った。127.0.0.1をつけたいんだけど、--helpに書いてあるのにまさかの無視される罠があるのでそのままでは使えない。)マージされたので--host使えます。認証Apacheでかける。http://127.0.0.1:5080/wiki/これで概ね使うことができる。nwdiagにも対応させた。PHPなんてひさしぶりで、arrayの書き方覚えてなかったよ。requestしたので、うまくいけば取り込んでもらえるかも。packetdiagなんてのもあるのね。バイナリアン達には便利かも。(追記)早速取り込んでいただけました。0.0.2をリリースした。https://github.com/sunnyone/MsbuildLauncher/downloadsキャンセル機能がついた。いっても、ビルド処理を別プロセスで立ち上げてキャンセルしたいときはKillするというアグレッシブな仕様だけど。MSBuildbkimgprocに傾き補正機能を追加Tweetbkimgprocに傾き補正機能を追加した。40%を引数に追加しただけだけど)ちなみに、"t"を指定された場合のみ機能するようになっている。テキストでないと誤爆しそうだったので。これでようやくmとtを分けた意味がでてきた。