tags: gtk

GTK+ 3 IS HERE

GTK+ 3がめでたく2月10日にリリースされた!以下ブログの翻訳(俺訳なので誤訳あるかも。正確なのは原文をあたってね。訳文のカッコ、リンクは俺) GTK+ 3 が出た!

GTK+ 3 のリリース

This marks the end of several years of work. It has been quite a journey, with some interesting turns and a few lessons learned. I may write about that another time. For now, I want to focus on the celebration.

この数年の作業の末に、GTK+ 3をリリースした。その間のいくつかの面白い展開、学習はまさに旅と呼ぶにふさわしい。それについてはまた別の機会に書こうと思うが、今はただリリースを喜びたい。

GTK+ 3における新機能

The GTK+ 3 effort started out as a ‘big cleanup’ effort, but over time, we’ve added a number of noteworthy features

GTK+ 3に対する取り組みは「(GTK+ 2の)全面的なクリーンナップ」として開始したが、時を経るにつれ、私たちはいくつかの機能を付け加えていった。

  • Cairo drawing throughout. GDK no longer wraps the antiquated X11 drawing API; we’ve made a clean break and exclusively rely on cairo for all our drawing needs now. This has also enabled us to remove several other X11-centric concepts such as GCs, colormaps and pixmaps. The hero who did most of this work is Benjamin Otte (Red Hat).
  • Cairoが全ての描画を行う。GDKはもう古めかしいX11描画APIのラッパーではない。私たちはX11描画APIと決別し、Cairoに全ての描画を依存するようにした。これにより他のX11依存の機能、例えばGC(GDK Graphics Context)やカラーマップ、pixmapなども捨てることができる。Red HatのBenjamin Otteがほとんどの作業を行った英雄である。
  • Modern input device handling. The input device handling in GDK has long been a sadly neglected area (not least because most of the core GTK+ developers are not regular users of ‘exotic’ input devices). This has changed; with 3.0, GTK+ steps into the modern world of XI2 with full support for multiple pointers, keyboards and other gizmos. The person who deserves the credit for this is Carlos Garnacho (Lanedo).
  • モダンな入力デバイスのコントロール。GDKによる入力デバイスの制御は、悲しいことに長い間なおざりにされてきた(ほとんどのGTK+コアディベロッパーは’風変わり’な入力デバイスのユーザーではなかった)。しかしこの状況は変化した。GTK+ 3.0ではモダンなXI2(によるバックエンド)により、複数のポインタ、キーボード、その他のデバイスをサポートする。LanedoのCarlos Garnachoがこれに貢献した。
  • A new theming API which sports a familiar CSS syntax for theme configuration and other improvements such as animated state transitions. This is also largely the work of Carlos.
  • 新しいテーマAPI。CSSに似た設定と、状態変化時のアニメーションをサポート。こちらもCarlosによる貢献。
  • More flexible geometry management, with support for height-for-width, for both widgets and cell renderers. After an initial SoC project by Mathias Hasselmann, this feature was finally brought over the finish line by Tristan Van Berkom (Openismus), who is also maintaining glade and keeping it up-to-date for GTK+ 3.
  • より柔軟なジオメトリの制御。高さ、幅、ウィジェットとCell Renderer双方に適用可能。SoC(Google Summer of Code)におけるMathias Hasselmannのプロジェクトの後、OpenismusのTristan Van Berkomによって完成した。TristanはGlade(インターフェイスデザイナ)のGTK+ 3サポートメンテナでもある。
  • Multiple backend support for GDK. With GTK+ 2.x, you had to recompile your application to have it work with a different GDK backend, since GDK backends were separate libraries. In 3.0, multiple GDK backends can be built into a single library and selected at runtime. This will make it much easier to move from e.g. X11 to Wayland or from Quartz to X11.
  • GDKが複数のバックエンドをサポート。GTK+ 2.0ではGDKバックエンドが分離していたため、異なるGDKバックエンドを使用するにはアプリケーションをコンパイルし直す必要があったが、GTK+ 3.0ではGDKバックエンドは1つのライブラリになり、実行時に選択できるようになった。これによりX11からWaylandへの移行や、QuartzからX11への移行などがより容易になる。
  • Easy application support. With the integration of D-Bus support in GIO, we could finally add a GtkApplication class that handles a lot of the platform integration aspects of writing an application, such as keeping track of open windows, ensuring uniqueness, exporting actions, etc. This is still a bit of a work in progress, and will be expanded during the 3.x cycle. What we have now is there mainly thanks to the effort of Colin Walters (Red Hat) and Ryan Lortie (Codethink)
  • 容易なアプリケーションサポート。GIOD-Busサポートにより、多くのプラットフォームをサポートできるGtkApplicationクラスを追加した。これにより開かれているウィンドウやプロセスの管理、エクスポートをプラットフォーム非依存で管理することができる。作業はまだ継続中であるが今後の3.xリリースの中で拡張されていくであろう。Red HatのColin Walters、CodethinkのRyan Lortieに感謝したい。
  • Of course, there’s some new widgets as well, such as a switch and an application chooser.
  • もちろんスイッチ(GtkSwitch)やアプリケーションチューザー(GtkAppChooser)といった新しいウィジェットもある。 Calling out the heroes of GTK+ 3 like this is inherently a bit unfair to the hundreds of other contributors that we have, but it would be *really *unfair to not also mention Javier Jardón, who has been tirelessly working on the initial cleanup tasks, and has generally done a lot of the thankless janitorial work.

