Skip to content

gnoblin.configure.shell ​

Configure this part of gnoblin.configure with the shell key.

Put these fields inside gnoblin.configure {shell = {...}}. Changes apply on configuration reload unless the row says the preference is persisted.

KeyValuesDefault
minimize_animation"zoom", "fade", "none", "gnome""zoom"
minimize_duration0–5000 ms200
minimize_target[x, y], two integers from −1,000,000 to 1,000,000Dock target, then bottom centre
layer_animation"slide", "fade", "none", "gnome""slide"
layer_duration0–5000 ms220
layer_easing"linear", "ease-out-quad", "ease-out-cubic", "ease-in-out-cubic""ease-out-cubic"
window_menuUp to 32 command strings; first must be non-empty if presentEmpty
window_switcherBooleanfalse
notificationsBooleanInitially disabled; persists in GSettings
input_source_switcherBooleanInitially disabled; persists in GSettings
wallpaperBooleantrue; persists in GSettings

Older configs may still contain these boolean keys:

  • OSD: osd, osd_volume, osd_microphone, osd_brightness, osd_keyboard_brightness, osd_pad
  • Capture: screenshot

Gnoblin accepts them for compatibility, but the GNOME widgets are removed and cannot be restored through config. Provide OSD and capture UI in your shell; see native UI removal.

minimize_animation and layer_animation select a built-in preset that supports both transitions, or an event map. Use a map to select a custom animation by its registered name; custom animations apply to one event. See the animation guide for presets, events and examples.

minimize_target is a two-integer [x, y] position in logical desktop pixels. Omit it to use the dock target or bottom-center fallback. For example, minimize_target = {320, 400}.

Use window_menu = gnoblin.array {} to explicitly clear a configured menu command.

GNOME Settings beneath Waybar in a clean Gnoblin session

Waybar is a separate desktop client; Gnoblin's shell settings control compositor behavior.

Notification and input-source preferences persist in GSettings. With no usable picture configured, GNOME displays its configured background color.

Guides: animations, native features, wallpapers, window menu.

Type definition ​

This is schema pseudocode in Lua table form. ? marks optional settings; | separates accepted alternatives.

lua
gnoblin.configure {
    shell = {
        minimize_animation = string | {minimize = string?, restore = string?}?,
        minimize_duration = integer?, -- 0–5000 ms
        minimize_target = {integer, integer}?, -- each −1,000,000 to 1,000,000
        layer_animation = string | {
            ["layer-open"] = string?, ["layer-close"] = string?,
            ["in"] = string?, out = string?,
        }?,
        layer_duration = integer?, -- 0–5000 ms
        layer_easing = "linear" | "ease-out-quad" | "ease-out-cubic" | "ease-in-out-cubic"?,
        window_menu = {string, ...} | {}?, -- at most 32; first argument nonempty
        window_switcher = boolean?,
        notifications = boolean?,
        input_source_switcher = boolean?,
        wallpaper = boolean?,
        -- Legacy compatibility flags; these native UI features are removed.
        osd = boolean?, osd_volume = boolean?, osd_microphone = boolean?,
        osd_brightness = boolean?, osd_keyboard_brightness = boolean?, osd_pad = boolean?,
        screenshot = boolean?,
    },
}