Skip to content

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:

lua
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 keyAdvertised interface (linked XML)XML versionUse it forGuide
wlr_layer_shellzwlr_layer_shell_v15Bars, docks, launchers, overlays and exclusive zonesChoose a shell
wlr_screencopyzwlr_screencopy_manager_v13Native output capturePermissions
ext_foreign_toplevel_listext_foreign_toplevel_list_v11Enumerate toplevel windowsShell integration
wlr_foreign_toplevel_managementzwlr_foreign_toplevel_manager_v13Inspect and control windowsShell integration
ext_data_controlext_data_control_manager_v11Clipboard managersSession settings
ext_idle_notifyext_idle_notifier_v12Idle notificationsSession settings
wlr_gamma_controlzwlr_gamma_control_manager_v11Per-output gammaSession settings
wlr_output_power_managementzwlr_output_power_manager_v11Output power stateSession settings
ext_session_lockext_session_lock_manager_v11Secure session locking with an external lockerSession locking
ext_background_effect_v1ext_background_effect_manager_v11Client-defined background blur regionsBackground blur
xdg_decorationzxdg_decoration_manager_v11Negotiate client or server titlebarsWindow frames
window_frame_renderergnoblin_window_frame_manager_v11External frame renderer serviceFrame renderer API
blur_fadegnoblin_blur_fade_manager_v11Per-item blur fade metadataBlur 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 panel above Firefox in a Gnoblin session

Quickshell positions the panel with the layer-shell protocol.

GNOME Files beneath the same Quickshell panel

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.