Wayland の「ウィンドウ」には本当に装飾や配置/サイズ変更の方法がないのでしょうか?

Wayland の「ウィンドウ」には本当に装飾や配置/サイズ変更の方法がないのでしょうか?

私は、いくつかの基本的な OpenGL のものを EGL サーフェスにレンダリングする簡単なプログラムをいくつか書いて、Wayland を試してきました。これはすべてうまく機能しますが、コンポジターからサーフェス/ウィンドウ (つまりシェル) を要求すると、タイトルバーやウィンドウのサイズを変更したり移動したりする方法のない、文字通り空白のサーフェスが返されることに気づきました。Weston コンポジターと Chromebook の両方で試しました。Weston ターミナルは、独自のタイトルバー/ウィンドウの装飾をレンダリングするようです。Wayland コンポジター用のアプリを作成するときは、独自のタイトルバーとウィンドウのサイズを変更する方法を作成する必要があると想定する必要がありますか?

答え1

デフォルトでは、コンポジターからウィンドウ装飾は提供されません。例えば

(ただし、KWinなど一部のアプリケーションでは、カスタムWaylandプロトコルこれにより、アプリがウィンドウの装飾を要求したり、その逆を行ったりできるようになりますが、これは普遍的にサポートされているわけではありません。

期待はUIツールキットを使用するか、ゼロから独自に開発するかによって異なります。つまり、ほとんどの通常のアプリは期待される最初から Wayland を直接話すのではなく、ツールキットに UI の残りの部分と一緒に装飾を描画させます。

独自のツールキットを実装する場合、おそらく以下を使用することが期待されます。libdecor近い将来ですが、それまでの間は自分で窓飾りを作ってみてください。

関連情報