Wallpaper manager for the bread desktop
Find a file
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
.forgejo/workflows ci: build inside bread-ecosystem's shared Arch container 2026-08-05 19:14:49 +08:00
.github/workflows fix: move release workflow to Forgejo, add LICENSE 2026-06-17 14:45:56 +08:00
ci ci: build inside bread-ecosystem's shared Arch container 2026-08-05 19:14:49 +08:00
src Emit bread.paper.changed after a successful set 2026-08-15 22:15:29 +08:00
.gitignore Track AGENTS.md 2026-08-15 22:03:30 +08:00
AGENTS.md Track AGENTS.md 2026-08-15 22:03:30 +08:00
bakery.toml bakery.toml: bread-theme + awww/pywal, not bread 2026-08-15 21:34:55 +08:00
Cargo.lock Emit bread.paper.changed after a successful set 2026-08-15 22:15:29 +08:00
Cargo.toml Emit bread.paper.changed after a successful set 2026-08-15 22:15:29 +08:00
CONTRIBUTING.md CONTRIBUTING.md: document single-trunk + RC-tag release model 2026-07-31 11:08:41 +08:00
EVENTS.md Emit bread.paper.changed after a successful set 2026-08-15 22:15:29 +08:00
LICENSE fix: move release workflow to Forgejo, add LICENSE 2026-06-17 14:45:56 +08:00
README.md Emit bread.paper.changed after a successful set 2026-08-15 22:15:29 +08:00

breadpaper

Wallpaper setter for the bread desktop. One command sets the wallpaper via awww, generates a palette with 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.

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.

License

MIT — see LICENSE.