NAME
merde-config —
MERDE Lua configuration
DESCRIPTION
A MERDE configuration is a Lua chunk that returns one table. Unknown keys and values of the wrong type are errors. The programs, geometry, appearance, companions, and bindings tables must be present, although individual entries may be omitted to retain their built-in defaults.
Commands are executed by /bin/sh -c.
Colours are 32-bit ARGB integers. Key specifications use an XKB key name
after zero or more Ctrl,
Alt, Shift,
Logo, or Meta modifiers
separated by plus signs.
ROOT KEYS
- auto_spawn_terminal
- Boolean; open the configured terminal when the session starts.
- programs
- Table containing the string terminal.
- geometry
- Table containing integer width, height, x, y, margin, move_step, and resize_step values. Widths and heights are 64 through 16384; positions are -32768 through 32767; margin is 0 through 1024; movement and resize steps are 1 through 4096.
- appearance
- Table containing ARGB border_color and focused_border_color, plus integer border_width and focused_border_width from 0 through 32.
- companions
- Contains bar, wallpaper, notifications, and screenshots tables. Every companion accepts boolean enabled and string command. Wallpaper also accepts image; screenshots also accepts directory. If omitted, unnamed screenshots are written below the private session runtime directory. Only the bar, wallpaper, and notifier are long-lived session companions. The screenshot command is invoked on demand.
- bindings
- Contains string bindings named focus_next, focus_previous, move_left, move_right, move_up, move_down, resize_left, resize_right, resize_up, resize_down, fullscreen, close, terminal, launcher, screenshot, help, and quit.
- custom_bindings
- Optional array of up to 24 tables. Each entry requires one-line string key, command, and help members.
FILES
- $XDG_CONFIG_HOME/merde/config.lua
- $HOME/.config/merde/config.lua
- User configuration.
- /etc/merde/config.lua
- System configuration.
- /usr/share/merde/merde.default.lua
- Complete stock configuration and fallback.
EXAMPLES
local alt = "Alt+"
return {
auto_spawn_terminal = true,
programs = { terminal = "/usr/bin/havoc" },
geometry = {
width = 900, height = 600, x = 40, y = 40,
margin = 12, move_step = 24, resize_step = 48,
},
appearance = {
border_color = 0xff303030,
focused_border_color = 0xffffffff,
border_width = 1, focused_border_width = 2,
},
companions = {
bar = { enabled = true, command = "/usr/bin/merde-bar" },
wallpaper = {
enabled = true, command = "/usr/bin/merde-wallpaper",
image = "/usr/share/backgrounds/merde/default.png",
},
notifications = {
enabled = true, command = "/usr/bin/merde-notify",
},
screenshots = {
enabled = true, command = "/usr/bin/merde-screenshot",
},
},
bindings = {
focus_next = alt .. "Tab",
focus_previous = alt .. "Shift+Tab",
move_left = alt .. "Left", move_right = alt .. "Right",
move_up = alt .. "Up", move_down = alt .. "Down",
resize_left = alt .. "Shift+Left",
resize_right = alt .. "Shift+Right",
resize_up = alt .. "Shift+Up",
resize_down = alt .. "Shift+Down",
fullscreen = alt .. "F11", close = alt .. "Q",
terminal = alt .. "Return", launcher = alt .. "Space",
screenshot = "Print", help = alt .. "F1",
quit = alt .. "Shift+Q",
},
custom_bindings = {},
}