新しくなったこと 〜開発者向け〜

次に示す内容は GNOME 2.26 のプラットフォームを利用する開発者には知っておいてもらいたい重要な変更点です。この内容に特に興味がないのであれば、このセクションを飛ばして次の「セクション 5 - 国際化」をご覧下さい。

この GNOME 2.26 はデスクトップだけではなく開発者向けのプラットフォームもまた最新版です。安定版のライブラリからは GNU LGPL の下で利用できるいろいろな API や ABI が提供されており、クロス・プラットフォームのアプリケーション開発にも利用できます。

廃止になったライブラリの利用

GNOME 3.0 の開発を始めるにあたり、以前から廃止 (Deprecated) を予告されていたライブラリや API が削除される予定です。対象となるコンポーネントには libgnomelibgnomeuilibgnomeprintlibgnomeprintuilibglade、そして libgnomevfs といった GNOME 専用のライブラリが含まれています。デスクトップの一部として提供されているアプリケーションに対しては「整理すべき項目の一覧」に従って、廃止になったライブラリや API の呼び出しを無くしていく予定です。これにより GNOME 3.0 へのスムーズな移行を実現します。

したがって開発者は自分のアプリケーションについてこのルールに従うことが強く求められることになります。なお、 この作業に関して何か手伝いたいと考えている開発者 (または挑戦してみたいと考えている開発者) のために、GNOME goals の Wiki には未だ完了していない作業の一覧が用意されています。

4.1. GTK+ 2.16

GTK+ のバージョン 2.16 は GTK+ ツールキット・ライブラリの最新版で、GNOME のプラットフォームの「心臓部」に相当します。このバージョンの GTK+ には、次期バージョンの GTK+ 3.0 に対する大規模なバグの修正やコードの整理の他に、開発者向けの新しい機能が2つあります。

GtkEntry 型のウィジェットではエントリの前後にアイコンを表示できるようになりました (これは実行時のロケールに依存します; RTL なロケールならエントリの後ろに表示される)。これらのアイコンはオプションでフォーカスが当たったら明るくなるようにしたり、マウスなどでクリック可能にできます。

図 8GtkEntry の中にアイコンを表示する例

GtkEntry 型のウィジェットでプログレスバーを表示できるようになりました。

図 9プログレスバーが付いた GtkEntry の例

新たに GtkAction 型のインスタンスに接続することが可能な GtkActivatable というインタフェース (型) が追加されました。

4.2. ディスクに書き込むための API

libbrasero-media というライブラリでは、CD や DVD に書き込む GNOME 向けインフラストラクチャにアクセスする際の API が用意されています。例えば GNOME 動画プレイヤーでは、この API を使って DVD や VCD に動画を描き込むプラグインが含まれています。

4.3. Evince にアクセスするための API

ドキュメント・ビューアの Evince の中で使用されている EvView 型のウィジェットを外部に提供するために libevview というライブラリが新たに追加されました。これにより、他のアプリケーションでも Evince のドキュメント表示コンポーネントを埋め込むことができるようになりました。

サード・パーティ製のドキュメントを Evince で表示できるようにするバックエンドを開発できるようにするために、libevdocument というライブラリが新たに追加されました。これにより、Evince のソース・コードを直接変更する必要が無くなりました。

この2つのライブラリに対する Python バインディングも gnome-python-desktop の中に追加されました。

4.4. Anjuta

GNOME 2.26 では、統合開発環境である Anjuta に対してすばらしい改善がたくさん施されました。その中には、素早くソース・コードを閲覧できるようにするためのブックマーク・システムの追加や、ソース・コードのシンボル補完のエンジンの作り直しなど注目すべき変更点が含まれています。シンボルの補完やコールチップを表示するために、pkg-config を用いたライブラリの自動検出が利用できるようになりました。

さらに、バージョン管理システムと Glade インタフェース・デザイナの機能も大きく前進しました。SubversionGit といったバージョン管理システムを用いたプロジェクトでは、ファイルの状態を表すアイコンをツリーに表示できるようになりました。Glade から自動的にコールバックを生成できるようになりましたし、GtkBuilder 形式のファイルもサポートされました。

GNOME のモバイル向けプラットフォームを改善するために、gdbserver を用いたリモート・デバッグや Scratchbox (のバージョン2) のサポートもまた追加されました。