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. Apply changes with
gnoblinctl config reload; this adds or removes the global for new clients.
Clients that already bound an interface keep their existing connection until
they disconnect.
Gnoblin rejects a reload that disables ext_session_lock while the session is
locked. Unlock first, then reload the configuration.
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 | Session settings |
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 |
kde_server_decoration |
org_kde_kwin_server_decoration_manager |
1 | Let GTK Wayland windows use compositor decorations | 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 | Background effects |
The XML version is the interface's maximum. Bind the version the running compositor advertises, or a lower one.
Standard requests, events, and enums are documented in the Wayland book and the wayland-protocols source.
A layer-shell client sets its anchors, keyboard interactivity, and exclusive
zone. Gnoblin places the surface and applies matching type = "layer"
window rules.
A panel that animates its whole surface can disable the 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 the desktop portal.
The portal path depends on the selected backend. Disabling this global does not
block screen sharing.
Inspect a running session
Inspect the running compositor when you package or debug a client. Use a
registry tool such as wayland-info inside the Gnoblin session or devkit
terminal, so it reaches the right WAYLAND_DISPLAY.
A source checkout or XML file does not show which globals a login session advertises.