インフェルノのグラフィックス

ファイルサーバーのスタイルで分散アプリケーションを記述する場合、グラフィカルデバッガーを実行してマルチスレッドアプリケーションをデバッグするとすぐに、Infernoでグラフィックが発生します。

画像



しかし、組み込みデバイス上で、またはブラウザーのプラグインとして機能するUIを使用してアプリケーションを作成している場合(ちなみに、FirefoxでIE用の既存のInfernoプラグインの類似物を開発している場合)、「Infernoでグラフィカルアプリケーションを作成する方法?」 。



Tk



Infernoでグラフィックを操作する唯一の方法はTkを使用することです。 さらに、Tkサポートはコア(!)Infernoに組み込まれています。 もちろん、グラフィカルUIをプログラミングする場合、Tkはおそらくこれ以上簡単にはなりません(DelphiスタイルのUIデザイナーは、使いやすく便利ですが、生成するコードはTkコードよりも桁違いに複雑なので、今は取りません)。



InfernoのLimbo / Tkでは、wmウィンドウシステム自体(X-Windowの類似物)を含む、すべてのグラフィカルアプリケーションが作成されます。



しかし、個人的には、Tkアプリケーションの外観は常に私を怒らせ、なぜ誰もTkのスタイル/スキンをサポートしないのか理解できませんでした。 :( 更新:実際にはスタイルのサポートがありますが、代替スタイルをまだ誰も描いていません。



残念ながら、この問題についてこれ以上追加することはできません。 私はInfernoでグラフィックを扱っていませんでした-分散アプリケーションとファイルサーバーを作成するほうが面白いです。



配管工事



InfernoとPlan9のもう1つの興味深いメカニズムは配管です。 原則として、テキストモードで使用できますが、主にwmで作業するときに使用されます。



このメカニズムは、アプリケーション間でメッセージを転送する機能を提供し、ユーザーは配管工サービスの構成ファイルを介してこのプロセスを制御できます。 たとえば、ファイルマネージャでファイルをクリックすると、このファイルの名前が配管工に渡され、このファイルに対応するアプリケーションが起動されます。 または、ドラッグアンドドロップ中に、あるアプリケーションから別のアプリケーションのウィンドウにオブジェクトをドラッグすると、最初のオブジェクトは単に配管を通して2番目にメッセージを送信し、どのオブジェクトを転送するかを示します。



明確にするために、配管工の構成の例を次に示します。

# file URLs go to wm/charon kind is text data matches '[a-zA-Z0-9_/\-]+\.html?' data isfile $0 data set file://localhost$file plumb to web plumb start /dis/charon.dis $data # .m files are looked up in /module and passed to wm/brutus kind is text data matches '([a-zA-Z0-9]+\.m)(:[0-9]+)?' data isfile /module/$1 data set /module/$0 plumb to edit plumb start /dis/wm/brutus.dis $file$2
      
      





残念ながら、私も彼と一緒に仕事をしたことはありませんでした... Plan9で働いていた人は、おそらく配管についてもっと詳しく話すことができるでしょう。 このブログに気軽に投稿してください、それは集合的です...



まったくそうではないよりも、少なくともこれらのことについて言及する方が良いと判断しました。 それからまた、私が一緒に仕事をしたことについて書きます。 :)



All Articles