Any desktop environment has a window manager almost by definition. Cinnamon's is called "Muffin", a fork of GNOME's Mutter, and isn't used directly but as a library loaded by the "Cinnamon shell" (/usr/bin/cinnamon
), following the architecture of Mutter and GNOME Shell.
However, restoring the wallpaper isn't strictly a function of the window manager, it's just where some implementations do it.
Most standalone WMs do not have any setting for that, but they have a "startup script" which runs a tool like feh
or hsetroot
or even xsetroot
(among other things that the user wants to run on startup).
Desktop environments, on the other hand, have a settings panel (e.g. gnome-control-center
or cinnamon-settings
) and a settings store (dconf+GSettings in case of both GNOME and Cinnamon, a directory full of .ini files in case of KDE) where the settings panel stores the chosen wallpaper, and where the window manager reads it from.
(high-level GSettings API)
# gsettings list-recursively org.cinnamon.desktop.background
# gsettings get org.cinnamon.desktop.background picture-uri
(low-level dconf storage)
# dconf dump /org/cinnamon/desktop/background/
In GNOME, this is actually read not by the window manager, but by gnome-settings-daemon
(the central configuration manager thing that does all sorts of things).
In Cinnamon...I have no idea? Originally this was also handled by cinnamon-settings-daemon
. Then, in version 2.0.6, suddenly it was removed. It seems that the functionality was moved into the cinnamon
shell.