# Hyprshot [![AUR version](https://img.shields.io/aur/version/hyprshot?label=hyprshot&logo=arch+linux)](https://aur.archlinux.org/packages/hyprshot) [![AUR git version](https://img.shields.io/aur/version/hyprshot-git?label=hyprshot-git&logo=arch+linux)](https://aur.archlinux.org/packages/hyprshot-git) [![GitHub release (latest by date)](https://img.shields.io/github/v/release/Gustash/hyprshot?color=green&logo=github)](https://github.com/Gustash/hyprshot/releases/latest) Hyprshot is an utility to easily take screenshot in Hyprland using your mouse. It allows taking screenshots of windows, regions and monitors which are saved to a folder of your choosing and copied to your clipboard. ## Installation ### Arch Linux You can install the [hyprshot](https://aur.archlinux.org/packages/hyprshot) package in AUR. ### Dependencies - hyprland (this one should be obvious) - jq (to parse and manipulate json) - grim (to take the screenshot) - slurp (to select what to screenshot) - wl-clipboard (to copy screenshot to clipboard) - libnotify (to get notified when a screenshot is saved) - imagemagick (to trim excess transparent pixels when window is partially off-screen) ### Manual To install manually, simply clone this repo and copy/symlink the `hyprshot` script to a folder in your `PATH`: ```bash $ git clone https://github.com/Gustash/hyprshot.git Hyprshot $ ln -s $(pwd)/Hyprshot/hyprshot $HOME/.local/bin $ chmod +x Hyprshot/hyprshot ``` ## Usage You can get help on how to use hyprshot by executing: ```bash $ hyprshot -h ``` The simplest usage of Hyprshot is executing it with one of the available modes. For example, to screenshot an open window: ```bash $ hyprshot -m window ``` You can also skip saving the screenshot to a file, copying it only to the clipboard: ```bash $ hyprshot -m output --clipboard-only ``` ## Configuration You can add the various modes as keybindings in your Hyprland config like so: ``` # ~/.config/hypr/hyprland.conf ... # Screenshot a window bind = $mainMod, PRINT, exec, hyprshot -m window # Screenshot a monitor bind = , PRINT, exec, hyprshot -m output # Screenshot a region bind = $shiftMod, PRINT, exec, hyprshot -m region ``` This would allow you to: Take a screenshot of a window by using `MOD + PrintScr` Take a screenshot of a monitor by using `PrintScr` Take a screenshot of a region by using `MOD + Shift + PrintScr` ## Save location You can choose which directory Hyprshot will save screenshots in by setting an `HYPRSHOT_DIR` environment variable to your preferred location. If `HYPRSHOT_DIR` is not set, Hyprshot will attempt to save to `XDG_PICTURES_DIR` and will further fallback to your home directory if this is also not available.