Compositor-agnostic bridge protocol: registration handshake and modifier reporting. Window manipulation commands flow over org.plasmazones.WindowTracking (applyGeometryRequested, applyGeometriesBatch, raiseWindowsRequested, ...).
| Well-known name | org.plasmazones.CompositorBridge |
| Source XML | org.plasmazones.CompositorBridge.xml |
| Methods | 2 |
| Signals | 2 |
| Properties | 0 |
Register a compositor bridge. Returns session info.
| Arg | Direction | Type | Description |
|---|---|---|---|
compositorName | in | s *(string)* | Compositor name (e.g. kwin, hyprland, sway). |
version | in | s *(string)* | Protocol API version as a decimal integer string (PhosphorProtocol::Service::ApiVersion) — NOT the compositor's release version. Peers below the daemon's minimum are rejected. |
capabilities | in | as *(array<string>)* | Supported capabilities: borderless, animation, borders, modifiers. |
result | out | (sss) *(struct(string,string,string))* | Struct: (apiVersion, bridgeName, sessionId). sessionId == 'REJECTED' signals a rejected registration — protocol-version mismatch or invalid input (empty compositorName) — callers MUST check it before sending stateful calls. |
Report keyboard modifier and mouse button state from compositor. Reserved forward surface for bridges without a drag channel — the KWin bridge reports modifiers through the drag pipeline instead (EXPERIMENTAL interface).
| Arg | Direction | Type | Description |
|---|---|---|---|
modifiers | in | i *(int32)* | Qt::KeyboardModifiers bitmask. |
mouseButtons | in | i *(int32)* | Qt::MouseButtons bitmask. |
A compositor bridge registered.
| Arg | Direction | Type | Description |
|---|---|---|---|
compositorName | out | s *(string)* | |
version | out | s *(string)* | |
capabilities | out | as *(array<string>)* |
Modifier state reported by compositor.
| Arg | Direction | Type | Description |
|---|---|---|---|
modifiers | out | i *(int32)* | |
mouseButtons | out | i *(int32)* |