onionshot

Crates.ioonionshot
lib.rsonionshot
version0.1.1
created_at2025-08-09 09:21:33.217043+00
updated_at2025-08-11 09:36:27.982978+00
descriptionScreenshot utility for Hyprland
homepage
repositoryhttps://www.github.com/onion108/onionshot
max_upload_size
id1787728
size55,673
27Onion Nebell (onion108)

documentation

README

OnionShot: Yet Another Screenshot Utility For Hyprland

hyprshot and wlshot doesn't do what I want to do so I wrote my own one.

Compilation

Just cargo build --release and you're ready to go.

You can also install it using cargo install --release

Dependencies

  • hyprland
  • hyprpicker
  • grim
  • slurp
  • wl-copy
  • notify-send

We check for every dependency's existence before running, so make sure you run onionshot at least once to see if some dependencies are missing. If so, the program will list out all missing programs and just install them and making sure they're accessible from $PATH.

Please make sure these dependencies are up-to-date (compared to the version in the Arch Linux Repository). I don't guarantee it will work on older packages.

Environemnt Variables

ONIONSHOT_DIR is where we put the screenshots in (if the storage mode is filesystem-only or both). If this variable doesn't exist, then we will check for $XDG_PICTURES_DIR, and then $HOME/Pictures.

Usage

The help (onionshot --help) is quite self-explanatory. We currently provides three modes (Fullscreen, region and active window) to screenshot with, and three storage modes (store to filesystem/clipboard only, or both). -f or --freeze can be use to freeze the screen in region mode and doesn't apply to fullscreen/active window mode because these two modes take screenshots instantly.

Credits

This implementation is inspired by following projects.

Great thanks to them.

(Actually I'm just hating writing or modifying shell scripts too much that I decided to rewrite them entirely in Rust)

Commit count: 0

cargo fmt