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 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:

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 interfaceUse it forGuide
wlr_layer_shellzwlr_layer_shell_v1 (v5)Bars, docks, launchers, overlays and exclusive zonesChoose a shell
wlr_screencopyzwlr_screencopy_manager_v1 (v3)Native output capturePermissions
ext_foreign_toplevel_listext_foreign_toplevel_list_v1 (v1)Enumerate toplevel windowsShell integration
wlr_foreign_toplevel_managementzwlr_foreign_toplevel_manager_v1 (v3)Inspect and control windowsShell integration
ext_data_controlext_data_control_manager_v1 (v1)Clipboard managersSession settings
ext_idle_notifyext_idle_notifier_v1 (v2)Idle notificationsSession settings
wlr_gamma_controlzwlr_gamma_control_manager_v1 (v1)Per-output gammaSession settings
wlr_output_power_managementzwlr_output_power_manager_v1 (v1)Output power stateSession settings
ext_background_effect_v1ext_background_effect_manager_v1 (v1)Client-defined background blur regionsBackground blur
xdg_decorationzxdg_decoration_manager_v1 (v1)Negotiate client or server titlebarsWindow frames
window_frame_renderergnoblin_window_frame_manager_v1 (v1)Manager is visible only to its registered rendererFrame renderer API
blur_fadegnoblin_blur_fade_manager_v1 (v1)Per-item blur fade metadataBlur fades
ext_session_lockext_session_lock_manager_v1 (v1)Session locking for third-party lockersSession 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.

A Quickshell panel above Firefox in a Gnoblin session

Quickshell positions the panel with layer shell.

GNOME Files open beneath a Quickshell panel in a Gnoblin session

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.