Wayland protocol catalog
This page covers the additional protocol globals Gnoblin registers or gates in a Gnoblin session. It does not list every core Wayland or upstream Mutter global. A client must bind the interface advertised by the running compositor; vendored XML alone does not mean a protocol is available.
Configure availability
Gnoblin enables the listed protocol gates by default in its own session. Some globals also use per-client filters, noted below. Disable a gate in init.lua with its Lua key:
gnoblin.configure {
protocols = {
wlr_screencopy = false,
},
}Lua underscores become hyphens in the native setting name. Protocol globals are registered at compositor startup, so log out and back in after changing these gates. gnoblinctl config reload cannot add or remove an advertised global. GNOME's separate login session does not advertise Gnoblin-owned globals.
Available interfaces
| Lua key | Advertised interface | Use it for | Guide |
|---|---|---|---|
wlr_layer_shell | zwlr_layer_shell_v1 (v5) | Bars, docks, launchers, overlays and exclusive zones | Choose a shell |
wlr_screencopy | zwlr_screencopy_manager_v1 (v3) | Native output capture | Permissions |
ext_foreign_toplevel_list | ext_foreign_toplevel_list_v1 (v1) | Enumerate toplevel windows | Shell integration |
wlr_foreign_toplevel_management | zwlr_foreign_toplevel_manager_v1 (v3) | Inspect and control windows | Shell integration |
ext_data_control | ext_data_control_manager_v1 (v1) | Clipboard managers | Session settings |
ext_idle_notify | ext_idle_notifier_v1 (v2) | Idle notifications | Session settings |
wlr_gamma_control | zwlr_gamma_control_manager_v1 (v1) | Per-output gamma | Session settings |
wlr_output_power_management | zwlr_output_power_manager_v1 (v1) | Output power state | Session settings |
ext_background_effect_v1 | ext_background_effect_manager_v1 (v1) | Client-defined background blur regions | Background blur |
xdg_decoration | zxdg_decoration_manager_v1 (v1) | Negotiate client or server titlebars | Window frames |
window_frame_renderer | gnoblin_window_frame_manager_v1 (v1) | Manager is visible only to its registered renderer | Frame renderer API |
blur_fade | gnoblin_blur_fade_manager_v1 (v1) | Per-item blur fade metadata | Blur fades |
ext_session_lock | ext_session_lock_manager_v1 (v1) | Session locking for third-party lockers | Session locking |
Each interface link opens its wire-level XML. The version is the maximum global version Gnoblin registers; bind no higher than the version advertised at runtime.
The frame-renderer manager is filtered to a renderer process launched by Gnoblin. Regular clients will not see it in wayland-info.
For standard protocol requests, events and enum values, see the Wayland protocol documentation and the wayland-protocols source. This catalog identifies the interface to use and where to find its details.
For example, a layer-shell client controls its anchors, keyboard interactivity and exclusive zone. Gnoblin then places the surface and applies any matching type = "layer" window rules. A panel that animates its own whole surface can disable the compositor's layer animation for its namespace.

Quickshell positions the panel with layer shell.

The same layer-shell surface sits above an ordinary application window.
Screen capture through wlr_screencopy is separate from capture through the desktop portal. The latter follows portal permission policy. Turning off this global is not a blanket screen-sharing policy.
Interface not yet available
zwlr_output_manager_v1 has vendored XML but is not registered as a supported Gnoblin global. Mutter exposes its org.gnome.Mutter.DisplayConfig D-Bus API in the Gnoblin session; this is a Mutter interface, not a Gnoblin protocol. See the Mutter monitor manager reference.
gnoblinctl monitor list reports monitor geometry but does not change display layouts. Session locking uses ext_session_lock_manager_v1; see Session locking for its requirements and security behavior.
Inspect a running session
This catalog follows current Gnoblin source; older installed builds may advertise fewer globals.
Check gnoblinctl version --json and the running registry when packaging or debugging. Run wayland-info inside the Gnoblin session or devkit so it uses the right WAYLAND_DISPLAY. A checkout or XML file cannot prove which globals a login session advertised.