mesh/merge-gate checking again: the gate refused `unknown` because the controller judged with a node-engine validator pinned before mesh-host #117; mesh-co…
mesh/repo-check checking again: the gate refused `unknown` because the controller judged with a node-engine validator pinned before mesh-host #117; mesh-co…
mesh/delivery-group group feat/owned-paths checking: 0 of 2 member(s) ready
mesh/delivery superseded: a newer head of the same pull request
Every directory and archive resource carries `unknown`: move-out for a home folder whose program writes nothing there (the node-engine, delivered in mesh-host #117, moves the rest to ~/.local/state/mesh-moved/<module>/ with a list), module for ~/.ssh and ~/.claude, program elsewhere; `knows` keeps what a program or the operator relies on (powerlevel10k's compiled files, i3's scripts and the asus/g14 drop-ins, dunst's slack rule, betterbird's records, node-env's forge credential, issue 1033). Two shared folders are no longer declared. Each module's README says it. checks/owned holds every manifest to it; checks/sshdir stays while main's merge check runs it (issue 1035). Tests that pin a manifest follow the new key only. Reviewed in three rounds.
61 lines
2.9 KiB
Markdown
61 lines
2.9 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.
|
|
|
|
## Files it does not know
|
|
|
|
Each directory or archive this module declares says how it treats a file it did not write (ADR 0422, ADR 0416).
|
|
|
|
- `~/.local/share/feh/wallpapers`: holds only what this module declares; anything else is moved out by the node-engine to `~/.local/state/mesh-moved/feh/` with a list, never deleted (ADR 0422 §4).
|