Evolved panel operations!?

v2.9.4 リリースで、デスクトップの顔である GNOME パネル、GNOME セッションが大幅に書き直された。前の開発バージョンまで特に変化が無かったので、少々驚きだ。
GNOME コア (GNOME1時代) から GNOME デスクトップ、パネル、セッション (GNOME2) と分割され、この開発版 2.9 から GNOME メニューが加わった訳だ。

GNOME パネル
メニューのエントリを扱う部分を除いてシンプルになった分、GNOME パネルのルート・メニューに手が加わっている。GNOME-2.8 からトップパネルがデフォルトになったので、違いが直ぐにわかるところでもある。新たに 場所 (Places) が追加され、従来までのメニュー・エントリの移動がいくつか:

【トップ・メニューが増えた】

gnome-panel-2005011501.png

【コンパクトにまとまったアプリケーション・メニュー】

gnome-panel-2005011502.png

【希望する場所を一発で開けるよう追加されたメニュー】

gnome-panel-2005011503.png

【デスクトップ設定が加わった、ユーザの操作主体のメニュー】

gnome-panel-2005011504.png

ちなみに、パネルの角の丸みとか、メニュー・ストライプとかはオリジナルではないです。
メニューが増えたせいで、トップパネルに表示できる範囲が狭くなり、やりくりがキツクなったと思うのは俺だけかな :-(

GNOME セッション
GNOME1の頃のログアウト方式から、GDM のプロパティを見て Shutdown/Reboot のオプション画面を表示するようになった。なので、GDM 経由でログインしていない場合は、システム管理者であってもシャットダウンや再起動といったアクションを選択できない。
そういえば、この GDM のメンテナ (GOBの作者、ドキュメントもいろいろ書いていた人だ)、学業が忙しいく自由な時間がとれないようでメンテナ募集してたな。

GNOME メニュー
Desktop Menu Specification に対応した、メニュー・エントリ関連が全てまとめられた。エントリのノード操作、レイアウト、デバッグ関連のライブラリと、.desktop からなるエントリ自身を提供するようになった。

Full features as a Groupware.

今日現在、GTP の翻訳ステータスでは完訳になっている次期バージョンの Evolution-2.2 (開発版: v2.1.2) だけども、実はこんなんだったりする:

% intltool-update ja
..............................................................................
..............................................................................
3962 個の翻訳メッセージ, 297 個の翻訳があいまいです, 92 個の未訳のメッセージ.

しかたないので、一連のパッケージを CVS からビルド/インストールしながら日本語メッセージを更新する
実際のところ、動作は不安定。その代わり、新規で追加された機能はてんこ盛り。詳しくは Evolution のブログDesktop Integration Bounty Hunt のページを参照のこと:
・新規メッセージの 1/2 くらいを占めていたのが アクセシビリティ 向けのもの。支援技術モード ではなく通常モードでは表示されないけど。この辺りの力の入れようは、他のアプリでは後回しにしている分、評価できる。
・しこたまプラグインが追加された。先月スタートした、いわゆる EPlugin Hackfest で集められたものだ。数えただけでも25個もある。独自に動作するものやメニュー、設定ダイアログに埋め込まれたりするものなど形態はいろいろ。代表的なものは、メーリング・リスト向けの一連の使用方法をそのままアクションしたもの、Gaim インスタント・メッセンジャとの連絡先の同期、予定や連絡先を CSV 形式でエキスポートしたり、使用中の設定のバックアップをとったりと種類もさまざま。スマイリーの自動入力なんかはうれしいけど、HTML モードでないと利用できない。
evo-2.1.2-20050110.png
evo-2.1.2-200501101.png
evo-2.1.2-200501102.png
・ぱっと見て一番気になるのは、メイン・ウィンドウの左下に付いていたメール連絡先タスク などのウィンドウ切り替えボタンだろう。ボタンのスタイルを変更したり、隠したりすることができるようになった。
【従来のスタイル】
evo-2.1.2-200501103.png
【アイコンだけのスタイル】
evo-2.1.2-200501104.png
・上記のプラグイン追加に伴う、若干のメニュー構成の変更など。
・カレンダで予定やタスクにファイルを添付したり、逆にメッセージ本文から連絡先やタスクを作成できるようになった。結構、この機能ってうれしい。メールで作業の指示を受け取ったら、そのままタスク一覧に追加できるので。
と、まぁ v2.2 に向けて一段と多機能になってきたけど、その分不安定で動作も重いな。いっそのこと、軽量化のためにメールとかカレンダとか全てプラグイン化してくれれば良かったか。

Stolen GNOME arts, but using wrong.

笑ってしまった。:D
jimmac のブログより:
GNOMEのアートワークを横取りする人々が、ソフトウェアの著作権侵害に関するページを提供しているのが面白い。”
彼が作成した GNOME 向けのアイコンを盗用した会社のページで、著作権侵害を謳っていると。
っていうか、貼り付けられているアイコンの用途が不明だ…
皆もそう思うらしく、そのコメントにも:
But i don’t see what they have done wrong by using this icons…と。
GNOME Human Interface Guidelines 2.0 を読んでもらった方が良いのでは ;-)

