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

GNOME 2.12 開発プラットフォームは、サード・パーティとしてソフトウェアを開発する人達や GNOME デスクトップそのものを開発する人達に安定版を提供します。GNOME 2.12 ではユーザ管理と API の改善点がいくつか追加され、前バージョンとの互換性の維持や API の安定化が含まれています。さらに、Unix や Microsoft Windows 上で動作するアプリケーションを簡単に開発できるようにし、他のデスクトップ環境と相互運用するために必要となる標準仕様を採用しています。

3.1. GTK+ の改善点

GNOME 2.12 で採用されている GTK+ バージョン 2.8 では、ユーザ向けに面白い機能をいくつか提供しています:

  • 新しい GTK+ は freedesktop が提供する Cairo 描画 API を使用します。これにより、カスタム・ウィジットとして新しいグラフィクス効果を簡単に実装できるようになりました。近い将来、GNOME デスクトップで新しいグラフィクス効果を利用でき、印刷機能の API 同様に、ハードウェアのアクセラレーション機能を十分に活用できるようになるでしょう。
  • ドラッグ&ドロップ操作が改善され、文字列をドラッグするとその内容がプレビュー表示されます。

これらの新しい機能に加え、再コンパイルすることなく従来の GTK+ アプリケーションを利用でき、より簡単にアプリケーションを開発できるようにするために新しい API がいくつか追加されました:

  • 新しい GtkFileChooser は、ファイルを保存する際に上書きしても良いかどうか確認するダイアログを表示します。
  • GtkWindow は、ウィンドウ・マネージャに通知するヒントとして『緊急』を意味する情報を持つことができるようになったので、例えばウィンドウのタイトルを点滅させるといった効果を実現できるようになりました。
  • 新しい GtkIconView は GtkLayout のインタフェースを実装しているので、GtkCellRendererCells を介してアイテムを描画することができます。
  • 新しい GtkTextView を使えば段落毎に背景色をセットすることができ、繰り返しセットするときに非表示 (invisible) な文字列は処理をスキップできます。
  • GtkScrolledWindow に複数のスクロールバーを取得する機能が追加されました。
  • 新しい GtkMenu は垂直 (回転した) メニューをサポートし、オンスクリーン・キーボードといった特殊なアプリケーション向けにキーボードからのフォーカスを無視できます。
  • 新しい GtkEntryCompletion のポップアップ・メニューがエントリの幅よりも広くなり、マッチするエントリが一個だけの場合にはポップアップされないようになりました。
  • GtkAboutDialog で表示されるライセンス条文をラップ (wrap) できるようになりました。
  • 新しい GtkToolButton ではアイコン・テーマのアイコンに名前を付けて利用できるようになり、それらのアイコンをそのままドラッグできます。
  • GtkSizeGroup では表示不可のウィジット (hidden widget) を無視できます。

GTK+ バージョン 2.8の新しい API にある一覧も参照してみて下さい。

3.2. クロス・プラットフォーム

GTK+ ライブラリは Linux や Unix だけではなく、Microsoft Windows を含む複数のプラットフォームをサポートするアプリケーションを開発する人達の間では既によく知られた存在です。例えば、Linux や Microsoft Windows 版の GIMP や Inkscape を使って自分たちの作成した画像を編集するアーティストがたくさんいます。

さらに、ORBit2、libbonobo、libgnome、libbonoboui、libgnomeui や gnome-vfs といった、たくさんの新しい GNOME ライブラリは Microsoft Windows 上でビルドすることが可能であり、そのようなプラットフォームで動作する GNOME アプリケーションをビルドしたり配布することをさらに容易なものにしてくれます。確かにこのようなサポートは未だ完全ではありませんが、中にはそれで十分なアプリケーションも数多く存在しますし、さらには将来リリースされる GTK+ や GNOME でより完全なものになることが期待されています。

3.3. いろいろな標準仕様への準拠

GNOME は freedesktop.org のようなグループと密接に連携しながら作業を進めています。標準仕様をサポートすることは GNOME ユーザや開発者にとっても大きなプラスになります。GNOME、KDE、そして他のアプリケーションがもっと簡単に連携できるようになることで、相互運用性のサポートがユーザに与える印象も改善され、そして後述するオープンな仕様で、ユーザが使用したデータがプロプライエタリなフォーマットの罠に陥らないことを保証する一助にもなります。

GNOME の開発者たちは、アプリの相互運用性を実現する標準仕様の開発グループである Freedesktop.org と連携しながら、その他大勢のフリー・ソフトウェア・コミュニティと共に一生懸命作業を進めています。これらの仕様には次のようなものがあげられます: 共有 MIME データベースアイコンのテーマ最近開いたファイルメニューデスクトップのエントリサムネイルの管理、そして システム・トレイ の仕様です。加えて、GNOME では CORBAXMLXdndEWMHXEMBEDXSETTINGS、そして XSMP といった仕様も標準でサポートしています。