2005年04月13日

Cxplorer2の方向性について

 Webでこの様な御指摘を頂きました。

> cxplorer にいたっては漢の中の真のパンクハックだったが
>
> * 日本語がうめこめじゃなくなったというか gettext とか使ってる。
> * autoconf 化されてる
>
> 等いまみると一見普通のソフトウェアになってるぞ! というかな名前がいっしょなだけだろ!

 はい、アイコンとメニュー項目を流用している以外は、ほとんど新規に作り直しています。最近では、GObjectを採り入れたりしています。作者が変わって完全にミーハーな作りになっています:-D

 オリジナルのCxplorerでは、完全日本語対応を売りにしていました。確かにcxpシリーズの開発当時はLinuxで日本語を扱うには大変な労力が必要だったのだろうと想像します。しかし、現在のLinux環境において日本語に対応していることがアドバンテージになるのか、疑問がありました。

 Cxplorer2でプレビューペインを採り入れたのは、『MIELの様にファイルを開く前に中身が分かるファイラーが欲しい』という知人の一言からでした。ファイルマネージャがコンピュータライフの中心になっている人にとって便利な物にしたいと思っています。(まだまだ全然ヘボですが…)と同時にLinuxには強力なCUIコマンドがあるのでそれらのフロントエンドとして最大限、利用したいと思っています。
posted by Yasumichi at 00:03| Comment(12) | TrackBack(0) | 日誌 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
完全日本語対応のアドバンテージについてです。例えば日本語ファイル名はEUC-JPやUTF-8、はたまたShift_JISなどで表現されていますが、これらが混在した場合文字化けが発生します。こういった混在状態で正しく表示できるなら、他にはない大きなアドバンテージになりうるかと。
Posted by とおりすがり at 2005年04月14日 14:14
 確かに混在環境への対応はなんとかしたいところです。特にGnomeアプリなんかはUTF-8でファイル名を作成する物もある様なので。

# 良いアイディアや参考になる文献があれば、ご教授ください。
Posted by Yasumichi at 2005年04月15日 10:07
 例えば、configureのオプションに--enable-nkfみたいなのを用意してnkfなんかで一度、ローケルの文字列に変換する様にするとか?

# 文字コードの判定はある程度、想定を絞りこまないと難しいみたいなのでデフォルトにしない方が良さそうな気がします。
Posted by Yasumichi at 2005年04月15日 10:53
フォーラムの調子がおかしいみたいなので、こちらに書かせていただきます。libcxp-0.3.0をコンパイルしてみたところライブラリ名がlibcxp-0.3.0.soとなるようです。以前はlibcxp.so.0.0.0でしたが、これは意図したものなのでしょうか?
Posted by とおりすがり at 2005年04月15日 22:40
 意図した物ですが、不都合がありますでしょうか。現段階では、APIの変動が激しいため、単純にlibcxp.so.0.0.0としてしまうと問題があると思っています。
Posted by Yasumichi at 2005年04月15日 23:51
CVS版で試験的に日本語ファイル名混在環境への対応方法を追加してみました。CVS版のlibcxpとcxplorerをインストールできたら、まず以下のスクリプトを任意の場所に作成します。(eucローケルの場合。なお、nkfがインストールされている物とする。)

#!/bin/sh

echo "$1" | nkf --euc

次に~/.cxp/cxplorer/mainに以下の行を追加します。

FilenameFilter=sh スクリプトの絶対パス

これでUTF-8,Shift-JIS,EUC-JPのそれぞれでエンコーディングされたファイル名が表示できると思います。

# nkfが変換に失敗する場合はダメですが…
Posted by Yasumichi at 2005年04月16日 04:09
バイナリ配布する場合に面倒な事になります。libcxpがバージョンアップ(メジャー、マイナー問わず)した場合、cxplorerも必ずコンパイルし直さないといけません(リンク先がlibcxp-0.3.0.soなので)。
Posted by とおりすがり at 2005年04月16日 19:28
 確かにその面倒はありますね。互換性がある場合は、再度、ビルドするというのも面倒ですよね。
 とりあえず、次回からは元のlibcxp.so.0.0.0に戻します。
Posted by Yasumichi at 2005年04月16日 21:04
こだわりがなければ、一般的なライブラリの管理方法を使えばいい気が。非互換を含む変更はlibcxp.so.0.0.0→libcxp.so.1.0.0、互換のある変更はlibcxp.so.0.0.0→libcxp.so.0.1.0、些細な変更はlibcxp.so.0.0.0→libcxp.so.0.0.1というような。
Posted by とおりすがり at 2005年04月17日 01:18
libtoolのmanページに書かれている方法ですね。
特にこだわりはないんですが、当分の間は互換性のない変更が頻繁になると思って今はsuffixの方を変更していません。ある程度、仕様が固まってから変更しようかと思っているのですが、どうでしょうか。
Posted by Yasumichi at 2005年04月17日 01:28
実際にどうするかはお任せします。。それとコンパイル済みのバイナリを用意するのはどうでしょうか。ちょっと使ってみよう、という人も手軽に試せますし。
Posted by とおりすがり at 2005年04月18日 00:31
> それとコンパイル済みのバイナリを用意するのはどうでしょうか。ちょっと使ってみよう、という人も手軽に試せますし。

そうですね。当方、VineSeed向けのrpmなら用意できます。それ以外であれば、他の環境をお持ちの方の御協力が必要になります。
Posted by Yasumichi at 2005年04月18日 02:18
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス: [必須入力]

コメント: [必須入力]


この記事へのトラックバック