mirror of github.com/Breadway/breadshot
|
Some checks failed
check / check (push) Failing after 1s
bread-utils moves from bread-ecosystem tag v0.3.0 to v0.7.1. README states breadshot is the grim/slurp/wl-copy orchestrator BOS binds Super+Shift+S/C/P to (not grimblast), not a GUI editor, and not bread-screenshots. |
||
|---|---|---|
| .forgejo/workflows | ||
| ci | ||
| src | ||
| .gitignore | ||
| bakery.toml | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
breadshot
Wayland screenshot orchestrator for the bread ecosystem — not a GUI editor.
It shells out to grim, slurp, and wl-copy with Hyprland-aware geometry
resolution, clipboard integration, and desktop notifications.
This is a different job from bread-screenshots (the crate in
bread-ecosystem): that one is a capture harness for screenshotting sibling
apps in CI. Do not merge the two.
On BOS, Hyprland binds Super+Shift+S / C / P to breadshot (not grimblast):
| Bind | Action | Command |
|---|---|---|
Super+Shift+S |
Region → file (and clipboard) | breadshot region |
Super+Shift+C |
Region → clipboard only | breadshot region --clipboard-only |
Super+Shift+P |
Screen → file | breadshot active-output |
Requirements
Required (must be in $PATH):
grim— Wayland screenshot toolslurp— region/window selectionwl-copy(wl-clipboard) — clipboard writehyprctl— Hyprland IPC (for window and monitor geometry)
Optional:
hyprpicker— screen freeze during selection (--freeze)notify-send— desktop notifications (silently skipped if absent)
Build and install
# build only
cargo build --release
# build and install to /usr/local/bin
make install
# install to a custom prefix
make install PREFIX=/usr
Usage
breadshot <mode> [options]
Modes
| Mode | Description |
|---|---|
region |
Interactive region selection |
window |
Click to select a window on the active workspaces |
output |
Click to select a monitor |
active-window |
Capture the currently focused window |
active-output |
Capture the monitor containing the active workspace |
Options
| Flag | Short | Description |
|---|---|---|
--clipboard-only |
-c |
Copy to clipboard only, do not save to disk |
--silent |
-s |
Suppress notifications |
--freeze |
-z |
Freeze screen during selection (requires hyprpicker) |
--output-dir <DIR> |
-o |
Override the save directory from config |
--filename <NAME> |
-f |
Override the output filename (without path) |
--config <FILE> |
Use a specific config file |
Examples
# interactive region selection, save and copy
breadshot region
# capture active window to clipboard only
breadshot active-window --clipboard-only
# region selection with screen frozen, saved to a custom path
breadshot region --freeze --output-dir ~/Desktop --filename capture.png
Configuration
Config file: ~/.config/breadshot/config.toml
All keys are optional. Missing keys fall back to the defaults shown below.
# Directory where screenshots are saved
save_dir = "~/Pictures/Screenshots"
# Suppress notifications globally
silent = false
# Freeze screen during selection by default (requires hyprpicker)
freeze = false
# Notification display duration in milliseconds
notif_timeout = 5000
# strftime format used to generate filenames
# Filename pattern: <date_format>_breadshot.png
date_format = "%Y-%m-%d-%H%M%S"
License
MIT — see LICENSE.