上記のGTK+ 3の英雄たちに言及することは、多くの他のコントリビューターに対して公平ではないかもしれないが、Javier Jardónに言及しないことはもっと公平ではないだろう。彼は初期のクリーンアップ作業を根気よく行い、(上手くやったとしても)感謝されることもない管理作業を紳士的に行った。

次にどうするか

As always, we didn’t achieve all the things that we wanted to get, and things have been left unfinished. So, in the near future, I expect us to complete the extended layout and theming work inside GTK+, and generally make sure that GTK+ 3 works well for GNOME 3.0. I also expect that will pick up the application support topic again and add some of the bells and whistles that are needed for GNOME 3 applications, such as jump list and application menu support.

いつもの通り、我々はやるべきことを全て終わらせた訳ではないし、達成できていないこともある。近い将来テーマに関する作業と、レイアウトに関する作業を終了するだろう。またGNOME 3.0に対してGTK+ 3が上手くあわせられるようにする作業もできるだろう。その後に、アプリケーションから見た場合にGtk+ 3に必要な事項に見極め、取り組むことになるだろう。例えばジャンプリストや、アプリケーションのメニューのサポート等がそれにあたる。

At the GTK+ hackfest in La Coruna last October, we had the chance to talk about more far-reaching changes like paint clocks, animation, windowless scrolling, capture/bubble event propagation, a Wayland backend, etc. We have been slacking off on turning these ideas into a roadmap for GTK+ beyond 3.0, but this is another topic that we will pick up again after the dust settles.

昨年10月にア・コルーニャで行われたGTK+ hackfestで私たちはより先のことについて話し合う機会があった。例えばペイントクロックや、アニメーションや、ウィンドウレスのスクロールや、イベントのキャプチャや伝播についてや、Waylandとの連携などである。これらの事項はGTK+ 3.0以降のロードマップには含まれていないが、(GTK+ 3のリリース、リリース後の作業などの)混乱が収まった後に、再度取り上げられるべきトピックである。

GTK+ 2.xはどうなる?

As I said in my release announcement, 2.24 is the ‘final’ release of GTK+ 2.x. I expect to continue fixing bugs and doing occasional 2.24.x maintenance releases for many years to come. If the past is any guide, I will do this until retirement – after all, there are still people using GTK+ 1 applications…

リリースアナウンスメントの通り、2.24は「最終の」GTK+ 2.xリリースである。バグの修正や、それに伴う不定期の2.24.xのメンテナンス・リリースは今後数年に渡り発生するかもしれない。過去の経緯を見てもわかる通り、私はGTK+ 2.xのメンテナンスをそのリタイアまでやることになるだろう。世の中には今だGTK+ 1を使ったアプリケーションも存在しているのだ。

どこで手に入れるか?

You can find the release in the usual place:

ftp://ftp.gtk.org/pub/gtk/3.0/ http://download.gnome.org/sources/gtk+/3.0/

The documentation is available online at:

http://library.gnome.org/devel/gtk3/3.0/

Note that these links might take a few hours to go live.

以下のページから手に入れることができる。

ftp://ftp.gtk.org/pub/gtk/3.0/ http://download.gnome.org/sources/gtk+/3.0/

ドキュメントについては以下を利用することができる

http://library.gnome.org/devel/gtk3/3.0/

おそらく上記のリンクはこの数時間で利用可能になるだろう

GtkBuilderに移行しようかどうかひとしきり悩む

ここを見ながら。とりあえず次のリリースはlibgladeのままにしよう。大変そうだし。 とはいえGazpachoはおいしそう!今度作ってみようかな!