開発者、システム管理者、ディストリビューター向けの新規事項

GNOME 3.16 は、GNOME 技術を使って作業する人向けの新機能や機能強化をたくさん導入しています。

GTK+

3.16 で、GTK+ は OpenGL を組み込みでサポートします。これにより、3D グラフィックをヘビーに使用するアプリケーションは、新しい GtkGLArea ウィジェットを使用して、GTK+ と関連付けて作成できるようになります。GTK+ 3.16 の OpenGL サポートは、以前の GtkGLArea と GtkGLExt ライブラリに対する有効な代替物となります。

他にも、このバージョンの GTK+ の変更点として次のようなものがあります。

  • Mir ディスプレイサーバーに対するディスプレイシステムバックエンド。

  • GtkPopoverMenu、ポップオーバーにメニューを作成する新しいウィジェット。

  • テーマは、複数バージョンの GTK+ を同時にサポート可能に。バージョン固有の CSS を含めるようにします。

  • OS X におけるアプリケーションメニューのサポートの改善。

  • GtkTextView における選択動作をカスタマイズ可能に。

GTK+ インスペクター

GTK+ のライブインスペクターには 3.16 で改良点が大量にあります。新機能の一部に次のものがあります。

  • インタラクティブな JavaScript プロンプト。

  • GLib の新しいメモリトラッキング機能に対するインターフェース。

  • ウィジェット調査時の拡大鏡 (特にテーマ作者には便利です)。

  • 複数ディスプレイ接続時にインスペクターの独立性を向上。設定変更は、調査対象のアプリケーションのみに影響を与え、インスペクター自体には影響しないようにしました。

  • ユーザーインターフェースを大幅に改善。空間をより効率的に使用し、また移動を行いやすくしました。

GLib

GNOME 3.16 は GLib 2.44 と同時にリリースされます。最新の GLib には数多くの新機能があります。

  • GObject インスタンスカウントは、参照リークの検出に役立つ新しいデバッグ機能です。この機能を使用するには、GOBJECT_DEBUG=instance-count の環境変数を設定した上で、g_type_get_instance_count() を呼び出してください。指定した型の生存オブジェクトの数が得られます。GTK+ インスペクターには、この機能のための UI を搭載しています。

  • GLib 2.44 で GListModel を導入しました。GSequence ベースのオブジェクトリストです。データが GObject 内で整理されるべき場合に、GtkTreeModel の代わりとして使用できます。GtkListBox には、こうしたモデルを使用する API (gtk_list_box_bind_model) があります。

  • GLib のネットワークモニター実装を大幅に改良しました。これは、既存の GNetworkMonitor インターフェースからアクセスでき、現在のネットワーク状態を調べることができます。

  • 新しい G_DECLARE_TYPE マクロを使えば、C 言語で GObjects を作成する際に必要だった定形記述を減らすことができます。

  • g_autoptr を使用して、ローカル変数に対する自動クリーンアップができるようになりました (GCC および Clang に対応しています)。

  • GSimpleIOStream は、GIOStreams をより簡単に生成できるラッパーです。

ビルダー

ビルダーは、全く新規の IDE です。GNOME アプリケーションを簡単に作成できることを狙いとしています。3.16 での初回リリースは、アーリープレビュー版であり、各種の編集機能を試してみることができます。たとえば画面分割や、スニペット、自動インデント、VIM エンジンなどを備えています。ビルダーは、2015 年初頭に クラウドファンディング・キャンペーンに支えられ、開発資金の確保に成功しました。今後も目玉となる開発プランがあります。たとえば、プロジェクト管理機能や、グローバルサーチ機能、バージョン管理、デバッグ、Glade との統合などが予定されています。

マルチライター

マルチライターは、イメージファイルを複数の USB デバイスに書き込むための新規アプリケーションです。さまざまな用途に応用でき、たとえばオペレーティングシステムの配布や、QA テスティング、ライブ USB ドライブでのプロモーションなどに活用できます。

その他の 3.16 での改良点

  • GDK Pixbuf は、PNGや、JPEG、TIFF、ICO、BMP などさまざまな画像フォーマットに対する読み込み、保存のサポートを改良しました。

  • Tracker の各種ユーティリティは、単一の tracker コマンドに一本化しました。以前のユーティリティ群はこのコマンドに置き換えられ、コマンドラインからの Tracker 操作がより簡単かつ便利にできるようになります。tracker --help で、利用可能なサブコマンドを確認できます。

  • libsoup (HTTP クライアント/サーバーライブラリ) は、WebSockets をサポートしました。クライアントサイドとサーバーサイドの両方に対応しています。

未来に向けて

GNOME 3.16 には、長期的な GNOME テクノロジー構想の一部となる重要な開発成果が含まれています。

  • Wayland の完全採用に向けた作業は、3.16 でも活発に継続しています。入力設定やポインターバリアーなどの機能は、Wayland との互換性を確保しています。また、入力ハンドリングは、libinput の開発を通じて大幅に前進しました。これらの変更により、Wayland への移行はもう最終段階に達しようとしています。

  • GNOME コミュニティは、新しいアプリケーションデプロイ用のフレームワークの開発に着手しました。XDG App を呼ばれており、非常にエキサイティングなものとなります。複数のディストリビューションで動作するアプリケーションを容易に開発できるようにし、また、アプリケーションをサンドボックス化して安全性と安定性を確保できるようにすることを目的としています。

  • 最後に、GTK+ の OpenGL サポートは、GTK+ Scene Graph の実装に向けた重要な成果となりました。GTK+ Scene Graph は、将来 GTK+ 用の高度なアニメーションフレームワークを提供するものです。