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 interfaces by default in its own session. Disable one 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 (linked XML) | XML version | Use it for | Guide |
|---|---|---|---|---|
wlr_layer_shell | zwlr_layer_shell_v1 | 5 | Bars, docks, launchers, overlays and exclusive zones | Choose a shell |
wlr_screencopy | zwlr_screencopy_manager_v1 | 3 | Native output capture | Permissions |
ext_foreign_toplevel_list | ext_foreign_toplevel_list_v1 | 1 | Enumerate toplevel windows | Shell integration |
wlr_foreign_toplevel_management | zwlr_foreign_toplevel_manager_v1 | 3 | Inspect and control windows | Shell integration |
ext_data_control | ext_data_control_manager_v1 | 1 | Clipboard managers | Session settings |
ext_idle_notify | ext_idle_notifier_v1 | 2 | Idle notifications | Session settings |
wlr_gamma_control | zwlr_gamma_control_manager_v1 | 1 | Per-output gamma | Session settings |
wlr_output_power_management | zwlr_output_power_manager_v1 | 1 | Output power state | Session settings |
ext_session_lock | ext_session_lock_manager_v1 | 1 | Secure session locking with an external locker | Session locking |
ext_background_effect_v1 | ext_background_effect_manager_v1 | 1 | Client-defined background blur regions | Background blur |
xdg_decoration | zxdg_decoration_manager_v1 | 1 | Negotiate client or server titlebars | Window frames |
window_frame_renderer | gnoblin_window_frame_manager_v1 | 1 | External frame renderer service | Frame renderer API |
blur_fade | gnoblin_blur_fade_manager_v1 | 1 | Per-item blur fade metadata | Blur fades |
The XML version is the interface's maximum. Bind the version advertised by the running compositor or a lower one. For Gnoblin-owned protocols, the linked XML defines requests, events, errors and arguments.
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 the layer-shell protocol.

Layer-shell panels remain separate from ordinary application windows.
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.
Interfaces not yet available
zwlr_output_manager_v1 has an XML definition but is not registered as a Gnoblin global. Do not make a shell depend on it yet.
Inspect a running session
Check the running compositor when packaging or debugging a client. A Wayland registry inspector such as wayland-info can show advertised globals; run it inside the Gnoblin session or devkit terminal so it connects to the right WAYLAND_DISPLAY. A source checkout, package manifest or XML file cannot prove that a particular login session has advertised a global.