rofi, clipmenu, feh, i3status-rust and the laptop's model module wrote files into i3's config.d, naming no dependency on the window manager. They now contribute their lines; i3 places them under a line naming each module, and config.d is the operator's alone. The catalogue-wide test composes the contributions as the controller does and checks the whole with i3 -C.
2.6 KiB
2.6 KiB
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.
Its i3 lines are a contribution (changed 2026-10-05, novox/hq ADR 0212)
The module no longer writes a file into i3's config.d. Its window-manager lines (the source is still
under files/i3/ where it had one) are a contribution to node-display-session. The i3 module places
them in its own configuration under a # <module> line, so this module depends on a window manager
being assigned beside it.