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.
55 lines
2.6 KiB
Markdown
55 lines
2.6 KiB
Markdown
# 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.
|
|
|
|
## 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.
|