phosphor-ipc

Typed JSON-over-Unix-socket invocation channel for the shell.

Lets compositor keybinds, scripts, and other shells drive Phosphor actions by verb, for example phosphorctl call launcher.toggle. It runs alongside the D-Bus adaptors rather than replacing them. The IpcRouter listens on $XDG_RUNTIME_DIR/phosphor.sock, registers QObject targets by name, derives JSON schemas from their QMetaObject, and routes calls and broadcast events to subscribers. Plugin authors declare IpcTarget QML elements, and the phosphorctl CLI provides call, list, schema, and subscribe.

Full API →

Key types

IpcRouter
Per-application dispatcher owning one QLocalServer, the target registry, and subscriptions.
IpcTarget
QML element binding one target name; declared functions become callable, emitEvent pushes events.
IpcProtocol
NDJSON wire format plus parser, shared between server and the phosphorctl client.
IpcSchemaGenerator
Converts a QMetaObject into JSON Schema for schema responses and arg validation.

Dependencies

See also

References