~/.fehbg stops pointing into the predecessor's tree; the session's xinitrc slot runs it once; Go tools set (for the session) and current.
feh
The wallpaper as a module (novox/hq ADR 0208, research 026/05).
- Installs
fehand requiresx11-displayon its own machine. It holds no seat: a wallpaper is not a role anything else calls. - Carries the wallpaper itself.
wallpaper/default.jpgis built into an archive of the module (ADR 0205) and unpacked into~/.local/share/feh/wallpapers/, which the module owns. - Owns
~/.fehbg, which sets that image, filled, on every monitor, without rewriting itself (--no-fehbg). - Runs
~/.fehbgonce per session, from the session's start (thexinitrcslotnormal). - Binds
$mod+Shift+bto the same file, as its own i3 drop-in (50-feh.conf): the declared wallpaper back, after a monitor change.
Tools
| tool | does |
|---|---|
feh_set |
set images (one for all monitors, or one each) in a mode: fill, center, max, scale, tile. For this session; the declared wallpaper returns at the next login |
feh_current |
the declared wallpaper (from ~/.fehbg) and the one feh_set put up in this session |
feh_set never writes ~/.fehbg. A wallpaper that should stay is a change to this module, or a
setting once issue 168 closes, not a file the next push would overwrite.
What it improves on what was found
- The wallpaper no longer lives in the predecessor's tree.
~/.fehbgpointed into a directory of the retired predecessor's. Deleting that directory would have left the desktop black, silently. - One image file, the same on both workstations. The image was byte-identical on both. It is now the module's own.
What it leaves as found
- The predecessor's wallpaper directory. It is part of the predecessor's tree, which goes as a whole.
Migration (ADR 0182)
- The first push keeps the found
~/.fehbgonce, then writes the module's. - Once the
xorgmodule writes the session's start, delete the~/.fehbg &line from your own part of~/.xinitrc. - The image's origin is the predecessor's desktop module. Check that it may be redistributed before this catalogue is published anywhere public.
Blockers
x11-displayand thexinitrcslot are ADR 0208's. Until the controller knows them,mctlreads them as unknown.