Files
mesh-catalog/modules/feh/README.md
T
jochen d95eecac53 feh: the wallpaper as a module, its image an archive of its own (hq ADR 0208, ADR 0205)
~/.fehbg stops pointing into the predecessor's tree; the session's xinitrc slot
runs it once; Go tools set (for the session) and current.
2026-10-04 13:10:58 +02:00

2.2 KiB

feh

The wallpaper as a module (novox/hq ADR 0208, research 026/05).

  • Installs feh and requires x11-display on its own machine. It holds no seat: a wallpaper is not a role anything else calls.
  • Carries the wallpaper itself. wallpaper/default.jpg is 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 ~/.fehbg once per session, from the session's start (the xinitrc slot normal).
  • Binds $mod+Shift+b to 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. ~/.fehbg pointed 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 ~/.fehbg once, then writes the module's.
  • Once the xorg module 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-display and the xinitrc slot are ADR 0208's. Until the controller knows them, mctl reads them as unknown.