#screenshot #hyprland #wayland #graphics

app hyprshot-rs

A utility to easily take screenshots in Hyprland using your mouse

2 releases

Uses new Rust 2024

new 0.1.1 Apr 25, 2025
0.1.0 Apr 24, 2025

#507 in Command line utilities

Download history 178/week @ 2025-04-21

178 downloads per month

GPL-3.0 license

39KB
942 lines

Crates.io Version Crates.io License Rust Dependencies


Hyprshot-rs

A utility to easily take screenshots in Hyprland using your mouse.

Features

  • Capture screenshots of windows, regions, or monitors.
  • Save screenshots to a specified folder or copy to the clipboard.
  • Support for delayed captures, screen freezing, and custom commands.

Installation

Install via Cargo:

cargo install hyprshot-rs

Ensure the following dependencies are installed:

  • grim
  • slurp
  • wl-clipboard
  • hyprland
  • hyprpicker (optional)

On Arch Linux:

sudo pacman -S grim slurp wl-clipboard hyprland hyprpicker

Usage

Make it available regardless of the shell

sudo ln -s ~/.local/share/cargo/bin/hyprshot-rs /usr/local/bin/
hyprshot-rs [options ..] [-m [mode] ..] -- [command]
possible values: output, window, region, active

Possible values:

  • Capture a window:
hyprshot-rs -m window
  • To take a screenshot of a specific area of the screen, use:
hyprshot-rs -m region
  • If you have 2 or more monitors and want to take a screenshot of the workspace on a specific monitor:
hyprshot-rs -m output
  • Quick capture (instant screenshot of the workspace where the cursor is):
hyprshot-rs -m active -m output
  • Take a screenshot of a selected area and save it in the current directory: ~/repository
hyprshot-rs -m region -r > output.png

redirects the output to output.png in your current working directory. So if you're currently in ~/repository when running this command, that's where the screenshot will be saved, not in the default ~/Pictures directory.

Run hyprshot-rs --help or hyprshot-rs -hfor more options.

Binding to specific key combinations Add to the hyprland.conf configuration file:

bind = , PRINT , exec , hyprshot-rs -m active -m output
bind = $mainMod, PRINT , exec , hyprshot-rs -m region
bind = $shiftMod , PRINT , exec ,  hyprshot-rs -m output

Based on the implementation: Hypershot

License

GPL-3.0

Dependencies

~3–36MB
~490K SLoC