Wallpaper manager for the bread desktop
|
All checks were successful
dev release / build (push) Successful in 21s
Pin bread-utils to v0.7.2 (command/subscribe). Add a long-running listen subcommand that subscribes to bread.command.paper.**, calls set() on set, and emits bread.paper.set.done / .failed. Fail-silent if breadd is down. No slideshow verbs. See EVENTS.md. |
||
|---|---|---|
| .forgejo/workflows | ||
| .github/workflows | ||
| ci | ||
| src | ||
| .gitignore | ||
| AGENTS.md | ||
| bakery.toml | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CONTRIBUTING.md | ||
| EVENTS.md | ||
| LICENSE | ||
| README.md | ||
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, notbreadd)
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
breadpaper listen # honor bread.command.paper.set (fail-silent if breadd is down)
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). breadpaper listen is
the optional long-running subscriber for bread.command.paper.set; it
does not start by itself. Lua modules can still
bread.exec("breadpaper set …"). See EVENTS.md.
License
MIT — see LICENSE.