mirror of github.com/Breadway/breadshot
Find a file
Breadway 773972b711 CI: single-trunk model — dev triggers on main, beta becomes RC-tag-triggered
Replaces the dev/beta branch split with one trunk (main): dev-track
builds still publish on every push, but the beta track now publishes
from a vX.Y.Z-rc.N prerelease tag instead of a separately-maintained
beta branch. Removes the branch nobody reliably kept in sync.
2026-07-31 11:05:29 +08:00
.forgejo/workflows CI: single-trunk model — dev triggers on main, beta becomes RC-tag-triggered 2026-07-31 11:05:29 +08:00
src Timeout-guard hyprctl JSON queries 2026-07-17 09:53:54 +08:00
.gitignore random commit message, read it yourself 2026-07-22 11:57:21 +08:00
bakery.toml Initial commit 2026-07-02 20:59:24 +08:00
Cargo.lock Switch to tag-pinned bread-ecosystem deps; bump version to v0.1.1 2026-07-19 03:52:53 +08:00
Cargo.toml Switch to tag-pinned bread-ecosystem deps; bump version to v0.1.1 2026-07-19 03:52:53 +08:00
CONTRIBUTING.md docs: add CONTRIBUTING.md 2026-07-22 19:42:19 +08:00
LICENSE Initial commit 2026-07-02 20:59:24 +08:00
Makefile Initial commit 2026-07-02 20:59:24 +08:00
README.md Initial commit 2026-07-02 20:59:24 +08:00

breadshot

Wayland screenshot utility for the bread ecosystem. Wraps grim, slurp, and wl-copy with Hyprland-aware geometry resolution, clipboard integration, and desktop notifications.

Requirements

Required (must be in $PATH):

  • grim — Wayland screenshot tool
  • slurp — region/window selection
  • wl-copy (wl-clipboard) — clipboard write
  • hyprctl — 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.