開発者、システム管理者向けの新規事項

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

ビルダー

ビルダーは、GNOME の新しい統合開発環境です。アプリケーション開発を中心として、あらゆる開発作業を迅速かつ容易に行えるようにすることを目的としています。クラウドファンディングの成功のおかげで、前回のリリースから膨大な進歩を遂げることができました。まだまだ開発は精力的に続けられている最中ですが、既に実用に耐える非常に使えるツールに成長しています。

3.18 では、ワークスペースシステムが新しく導入されました。これにより、パネルの追加や削除ができるようになります。現在のところ、使用可能なパネルには次のものがあります。ファイルブラウザー、ビルドターゲット一覧、現在のファイルに含まれる検索可能なシンボル一覧、検索可能なドキュメント索引、端末、および CPU モニターグラフ。

他にも、3.18 での改良点として次のものがあります。

  • より正確なコード自動補完。

  • シンボル一覧および自動補完ポップアップにおいて、項目の隣にアイコンを表示するようにしました。これにより、その項目が何の種類のオブジェクトであるか判別できるようになります。

  • コマンドを素早く実行できるポップアップコマンドバーの外観を一新しました。また、ウィンドウ低部からスライドアップで表示されるようにしました。

  • Python の自動補完を実装しました。Jedi を使用しています。

  • ショートカットウィンドウを新しく搭載し、使用可能なキーボードショットカットおよびタッチパッドジェスチャーの一覧を簡単に参照できるようになりました。Ctrl+Shift+? のショートカットキーで表示できます。

  • プラグインシステムを新規に導入しました。プラグインは Python 3、C 言語、または Vala で作成できます。

Wayland

GNOME 3.18 でも、Wayland のフルサポートへの旅は着実に続けられています。Wayland 上での GNOME 体験は成熟度を増しています。Wayland で GNOME を試すちょうど良い時期に来ています。

  • Wayland アプリケーション用の高解像度ディスプレイサポートが実装されました。HiDPI カーソルのサポートも含まれます。

  • コピー・アンド・ペースト、およびドラッグ・アンド・ドロップが、ウィンドウ間で動作するようになりました。Wayland アプリケーション同士でも、Wayland アプリケーションと X11 アプリケーション間でも、どちらも可能です。

  • ポップアップ表示 (コンテキストメニューやツールチップなど) が、端末を含め多くの場所で使用できるように修正されました。

  • システムモニターなど多くのアプリケーションが、Wayland 上で動作できるように修正されました。

  • カーソルアニメーションのチラつきを無くしました。

  • GTK+ の OpenGL サポートが、Walayand 上で利用可能になりました。

  • コンポジターおよび GTK+ ともに多くのバグ修正が含まれています。

ヒューマン・インターフェース・ガイドライン

GNOME のヒューマン・インターフェース・ガイドライン (HIG) を 3.18 で大幅にアップデートしました。全体の構成やナビゲーションを改善し、HIG をより利用しやすくしました。内容についても、アプリ内通知や、情報バー、OSD コントロール、アイテム無し時のプレースホルダーなどガイドラインの更新、拡充を行いました。

GTK+

3.18 では、GTK+ の改良点がたくさんあります。

  • gtk-builder-tool という新しいツールが利用できます。これを使えば、GtkBuilder の UI ファイルの妥当性検証や簡素化を行うことができます。

  • 3.18 には、タイポグラフィーに関する新機能がたくさんあります。色付き下線、レタースペーシング、フォント機能、半透明フォントカラーなどが実装されました。独自のフォントマップやフォントオプションもサポートしました。ここで紹介した機能は、Pango マークアップを使って利用できます。

  • GtkOverlay::pass-through プロパティを使用することで、出力専用ウィンドウをサポートしました。これにより入力を適切なウィンドウにパススルーできるようになり、流動的な情報を扱う場合やデコレートオーバーレイを使用する場合に役立ちます。

  • GtkGesture に、タッチパッドジェスチャーの組み込みサポートを実装しました (Wayland 上でのみ利用できます)。

