WaylandCompositor QML Type (Uncreatable)
Wayland ディスプレイサーバーを管理します。詳細...
| Import Statement: | import QtWayland.Compositor |
| In C++: | QWaylandCompositor |
注:これは作成不可能な型です。QMLではインスタンス化できません。
プロパティ
- additionalShmFormats : list<enum>
(since 6.0) - created : bool
- defaultOutput : WaylandOutput
- defaultSeat : WaylandSeat
- extensions : list
- retainedSelection : bool
- socketName : string
- useHardwareIntegrationExtension : bool
信号
- void surfaceCreated(WaylandSurface surface)
- void surfaceRequested(WaylandClient client, int id, int version)
方法
- void addSocketDescriptor(fd)
- void destroyClient(client)
- void destroyClientForSurface(surface)
詳細な説明
WaylandCompositorは、クライアントへの接続に加え、さまざまなoutputs およびseats の管理も行います。
通常、コンポジターアプリケーションには単一の WaylandCompositor インスタンスが存在し、その子として複数の出力を持つことができます。クライアントがコンポジターにサーフェスの作成を要求すると、その要求は onSurfaceRequested ハンドラによって処理されます。
コンポジターがサポートする拡張機能は、インスタンス化して extensions プロパティに追加するか、あるいは単に WaylandCompositor の直接の子として追加する必要があります。
プロパティのドキュメント
additionalShmFormats : list<enum> [since 6.0]
このプロパティには、コンポジターがサポートしていると告知している追加の wl_shm フォーマットのリストが格納されます。
デフォルトでは、必須の ShmFormat_ARGB8888 および ShmFormat_XRGB8888 のみがリストされ、このリストは空になります。追加のフォーマットは内部で変換を必要とする場合があり、そのためパフォーマンスに影響を与える可能性があります。
このプロパティは、コンポジターコンポーネントの構築が完了する前に設定する必要があります。それ以降の変更は反映されません。
このプロパティは Qt 6.0 で導入されました。
created : bool [read-only]
WaylandCompositor が初期化されている場合は、このプロパティは true となり、そうでない場合は false となります。
defaultOutput : WaylandOutput
このプロパティには、WaylandCompositor に追加された出力リストの先頭にある項目が含まれます。出力が追加されていない場合はnullとなります。
新しいデフォルトの出力を設定すると、その出力は出力リストの先頭に追加され、新しいデフォルトとなりますが、以前のデフォルトはリストから削除されることはありません。
defaultSeat : WaylandSeat [read-only]
このプロパティには、このWaylandCompositor のデフォルトの座席情報が含まれています。
extensions : list
コンポジターがクライアントに対して公開する拡張機能のリストです。コンポジターがサポートすべき Wayland 拡張機能については、そのコンポーネントをインスタンス化し、拡張機能のリストに追加する必要があります。ただし、すべての子要素は自動的にこのプロパティに割り当てられるため、通常はこのプロパティを明示的に参照する必要はありません。
たとえば、次のコードでは、クライアントがxdg_shell インターフェースを使用して、コンポジターにxdg_shell サーフェスを要求できるようになります。
import QtWayland.Compositor
import QtWayland.Compositor.XdgShell
WaylandCompositor {
XdgShell {
// ...
}
}retainedSelection : bool [default: false]
このプロパティは、コンポジターがクリップボードの選択データのコピーを保持するかどうかを制御します。true に設定されている場合、コンポジターは所有クライアントからのすべてのクリップボードデータを逐次読み取り、キャッシュします。これにより、パフォーマンス上のオーバーヘッドが発生します。
socketName : string
このプロパティには、WaylandCompositor がクライアントと通信するために使用するソケット名が格納されます。コンポーネントが完成する前に設定する必要があります。
socketName が空の場合(デフォルト)、代わりに--wayland-socket-name の start 引数の内容が使用されます。この引数が設定されていない場合、コンポジターはソケット名を検索しようとしますが、デフォルトではwayland-0 となります。
useHardwareIntegrationExtension : bool [default: true]
このプロパティは、このWaylandCompositor に対してハードウェア統合拡張機能を有効にするかどうかを指定します。
このプロパティは、コンポジター・コンポーネントの生成が完了する前に設定する必要があります。
シグナルのドキュメント
void surfaceCreated(WaylandSurface surface)
このシグナルは、新しいWaylandSurface インスタンス(surface )が作成されたときに発火します。
注: 対応するハンドラは onSurfaceCreated です。
void surfaceRequested(WaylandClient client, int id, int version)
このシグナルは、client がIDid を持つサーフェスを作成したときに発火します。また、version インターフェースも利用可能です。
このシグナルに接続するスロットは、スロットのスコープ内でWaylandSurface インスタンスを作成および初期化することができます。それ以外の場合は、デフォルトのサーフェスが作成されます。
注: 対応するハンドラは onSurfaceRequested です。
メソッドのドキュメント
void addSocketDescriptor(fd)
ファイル記述子fd でクライアントの接続をリッスンします。このファイル記述子は、すでにバインドされ、リッスン状態にあるサーバーソケットを指しています。
この関数はファイルディスクリプタの所有権を取得しません。必要に応じて明示的に閉じる必要があります。
注:この メソッドは 、libwayland 1.10.0 以降でのみ利用可能です。それより古い libwayland ランタイムに対してビルドされた場合、このメソッドは何も行いません。
void destroyClient(client)
コンポジター側では、指定されたWaylandClient client との接続を解除することで、これを破棄します。
void destroyClientForSurface(surface)
コンポジター側では、WaylandSurface surface が属するクライアントとの接続を切断し、そのクライアントを破棄します。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.