Road to G24 (LAST TAKE).

数ヶ月前の開発版の頃にまとめたブログが中途半端だったので、もうリリースされてずいぶん経つけれど、リリースノートで紹介されたこと以外で気づいた点を少しまとめておく。
gtk+
既存のクラスの細かな変更の他に目に見えるところの変更点はというと、例えば GtkAction のインスタンスとしてツールバーのアイテムが sensitive ではない場合 (アイコンやメニュー項目が薄い灰色になっている状態の場合) でもツールチップが表示されるようになった:

g24-gtkaction-tooltip-20081012.png

一時的に利用できないがどんな機能なのかが分かるようになった
あとリリースノートにあったけれど GtkFileChooser クラスでのファイル名の補完処理の改善なんかも:

g24-gtkfilechooser-complete-01-20081012.png

こんな感じで TAB キーの寿命を長くしてくれる(?)メッセージや

g24-gtkfilechooser-complete-02-20081012.png

該当するものが1つしか無い場合に固有のメッセージを通知するようになった
実は他にもう一つ別のパターンがあるので gtk+ Freak な人は探してみてはどうだろうか :D。これで大/小文字のパターンも処理できれば更に便利になると思うけどな。
そうそう、次の evolution について紹介するネタを探している時に、なんともつまらない翻訳バグを見つけてしまった;(。もう 2.14.3 までリリースされてしまっているので reminder としてバグ報告してから作業することにしよう。
evolution
一応パッケージ同梱の NEWS を見ればどんな新機能が追加された分かると思うけど、今回は目玉はないね。
ただ個人的にまず思うことは、開発版から使っているのだけれど、結構 Freeze する (Strip して使っているので原因は不明だけど、複数回のセグメンテーションが発生しているというメッセージが出ている)。前のバージョンではほとんどなかったので正直なところ困惑気味 :$
テンプレートの機能 (Message Templates) はその名の通り、メッセージ作成ウィンドウでファイル(F)/テンプレートとして保存する(T)を選択すると、Evolution ウィンドウの左側のペインにあるフォルダ・ツリーのテンプレートにメールが保存される。似たようなメッセージを送る時に定型文だけを記述しておけば繰り返し利用できる:

g24-evolution-feature01-20081012.png

例えば、ちょっとしたメモを GMail 宛てに送ってタグで管理する時の定型文をテンプレート化する時に使うなど
ただテンプレートとして保存したあとにメッセージ作成ウィンドウを閉じようとすると、お決まりの文句である「本当に作成途中のメッセージを破棄してもよろしいですか?」と聞かれるのがウザイけど。
あとはメッセージの管理が今までのファイル管理ではなく SQLite を使った管理に移行したので、当然ながら初回の起動は変換作業のため立ち上がりは遅い。
Google 対応も更に強化された。今度は連絡先の情報を evolution の中に取り込む機能だ:

g24-evolution-feature02-20081012.png

但し、グループは上手く取り込めずバラバラに登録される (同名の人物が多数登録される)。
こんなものかな。もっと安定してくれればよいのだけれど。
nautilus
リリースノートや前のブログで書いたコンパクト表示は大画面なデスクトップで便利。コンパクト表示にしておきながら倍率を 150% にするとか。
あと、もう一つ新たな機能として、デスクトップに表示するアイコンのラベルやブラウザで表示するファイル名のラベルの長さを調節できるようになった。すなわち省略文字 () で置き換える際に表示しておくことが可能な文字列の行数を指定できる。この機能も例のごとく、GUI のダイアログからは設定できず gconf 経由だ。キー名は /apps/nautilus/icon_view/text_ellipsis_limit で整数値で指定する:

$ gconftool-2 -a /apps/nautilus/icon_view
default_use_tighter_layout = false
default_sort_order = name
(..snip..)
text_ellipsis_limit = [3]

この例だと3行まで表示するが、それ以上は省略文字にするということである。例えばデスクトップのアイコン表示は次のようになる:

g24-nautilus-another-feature01-20081012.png

アイコンの上にポインタをのせると全てのラベルが表示される:

g24-nautilus-another-feature02-20081012.png

詳細は gconf-editor から説明を参照のこと。
gnome-control-center
ちなみに、このバージョンから正式にソース・ファイル名がアプリケーション名同様の gnome-control-center になった。
リリースノートでサウンドのプロパティの日本語版スクリーンショットをのせていないのは、ちょうどその時はこのダイアログが利用できなかった (sensitive ではなかった) から。というのも今回から新しく required される libcanberra はデフォルトのサウンド・テーマとして Freedesktop のサウンド・テーマが $DATADIR/sounds 以下にインストールされていないと動作しない。このパッケージは Ubuntu でも用意されておらず、逆に libcanberra から ubuntu 専用のテーマを参照するような糞パッチがあたっていたけど。なんだろう、ライセンスが問題なのかな。しかし Debian はあるけどな。どうでもいいが、ただ展開するだけなんだが:

$  sudo tar xvf sound-theme-freedesktop.tar.gz -C /usr/share/sounds/

するとこんな感じで表示される:

g24-sound-property-with-sound-theme-20081012.png

結構 cool なサウンドだった。
deskbar-applet
リリースノートにはインターネット越しにプラグインを追加でダウンロードできると書いてあるけど、残念ながらデスクバー単体では利用できない。別途、Capuchin というダウンロード・マネージャをインストールする必要あり (Mono も必要):

g24-deskbar-addons-20081012.png

totem
動画プレイヤーとしてプラグインが豊富になったのだけれど、その中の逸品はやっぱり YouTube ブラウザ だね:

g24-totem-addon-youtube-20081012.png

ネットワーク環境によっては検索に時間がかかり Freeze したようにも見えてしまうけど、英語をまともに入力できない iPhone の YouTube ブラウザよりは断然マシだ。
empathy
こちらはずいぶん前の出た頃から使っており、普通に使えるので特に書くことはないのだけれど、ウェブカムをつなげていると何も設定することなく V4L2 経由で映像を送信することもできるようだ。送信されているかどうかは未確認だけど。
まぁ、こんなところかな。

The Cairo graphics tutorials.

G24の作業に入る前まで翻訳していた Cairo ベクトル・グラフィックス・ライブラリのチュートリアルを二つ公開しておく:

邦題が同じだということを書いている今気がついた :(
前者は How Cairo Graphics Works? という副題が意味するように、Cairo の基本的な情報が手短にまとめられていて、Cairo のしくみとか Cairo で何ができるのかを手っ取り早く理解できる内容だと思う。このドキュメントの中で引用されている API は、前に公開した Cairo-1.2 系のリファレンス・マニュアルからのリンクも挿入してある。
後者は Cairo のホームページでドキュメントを紹介しているページからリンクが張られていた外部のサイトのチュートリアルで、前者のドキュメント同様に基本的な情報の他に簡単なコードを使った例題が豊富だ。基本的なベクトル描画や塗りつぶし、画像の変形の他に応用例として GTK+ のウィジェットを作成 (描画) する説明も含まれている。但し、このページの作者に翻訳のお伺いを立てていないので公開を一時的に停止するかもしれないのでご注意を :|。ちなみに、この筆者のページには他にもいろいろなプログラミング関連のドキュメントが公開されているので、こちらも参考にしてみてはいかがか。というか、いつのまにか GTK+ チュートリアルの中国語版が公開されているな。
あと、簡単なサンプル・コードを解説した昔のブログなんかも参考にどうぞ。
ドキュメントのソースには原文も付記してある:
See Also How Cairo Graphics Wroks: Cairo グラフィックスのチュートリアル (前者) のソース
See Also Cairo Graphics Tutorial: Cairo グラフィックスのチュートリアル (後者) のソース
ちなみに今日現在の安定版は 1.8.0 だけれども、前バージョンよりも体感的に描画が高速だ。NEWS にも書かれているようにこのバージョンにあげた方がお得だ。

G24 release note.

先週リリースされたパッケージのビルドとインストールが完了し、日本語のメッセージもリリース直前までいろいろもめていた gdm を除いてなんとか間に合ったということで、先週末ぐらいからリリースノートの翻訳を始め、一応完了。あとは若干の修正とスクリーンショットを撮って commit する予定。
See Also GNOME 2.24 リリースノート: commit 済

Kyū Shiba-rikyū Gardens.

午後から羽田まで見送りに行ってきた。
新宿から東京、東京から浜松町でモノレール。高速バスを使うようになってから、かなり久しぶりにモノレールに乗った。PASMO が使えるようになっていたは時代の流れか。しかしモノレール自体の乗り心地は変わらないな :|
羽田でお昼を食べて高速バスで帰ろうと思ったが時間が合わなかったので、再びモノレールで浜松町へ。モノレールの中でいつものハンディ地図の浜松町駅周辺をながめつつ、なんか紛らわしい名前のビルも気になったので浜松町を探索することにした (が、あまりに暑いので銀行に寄るだけにした)。銀行を探していると「オフィス街のくつろぎの庭」なんて書かれた看板が目に入ってきたので入場料 150円を払って名勝 旧芝離宮恩賜庭園なる場所に足を踏み入れてみた。そして「セルフガイドシート」なんてのを片手に総面積43,070.53㎡の庭園を一周した:
shibarikyu-20080804-01.jpg
shibarikyu-20080804-07.jpg
shibarikyu-20080804-09.jpg
shibarikyu-20080804-10.jpg
なんと、池にはいろいろなUMAが生息していた:
shibarikyu-20080804-18.jpg
shibarikyu-20080804-19.jpg
shibarikyu-20080804-20.jpg
shibarikyu-20080804-22.jpg
shibarikyu-20080804-24.jpg
一周して出口に戻ってきたら暑くて茹でだこ状態だった。どおりで人がほとんどいないわけだ :$
庭園を歩いていて、自分自身今まで見たことも聞いたこともないお菓子の話してもらったことを思い出し、東京経由ではなく品川経由でそのお宝を買って帰ることにした。
JR品川駅に直結しているエキナカ商店街も初めてなんでうろうろしながらお目当てのお菓子を探していると、ついつい美味しそうなエクレアを見つけてしまい、たまらず買ってしまった:
qbg-eclair-20080804-01.jpg
というわけで、結局本来お目当てのお菓子には出会うことはありませんでした (すみません。最後の最後に見つけましたが、その大きさに不釣り合いな値段から見て見ないふりをして山手線のホームへ素通りしてしまいました):P
しかし夏休みのシーズンにしては都内に人が大勢いたな。

Road to G24 (TAKE 1).

GNOME-2.23.5 のリリースに合わせて先週の初めからビルドと ja.po の更新を開始して、今日現在まで nautilus あたりまで完了。evolution-data-server (E-D-S) を先にインストールする都合、メールが読めなくなる可能性もあるので evolution もビルドしておく (日本語の更新は未)。
簡単にトピックスをおってみると:
glib
特に前バージョンから大きな変更はないようだ。
国際化のマクロとして、配列等のメッセージをコンテキスト付きで翻訳ドメインにはき出せるようにするマクロ NC_() (N_() + C_()) が追加されていた。UNICODE はバージョン 5.1 をサポートしたようだ。あと GIO も API がいくつか追加されているようだ。
日本語メッセージの更新は完了。
gtk+
今まで gail (GNOME Accessibility Implementation Library) から提供されていた、atk 経由で文字列のアクセシビリティを拡張するための API がマージされた (もともと API は数個程度だったし、ライブラリが1つ減るのはいいことじゃないでしょうか)。
gdk-pixbuf では MacOS-X のアイコンや JPEG2000 がサポートされたし、ファイルからの展開の他に GIO ストリームから直接 Pixbuf を生成できるようになったみたいだ。
GtkFileChooser クラスで入力したファイル名の自動補完が強化された (「該当なし」とか日本語で表示される)。
GUADEC 2008 後に Miguel が噛みついていた GSEAL() マクロを使った実装も各クラスにマージされた模様だ (このマクロを使うと、いろいろなオブジェクトの中にあるパブリックなメンバを全てプライベートに「底上げ」する。そのため、これらのメンバにアクセスするためのアクセッサを提供する必要がある。GTK+ 3.0 へ向けた互換性等の維持で必要になってくるようだ)。
また DirectFB の実装はほったらかしにされているようだ。まったくビルドできない。DirectFB が華だったのは gtk-2.8 くらいだな。
日本語メッセージの更新は完了。
あと興味深いのは glib と gtk+ の両方にマージされ、昨年末から今年の初め頃にアナウンスされていた Testing フレームワーク (他にこんな情報とか) で、これはなかなか面白そうな仕組みだ。
gnome-keyring
ビルドしてインストールし再起動して確認しようとしたら ssh agent が動かない問題にはまった。GNOME への commit は ssh 経由で行う必要があり、この問題のためXからは commit できなくなってしまった :$。一応端末からは、パスフレーズを毎回入力すると ssh 通信できるので Ctrl+Shift+1 とかで端末に降りて commit している。これがリリース直前でなくて良かった :/
nautilus
ここにあるように一番の目玉はタブ機能が付いたことか。他にも表示形式として、アイコンや一覧の他にコンパクト表示が追加されている。これらは共にブラウザ・モードでのみ利用できる。空間モードは従来と同じ。
タブ機能の UI は epiphany のそれの構成に近かったので、日本語メッセージもそちらに倣った。ちなみにキーボードやマウスからの操作もほぼ同じ。Alt+数字で指定した番号のタブを開いたり、Ctrl+W でタブを閉じたり、フォルダをマウスの中ボタンでクリックするとタブが開くとか。
nautilus-tab-support-2008080301.png
ブラウザ・モードにするとメニュー項目にタブが追加される
nautilus-tab-support-2008080302.png
タブを開くとこんな感じ
GConf 経由でタブ機能を無効にしたり、タブを開く位置 (現在のタブの前後どちらか) を指定することができる。
コンパクト表示の方はどのモードでも利用できる:
nautilus-tab-support-2008080303.png
従来の表示形式同様にメニューや場所バー横のプルダウンメニューから選択できる
nautilus-tab-support-2008080305.png
どこぞの OS でも見たことのある表示形式だ
nautilus-tab-support-2008080304.png
設定ダイアログからコンパクト表示する際のレイアウトを指定できる
他にも Bug Fix やゴミ箱から CD/DVD を焼けないようにするとか細部の仕様も変更されており、このバージョンから少しは Nautilus の存在が見直されるんじゃないかな ;)
さらにコンテキスト・メニューの日本語訳を一部変更した:

#: ../src/file-manager/fm-directory-view.c:7611
#, c-format
msgid "_Open with \"%s\""
msgstr "%sで開く(_O)"

原文にあるダブルクオーテーションは余計だということで試験的に無くしてみた。ほとんどの場合、日本語の全角文字と連結するので読みやすくするため。
nautilus-tab-support-2008080306.png
コンテキストメニューの幅が小さく全体的にコンパクトになった(気のせいか)
あと、実際には確認はしていないのだけれど metacity は縦横どちらかの方向にのみ最大化する機能なんかが実装されたようだ。Emacs を使っていて横方向はそのままで、縦方向にのみ広げたい場合なんか便利なような気がする。どんなもんでしょう。