3.18 からは、GTK+ インスペクターのキーボードショートカットを使用する場合、明示的に有効にしておく必要があります。DConf エディターを使って設定できます。org ▸ gtk ▸ settings ▸ Debug の enable-inspector-keybinding にチェックを入れてください。あるいは、次のコマンドでも有効にできます。

gsettings set org.gtk.Settings.Debug enable-inspector-keybinding true

アプリケーションサンドボックス

GNOME のアプリケーションサンドボックスの新プロジェクトは、セキュアで隔離されたアプリケーションの作成を可能にすること、またそのアプリケーションを複数ディストリビューションでインストール可能にすることを目的としています。この技術は、3.18 の開発サイクルで大幅に進歩しました。XDG-App (ランタイムおよびアプリケーションをインストール可能にするツール) が、freedesktop.org の公式プロジェクトとなり、いくつかのディストリビューションでは既に利用することができます。さらに、GNOME 公式のランタイムと SDK を sdk.gnome.org から取得できます。

このプロジェクトのサンドボックス機能は、まだまだ未完成であり、今後も開発が進められて行きます。詳細な情報については、アプリケーションサンドボックスの Wiki ページを参照してください。

GLib

3.18 での GLib の変更点は次のとおりです。

  • スレッドプールの 10 スレッド制限を無くしました。

  • ネットワークの計測情報が GNetworkMonitor で利用できるようになりました。

  • 互換性の改善:GNotification が OS X で動作するように実装されました。GAppInfo が部分的に Windows で実装されました (レジストリがバックエンドになっています)。

Clutter

3.18 では Clutter の改良がたくさんあります。

  • OpenGL 3.x コンテキストを、利用可能であれば使用するようになりました。利用できない場合は、旧来の OpenGL API にフォールバックします。

  • タッチパッドジェスチャーが、libinput バックエンドにてサポートされるようになりました。これは、GNOME Shell などの Clutter ベースの Wayland コンポジターで利用できます。

  • GListModel 実装を ClutterActor インスタンスにバインド可能になり、モデル内のオブジェクトから自動的にアクターを生成できるようになりました。

  • X11、Wayland、および GDK の入力に関する改善がたくさんにあります。たとえば、Wayland でのタッチパッドによるジェスチャーサポートや、X11 でのタッチパッドの適切な検出、カーソルトラッキングの改良などがあります。

WebKitGTK+

新バージョンの WebKitGTK+ には、広範囲に渡る新規 API や新機能があります。

  • Web インスペクターを一新し、新機能も追加しました。

  • 新規 API (WebKitWebEditor など) により、WebKit をアプリケーションに統合するのがより簡単になりました (特にエディター機能など)。

  • 新クラスの WebKitWebsiteDataManager を使うことで、Web サイトがローカルに蓄積しうる、ますます多様になるデータを管理しやすくなります。

  • WebKitWebContext ごとに Web プロセスの最大数を設定できる API を追加しました。これにより、メモリの総消費量を抑えることができます。

より詳細な情報については、新規 API の完全な一覧を参照してください。

その他の改良点

GNOME 3.18 では、他にも開発者向けの改善点があります。

  • 多くのライブラリで g_autoptr をサポートしました。これにより、リソース確保がより簡単になり、エラーも起き難くくなります。対象としては、libgnome-desktop、libsoup、libappstream-glib、libupower-glib、packagekit-glib2、libgit2-glib、および gdk-pixbuf が該当します。その背景や使用例については、Ryan Lortie のブログ記事を参照してくだい。

  • gedit にミニマップ機能を搭載し、スクロールバーの隣にファイルの全体像を表示できるようになりました。

  • gitg に、初回起動時のセットアップガイドを設けました。ホームディレクトリでのリポジトリ作成を支援します。

  • 複数ファイルに対してテキストを探索する、新しい gedit プラグインを追加しました。