Gnoblin

session_settings

Configuration reference

Configure how layer-shell surfaces affect focus, how windows respond to pointer input, and which Wayland interfaces are available. Add the examples to ~/.config/gnoblin/init.lua.

Layer-shell keyboard focus

Lua
gnoblin.configure {
    layer_shell = {
        preserve_active_window = true,
    },
}

Default: true. Requires logout and login.

When a launcher requests exclusive keyboard focus, typing goes to the launcher. With this setting enabled, the application underneath keeps its active appearance: its titlebar and effects do not switch to their unfocused style.

The launcher still receives all typing.

Set false to let exclusive layers deactivate the application beneath them. On-demand focus, passive bars and normal application menus are unchanged.

Window drag boundary

Lua
gnoblin.configure {
    window_management = {
        constrain_drag_to_work_area = true,
    },
}

Default: true. The compositor accepts this setting but does not read it yet, so true and false behave the same. See the window management reference.

This keeps the dragged frame below the monitor's reserved top area, including space reserved by a layer-shell panel. Set false to allow overlap.

Protocol settings

Wayland protocols let desktop tools request features such as screen capture, clipboard access and display power control. The interfaces below are enabled by default. Most users can leave them alone.

For example, this disables the wlr_screencopy screen-capture interface:

Lua
gnoblin.configure {
    protocols = {
        wlr_screencopy = false,
    },
}

Changes apply on config reload. Disabling an interface stops new clients from binding to it; clients that already bound it keep their connection until they disconnect.

Disabling ext_session_lock while the session is locked makes the reload fail and keeps the previous configuration. Unlock before changing that setting.

Name Used for
wlr_layer_shell Bars, docks and launchers
wlr_screencopy Screen capture
ext_foreign_toplevel_list Window enumeration
wlr_foreign_toplevel_management Window controls and dock targets
ext_data_control Clipboard managers
ext_idle_notify Idle detection
wlr_gamma_control Gamma and colour temperature
wlr_output_power_management Display power
ext_background_effect_v1 Client-requested background blur
xdg_decoration Client/server titlebar negotiation
window_frame_renderer External frame renderer service
blur_fade Per-item blur fade metadata

Each protocol name accepts true or false and defaults to true. Set a protocol to false to keep Gnoblin from advertising that interface to new clients.

This does not block all screen sharing. Portal backends decide what apps may do; see portal routing. Disabling protocols your shell uses can prevent its features from working. See the protocol catalog for the advertised interface names and related guides.

Esc

Try