breadpaper/README.md
Breadway 54210ddc93
All checks were successful
check / check (push) Successful in 23s
dev release / build (push) Successful in 25s
Emit bread.paper.changed after a successful set
Link bread-utils v0.7.1 (bread-client) and publish
{ "path": "<wallpaper>" } once awww + wal + bread-theme reload
all succeed. Silent no-op if breadd is down. breadpaper is
CLI-only — no watch subscriber; modules should bread.exec
("breadpaper set …"). See EVENTS.md.
2026-08-15 22:15:29 +08:00

54 lines
1.4 KiB
Markdown

# breadpaper
Wallpaper setter for the bread desktop. One command sets the wallpaper
via [awww](https://github.com/heywoodlh/awww), generates a palette with
[pywal](https://github.com/dylanaraps/pywal) (`wal`), and runs
`bread-theme reload`.
It is not a wallpaper library, a slideshow daemon, or a GUI. Browsing
`~/Pictures/Backgrounds` and picking an image lives in
[bos-settings](https://git.breadway.dev/Breadway/bos-settings).
## Dependencies
Must be on `$PATH` for `set`:
- `awww` — Wayland wallpaper (`awww img`)
- `wal` — palette generation (`python-pywal`)
- `bread-theme` — theme reload (bakery package, not `breadd`)
`get` only reads the path pywal stored at `~/.cache/wal/wal`.
## Install
```
bakery install breadpaper
```
From source:
```
cargo build --release
install -Dm755 target/release/breadpaper ~/.local/bin/breadpaper
```
## Usage
```
breadpaper <path> # shorthand for `set`
breadpaper set <path> # awww + wal + bread-theme reload
breadpaper get # print the current wallpaper path
```
Supported formats: `png`, `jpg`, `jpeg`, `webp`, `gif`, `bmp`.
## Bread events
After a successful `set`, breadpaper emits `bread.paper.changed` if
`breadd` is running (silent no-op if it isn't). There is no daemon and
no command subscription — Lua modules should `bread.exec("breadpaper set …")`.
See [EVENTS.md](EVENTS.md).
## License
MIT — see [LICENSE](LICENSE).