hyprquickshot
hyprquickshot copied to clipboard
A cool screenshot utility for Hyprland
HyprQuickshot
A simple, (hopefully) beautiful screenshot utility for Hyprland with smooth animations, built with Quickshell. PRs and contributions are appreciated.
Demo
https://github.com/user-attachments/assets/7e3d5e3c-551a-4458-8dda-06cc3907dd92
Dependencies
Installation
Nix
If using flakes, add this repo to your flake inputs:
{
inputs = {
hyprquickshot = {
url = "github:jamdon2/hyprquickshot";
inputs.nixpkgs.follows = "nixpkgs";
};
};
}
The package is available as hyprquickshot.packages.<system>.default, which can be added to your environment.systemPackages or home.packages if you use home-manager.
Arch
Install dependencies with pacman:
pacman -S grim imagemagick wl-clipboard
And get Quickshell with yay (or your AUR helper of choice)
yay -S quickshell
Now just clone this repo into Quickshell's config folder
git clone https://github.com/jamdon2/hyprquickshot ~/.config/quickshell/hyprquickshot
Usage
Now you're ready to launch HyprQuickshot from your terminal, or add it to your Hyprland config.
quickshell -c hyprquickshot -n
If you've installed package using nix flake, you should use
hyprquickshotcommand instead.
You can remove the -n if you want to allow multiple instances of HyprQuickshot to be open (like wanting to screenshot HyprQuickshot for whatever reason).
Add this line to your hyprland.conf to bind HyprQuickshot to the Print Screen button on your keyboard.
bind = , Print, exec, quickshell -c hyprquickshot -n
Or this to bind it to Meta + Shift + A
bind = $mainMod+SHIFT, A, exec, quickshell -c hyprquickshot -n
Configuration
You can choose a custom screenshot folder by setting the HQS_DIR environment variable.
If HQS_DIR is not set, HyprQuickshot will try to find a suitable directory in the following order:
-
$XDG_SCREENSHOTS_DIR -
$XDG_PICTURES_DIR -
$HOME/Pictures
Known issues
- If you have high resolution monitors, grim might take a few seconds to save the screenshot, and if you select any option before that, your screenshot won't be saved. This will be fixed in the next release.
TODO
- [x] Speed up grim by supplying the geometry of the selected monitor
- [ ] Add more animations and improve UI/UX
- [ ] Optimize shader (remove branching and add AA)
- [ ] Eliminate some dependencies
- [ ] Rewrite in Rust :)