コマンドラインとGUIを融合するHotwireLeverage OSS(2/4 ページ)

» 2007年12月05日 11時55分 公開
[Nathan-Willis,Open Tech Press]
SourceForge.JP Magazine

基本的な説明

 矛盾した表現に聞こえないように願いつつ一言で言えば、Hotwireはコマンドを実行するために利用できるGUIアプリケーションだ。しかしbashやtcshなどの従来のUNIXシェルがプレーンテキストを出力するのに対して、Hotwireは操作可能なGUIオブジェクトを返す。例えばbashでlsと入力すればカレントディレクトリにあるファイルのリストのテキストが返ってくるが、Hotwireでlsと入力すると、ファイルの大きさ/修正時刻/所有者/権限情報、それにサムネイルアイコンまでが含まれた、クリック可能なコンテンツがウインドウいっぱいに表示される。

Hotwire lsコマンドを実行したところ(hotwire-shell ProjectのWebサイトより)

 さらに言うと、bashではパイプオペレータ(|)を使用してコマンドの出力を別のコマンドの入力につなげられるが、Hotwireでも同じことができ、Hotwireではパイプでつなげる出力が便利なことにオブジェクトになっているので、よりスマートに操作できるというプラスもある。

 HotwireはPythonで書かれていて、普段よく行うシステム管理作業をすべてHotwireでできるようにすることを目標に書かれている。よく使うシェル関数とコマンドラインプログラム(主にファイルやディレクトリの管理を行うためのもの)を内部的に実装していて、それらをHotwire用語で「組み込み」と呼んでいる。

 現在の最新リリース(0.600)には、21個の組み込み(cat、cd、cp、current、edit、filter、fsearch、help、history、ls、mkdir、mv、open、proc、prop、py、rm、sechash、sh、term、write)が含まれている。ファイル管理用の組み込みはPythonのオブジェクトを出力し、出力されたPythonのオブジェクトはHotwireの表示キャンバスに渡されるとクリック可能なGUIオブジェクトとして表示される。

 例えばls組み込みはFilePathオブジェクトを返すが、このオブジェクトはHotwireの表示キャンバスに渡されるとファイルマネジャー風の表として表示されるが、単純な文字列マッチではなくファイルのさまざまな属性でフィルターすることが可能なfilter組み込み(grepの代替物)に渡すこともできる。

 さらに、必要なコマンドの代替となる組み込みをHotwireがまだ提供していない場合のための、合間を埋めるための特殊な組み込みもある。例えばPythonのコードを実行するpy、任意のシェルコマンドを実行するsh、新規のタブの中で端末を開くtermなどがある。

 また、コマンド名やファイル名の補完(タイプするに従ってマッチするコマンドやファイルがプロンプトの上に現われるウインドウ内に表示されるので、タブキーで必要なものを選択できる)などのインタラクティブな便利な機能も幾つか提供されている。

Copyright © 2010 OSDN Corporation, All Rights Reserved.

注目のテーマ