Mango Wayland Compositor implements theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/mangowm/mango/llms.txt
Use this file to discover all available pages before exploring further.
dwl-ipc-unstable-v2 protocol for inter-process communication. This allows external clients to query compositor state and control window management operations.
Protocol Architecture
The IPC protocol is built on Wayland’s native protocol system and consists of two main interfaces:zdwl_ipc_manager_v2
The manager interface is exposed as a global inwl_registry. It provides:
- Tag Information: Announces the number of tags configured in the compositor
- Layout Enumeration: Lists all available layouts
- Output Access: Creates
zdwl_ipc_output_v2objects for specific outputs
tags and layout events that expose the compositor’s configuration.
zdwl_ipc_output_v2
The output interface allows observing and controlling individual outputs (monitors). It provides: Events (compositor → client):- Tag state updates (active, urgent, client count)
- Layout changes
- Client information (title, appid)
- Fullscreen and floating status
- Client geometry (x, y, width, height)
- Keyboard layout and keybind mode
- Scale factor
- Set active tags
- Modify client tags
- Change layout
- Dispatch internal commands
- Quit compositor
Event Double-Buffering
Events fromzdwl_ipc_output_v2 are double-buffered. Clients should:
- Cache incoming events
- Wait for the
frameevent - Redraw/update when
frameis received
mmsg Client Tool
Mango includesmmsg, a command-line IPC client that implements the dwl-ipc-unstable-v2 protocol. It provides three operation modes:
Operation Modes
Common Use Cases
Building IPC Clients
To build custom IPC clients:-
Generate Protocol Bindings
-
Connect to Wayland Display
-
Bind IPC Manager
-
Get Output Interface
-
Dispatch Events
Protocol Stability
The protocol will be stabilized by:- Removing the ‘z’ prefix
- Removing version numbers from names
- Resetting interface version to 1
See Also
- IPC Commands Reference - Complete mmsg command reference
- Protocol XML - Full protocol specification
