Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
org.plasmazones.CompositorBridge

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

Methods

<tt>registerBridge()</tt>

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.

<tt>reportModifierState()</tt>

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.

Signals

<tt>bridgeRegistered</tt>

A compositor bridge registered.

Arg Direction Type Description
compositorName out s *(string)*
version out s *(string)*
capabilities out as *(array<string>)*

<tt>modifierStateChanged</tt>

Modifier state reported by compositor.

Arg Direction Type Description
modifiers out i *(int32)*
mouseButtons out i *(int32)*