Wallpaper manager for the bread desktop
Find a file
Breadway 50efebe5df Timeout-guard subprocess calls to awww, wal, and bread-theme
wallpaper.rs/pywal.rs/theme.rs each shelled out via a bare
Command::new(...).status() with no timeout — a wedged awww-daemon, pywal
choking on a corrupt/huge image, or a hung bread-theme reload could each
block breadpaper indefinitely. Switched to bread_utils::proc::run (path
dependency for now, see the TODO in Cargo.toml), matching the exact
"anything shelling out to awww" case named in tonight's ecosystem-utils
audit.
2026-07-17 09:52:40 +08:00
.forgejo/workflows fix(ci): clone bread-ecosystem to /tmp to avoid stale permissions 2026-06-17 22:53:08 +08:00
.github/workflows fix: move release workflow to Forgejo, add LICENSE 2026-06-17 14:45:56 +08:00
packaging/arch fix(pkg): move python-pywal to optdepends in PKGBUILD 2026-06-17 14:16:44 +08:00
src Timeout-guard subprocess calls to awww, wal, and bread-theme 2026-07-17 09:52:40 +08:00
.gitignore Initial implementation of breadpaper 2026-06-17 14:05:48 +08:00
bakery.toml Initial implementation of breadpaper 2026-06-17 14:05:48 +08:00
Cargo.lock Timeout-guard subprocess calls to awww, wal, and bread-theme 2026-07-17 09:52:40 +08:00
Cargo.toml Timeout-guard subprocess calls to awww, wal, and bread-theme 2026-07-17 09:52:40 +08:00
LICENSE fix: move release workflow to Forgejo, add LICENSE 2026-06-17 14:45:56 +08:00
README.md breadpaper: commit README, align Cargo.toml version with tag 2026-07-17 03:20:48 +08:00

breadpaper

Wallpaper manager for the bread desktop. Sets a wallpaper via awww, generates a colour palette with pywal, and reloads bread themes in one command.

Dependencies

Runtime:

  • awww — Wayland wallpaper daemon
  • python-pywal — colour palette generation
  • bread-theme — theme reload (part of the bread ecosystem)

Build:

  • Rust 1.85+ (edition 2024) / cargo

Install

From the bakery (recommended on bread OS):

bakery install breadpaper

From source:

cargo build --release
install -Dm755 target/release/breadpaper ~/.local/bin/breadpaper

Arch Linux (PKGBUILD):

cd packaging/arch
makepkg -si

Usage

breadpaper <path>          # set wallpaper (shorthand for `set`)
breadpaper set <path>      # set wallpaper, generate palette, reload themes
breadpaper get             # print the current wallpaper path

Supported formats: png, jpg, jpeg, webp, gif, bmp.

The current wallpaper path is stored by pywal at ~/.cache/wal/wal.

License

MIT — see LICENSE.