X11の上部にあるウィンドウマネージャとして機能するランチャー

X11の上部にあるウィンドウマネージャとして機能するランチャー

私は建物を建てています。ランチャー他のアプリケーションの場合X11。要件は次のとおりです。

  1. ランチャーはシステムで実行する必要があります。ランチャーは、以下を使用してキオスクと同様にフルスクリーンアプリケーションとして表示できます。OpenGL)、システムで利用可能な他のアプリケーションが表示されます(すべてOpenGLを使用)。
  2. ユーザーがアプリを実行すると、ランチャーはレンダリングを停止し、アプリを実行し続けます(全画面でも可能)。
  3. ユーザーはアプリケーションを終了して実行プログラムに戻ることを選択できます。

装飾を避け、常にフルスクリーンで表示するために、非常に基本的なウィンドウマネージャから始めたいと思います。

ランチャーは私のウィンドウマネージャでなければなりませんか?

いくつかの追加の注意事項として使用を検討しています。 http://www.glfw.org/入力とイベントを処理するために使用されます。編集:現在のアプリケーションの速度を低下させる可能性があるOpenGL呼び出しを削除するために、ランチャーがレンダリングを停止するようにしたいと思います。また、アプリには終了方法が含まれているため、装飾する必要はありません。

答え1

ユーザーが利用可能なアプリだけを開くことができ、フルスクリーンモードでのみ開くことができるパブリックキオスクのようなものを開発したい場合は、次のようにします。ランチャーをウィンドウマネージャーとして機能させることが効果的な戦略です。。一方、既存のウィンドウマネージャを使用して、特定の制限されたユーザーインターフェイスを提供するように設定できるので、ウィンドウマネージャを正しく実装するのはやや複雑で、時間と労力を節約できます。

ランチャーはレンダリングを停止します。

「レンダリングを停止」する必要はないと思います。ランチャーウィンドウの上にあるアプリケーションウィンドウを開くと、X11は残りの部分を処理します(つまり、どのウィンドウが他のウィンドウによって隠されているかを知り、露出/適用ロジックを処理します)。

装飾を避けるために

装飾を避けるための最大の問題は、ウィンドウの装飾がなければ、多くのアプリケーションを終了する確実な方法がないことです。アプリケーションは、ウィンドウマネージャがウィンドウ閉じるコントロールを装飾として提供することを期待しています。これは、ユーザーがアプリケーションを終了する最も確実な方法であり、アプリケーション全体で最も一貫した方法です。閉じたボックスを使用して最小限の装飾を考慮することをお勧めします。

関連情報