Ubuntuのウィンドウインジケーター

Mark Shuttleworthのブログの投稿の翻訳。



Ayatana Indicatorsのプロジェクトに関する作業により、パネルでのインジケーターの実装に関する明確な理解と基盤が得られました。 私たちは彼らがどのように見えるか、そして彼らの行動がどうなるかを正確に決定しました。 また、パネルの右側に配置することにしました。



しかし、なぜパネルに限定されるのでしょうか? アプリケーションを自由に使えるようにしましょう-インジケーターが特に役立つ可能性があるタスクの場合:





私たちは、ウィンドウインジケーター、「風のインジケーター」(面白い)の作業を開始しました。 風のインジケータは、ウィンドウのタイトルに表示されるインジケータであり、パネルのインジケータとまったく同じように動作します。ステータスを示すアイコンがあり、アイコンをクリックするとメニューが表示されます。 アプリケーションは、10.04 LTSで最初に登場したAppIndicatorフレームワークと同様に、適切なAPIを使用してウィンドウインジケーターを作成、更新、および削除できます。



       Ayatana,      .

ウィンドウインジケータは、アプリケーションウィンドウの例を使用した「インジケータ」でもあります。



すべてのパネルインジケーターを右側に慎重に配置しました。 同様に、ウィンドウコントロールとそのタイトルバーを注意深く移動しました。 これで、右側に空きスペースができました。 標準では、ウィンドウインジケータがそこに配置されます。



Canonicalでは、Cody Russellがタイトルおよびウィンドウボーダーレンダリングテクノロジーを開発しています。 これらの要素は、いわゆる「クライアント側ウィンドウ装飾」を形成します。 ウィンドウデザインのレンダリングをアプリケーション自体に転送するため、これらの部分はウィンドウマネージャーとアプリケーションによって別々にレンダリングされなくなりました。 これにより、物事が単純化されます(もちろん物事は複雑になります)。



クライアントウィンドウデザインを導入することの有用な効果の1つは、アプリケーションがタイトルに何かを表示するのが簡単になることです(アプリケーション自体が描画するため)。 そして、この場合、アプリケーションがヘッダーの右側で何が起こっているかを制御することは、より自然です。



より少ないクロム、より良い:亡命ステータスバー



設計へのアプローチでは、「少なく、多ければ多いほど」という原則に導かれ、特に、無駄なスペースを垂直に取り除きたいと考えています。 これは特にネットブックに当てはまります。 同時に、多くのアプリケーションの下部にステータスバーがありますが、これはWindows 3.1の場合のみであるためです。



典型的なアプリケーションステータスバーには以下が含まれます。





上記をウィンドウとポップアップステータスメッセージ行の組み合わせに置き換えることができます。 Chromeブラウザでのステータスメッセージの表示方法はとても気に入っているので、称賛してください。素晴らしいアイデアをありがとう。 これらの2つのメカニズムを使用することで得られる利益は、非常に有用なものの垂直方向のスペースの約5%になります。



実装の順序



私たちのアイデアが気に入ったら、Ayatanaメーリングリストに登録して、実装のニュアンスの議論に参加してください。 異なるアプリケーションで同じタスクに同じアイコンを使用し、可能であれば同じメニュー項目のインジケーターを使用できるようにする基本原則を開発したいと考えています。 もちろん、アプリケーションは特定のニーズに応じてこれらのメカニズムを使用できます。



10.10に予定



Ubuntu 10.10のウィンドウインジケーターの実装を見るのは魔法のようです。 最も便利なものを選択するのを手伝ってください! 現時点では、次のものがリストにあります。





これらすべてのインジケータの主な特徴は、それらがアプリケーションに排他的に関連し、理想的にはそれらが配置されているウィンドウに対してのみ意味をなすことです。



パネルインジケータと同じように...



視覚的なデザインの観点から見ると、インジケーターを使用する目的は同じ象徴です。 これらは、Ayatanaインジケーターと同じスタイルで実装する必要があります。





Netbook Editionスマートパネル統合



先週、パネルにあるすべてのアプリケーションに単一のグローバルメニューを導入するという決定について書きました( Ubuntu Netbook Remix-約Transl。についてのみ話します )。 また、ウィンドウが全画面表示に拡大された場合に、パネルにウィンドウタイトルそのメニューを配置する可能性を検討すると述べました。 もちろん、これはウィンドウインジケータもそこに配置する必要があることを意味します。 パネルの右側に表示されると同時に、パネル自体のインジケータの左側に配置されます。 たとえば、アプリケーションウィンドウを拡大します(左上隅のUbuntuロゴボタンに注意してください。これはウィンドウタイトルではなくパネルです)。



        .



この構成では、「単一の目的を果たす」ことが実現されます。画面全体が1つのアプリケーションに提供されると同時に、Ayatanaの要素はシステム(バッテリーインジケーター)とアプリケーション固有の両方の機能を実行し続けます。



更新するアプローチし、アイデアを提供し、恥ずかしがらないでください! 私はすでに始めました :)



更新する 2 :マーク批判的なコメントに回答しました( braintorchに感謝します )。

マイケル・ホール:

クライアントウィンドウのデザインにウィンドウを統合する代わりに、他のインジケーターと同様にDBus情報を提供してください。 この場合、Metacity / Compizはそれらを使用する方法を決定することができます:ウィンドウとして、Gnomeタスクバー、cairo-dock、awn、またはWindows7の「ジャンプリスト」のように。



マーク・シャトルワース:

はい、あなたは正しいです、これは正しいアプローチです。 CSDは、この空き領域をアプリケーションで使用できるようにするという考えを示しましたが、標準のテーマとウィンドウマネージャーはこれをすべてサポートする必要があります。




All Articles