GIP-NG, a YA Internet Protocol Calculator.

なるアプリを書いてみた。
というか、正確にはもともと Gip という名前で、インターネット計算機とか IP アドレス計算機とか言われていたアプリを書き直しただけなんだけれど。このオリジナルの Gip は C++ 言語と gtkmm を使ったアプリで、かなり前 (2005年くらい) からリリースが止まっている。気になるほどではないバグが残っているだけで、特に不便はないのだけれど、C++ ではなく C言語の GObject を使ってクラスを実装し、ついでに GTK+ のツールキットをアップグレードしてみた。主な変更点は次のとおり:

  • ビルド環境を autotools にした
  • ツールキットを GTK+ バージョン3にアップグレードした
  • GtkBuilder クラスのユーザ・インタフェースにした
  • オリジナルにあったバグを修正した
  • GOject 化した
  • うちのサイトで公開した

ツールキットは違うけれど、ユーザ・インタフェースの構成はほぼ同じ (芸がなくて済みません;():
Gip (オリジナル)
gip-20120626.png
GIP-NG
gip-ng-20120711.png
オリジナルと変わらない操作性なので違和感はないとは思うけど、起動時にデスクトップの中央に配置されるようにした (ホントはウィンドウマネージャに委譲するのがスジだとは思うけど)。
ソース tarball をダウンロードするか、リポジトリをチェックアウトするかしてビルドできる。実際にインストールしなくてもその場で実行して試せるビルド・オプション (–enable-run-in-place) なんかを用意した。デバッグ文は環境変数 (export MKF_DEBUG=x) を指定すると表示されるようになっている。debian パッケージの debhelper 関連のファイルもあり:

$ tar xvfJ gip-ng-1.9.90.tar.xz
$ cd gip-ng-1.9.90
$ ./configure --enable-debug --enable-run-in-place
もしくは
$ git clone git://mikeforce.net/gip-ng
$ cd gip-ng
$ ./autogen.sh --enable-debug --enable-run-in-place
$ make
$ export MKF_DEBUG=x
$ ./src/gip-ng
# make install

オリジナルで実装されている機能は全て移植済み。あと、一応 Gip の開発者向けメーリングリストにも告知しておいた (が、もしかしたらメーリングリストも停止している!? :$)。
細かい話しだと、GtkTable を使っていたり、desktop ファイルが l10N 化されてないなどあるけど、こちらは別の機会に移植メモでもまとめる予定。
あと、ここで言うのも何だけど、各国語のメッセージ翻訳カタログの更新などは大歓迎 (And updating and new translations are always welcome.)。
あっ、そうそう GIP-NGGIP Next Generation の略です (こちらも芸がなくて済みません)。
See Also GIP-NG バージョン 1.9.90: 開発版のソース tarball (xz 圧縮)
See Also Git リポジトリ: 開発リポジトリ
See Also バグの報告はメールの他にこちらにて。