mangowm also reads TOML config files. When looking for a user config,
~/.config/mango/config.conf is preferred, then ~/.config/mango/config.toml
(likewise under /etc/mango/).
See TOML Conversion for the syntax and how to convert
an existing conf file.
To keep your configuration organized, you can split it into multiple files and include them using the source keyword.
# Import keybindings from a separate filesource=~/.config/mango/bind.conf# Relative paths work toosource=./theme.conf# Optional: ignore if file doesn't exist (useful for shared configs)source_optional=~/.config/mango/optional.conf
You can define your own variables and reuse them anywhere in the config. A
variable is defined with var=name,value and referenced with $name or
${name}. Names must start with a letter or _, followed by letters, digits,
or _.
Variables must be defined before they are used, and they are shared across
source/source_optional files (the included file can use variables defined
before the source line).
Note: Only names you actually defined are expanded. Anything else is left
untouched, so shell commands keep working exactly as before:
# $HOME, $(date ...), $1 and $$ are not config variables here,# so the shell still receives them verbatim.bind=SUPER,P,spawn_shell,echo "$HOME" | rofi -dmenu
Defining a variable with the same name as a shell variable you use in a
spawn_shell command will cause mango to expand it first. Prefer distinctive
names to avoid surprises.
# Start the status bar onceexec_once=waybar# Set wallpaperexec_once=swaybg -i ~/.config/mango/wallpaper/room.png# Reload a custom script on config changeexec=bash ~/.config/mango/reload-settings.sh