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.
| Key | Values | Default |
|---|---|---|
minimize_animation | "zoom", "fade", "none", "gnome" | "zoom" |
minimize_duration | 0–5000 ms | 200 |
minimize_target | [x, y], two integers from −1,000,000 to 1,000,000 | Dock target, then bottom centre |
layer_animation | "slide", "fade", "none", "gnome" | "slide" |
layer_duration | 0–5000 ms | 220 |
layer_easing | "linear", "ease-out-quad", "ease-out-cubic", "ease-in-out-cubic" | "ease-out-cubic" |
window_menu | Up to 32 command strings; first must be non-empty if present | Empty |
window_switcher | Boolean | false |
notifications | Boolean | Initially disabled; persists in GSettings |
input_source_switcher | Boolean | Initially disabled; persists in GSettings |
wallpaper | Boolean | true; 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.

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.
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?,
},
}