Possible to export HTML by Planner.

久々に Planner の ja.po を更新した
CVS 版の v0.12.90 では GNOME-DB 経由でデータベースに保存したプロジェクトをインポートしたり、Evolution データ・サーバ (いわゆるアドレス帳) に登録した人をリソースとして取り込むことができる。さらには、作成したプロジェクトの概要をこんな感じの HTML へ変換してエキスポートする機能も追加された。GNOME-Print 経由の印刷機能も装備しているけれど実装が不完全なので、HTML エキスポート機能は便利かも。
Planner の良いところは、旧名称 MrProject から完全に GObject 対応で書き直されている点だ。そのため GObject 対応のスクリプトバインディング (たとえば Python 経由) でタスクを追加したり、表示することができるし、v0.11 からは mono:: 用のアッセンブリ (.dll) も提供されているので、C# なんかで Planner オブジェクトを生成できる:

using System;
using Planner;
using Gtk;
public class Test { static int Main() { Planner.Application app; Task task;
Gtk.Application.Init (); GtkSharp.Libplanner.ObjectManager.Initialize ();
app = new Planner.Application ();
task = new Task (); Console.WriteLine (task.Start); Console.WriteLine ("Planner here"); return 0; } }

なんかの C# コードを mcs コンパイラでビルドする:

% mcs -o example.exe  -L ../libplanner -r libplanner.dll -pkg:gtk-sharp Example.cs

きちんと設計段階から GObject を意識し、それを実装した上で .Net 用アッセンブリを提供する開発スタイルはすばらしいな。

Fake system configurations.

v2.9.4 リリースに向けて、いくつか CVS 版をビルド/インストールしながら ja.po を更新した。v2.9.x の GNOME コントロール・センタだけど、見た目は MacOS-X のシステム環境設定そのもの:
20050104-gnome_control_center.png
正式にリリースされたら、どこぞの掲示板でやり玉にあがりそう :0
GNOME1 の頃から思うけど見た目なんかどうでもよくて、G-S-T を含めて、アカウント情報やネットワーク環境など使っているシステム全体をまとめて設定できる機能を要求されると思うのだが、ユーザ毎のデスクトップという小さな枠組み (オブジェクト) でしか捉えられないのはどうだろうか。毎回、水掛け論になってしまっているが。KDE プロジェクトの方は大は小を兼ねるというデスクトップ統合を計っているが、そういう意味で GNOME の場合、システム設定デスクトップ設定 のようにアクセス権限が及ぶ枠組みで個々のオブジェクトを位置づけているので、使い勝手や機能の統合化という面では制限がついてまわるのは常か。
ならば、なおさらコントロール・センタは、それら両方を透過的に提供できるよう、一緒に表示して実行時に制限するとか工夫しなければならないと思うが。
このバージョンから、desktop ファイルは全て $prefix/share/applications にまとめられ、従来の $prefix/share/control-center-2.0 にあるものは無視されるようになったので、表示されるエントリが少ないと思ったら移動する必要あり。