Hyprshot icon indicating copy to clipboard operation
Hyprshot copied to clipboard

Screenshots don't save in the specified directory

Open Femto-0 opened this issue 5 months ago • 8 comments

Today while going through my screenshots, I realized that the screenshots I took were no longer getting saved to the specified directory. From the time stamps of my screenshots, it looks like this issue started around end of June 2025 to start of July 2025. As of now, the screenshots get saved to the first fallback directory i.e XDG_PICTURES_DIR

This is where the screenshots were getting saved before the issue: $HOME/Pictures/Screenshot

Image

This is where the screenshots are getting saved now: $HOME/Pictures

Image

And just for the record, I do have my HYPRSHOT_DIR variable set.

Femto-0 avatar Jul 27 '25 03:07 Femto-0

same here, used to work before but now no matter what i do in environment variable it saves in ~/Pictures

m70v avatar Aug 11 '25 10:08 m70v

same here!

CS-Astronaut avatar Aug 19 '25 20:08 CS-Astronaut

Same here! No matter how many times I set the location as an environment variable, it still saves either in my Pictures or Home directory.

Motaphe avatar Aug 24 '25 08:08 Motaphe

a temporary solution would be editing the binding to something like this

bind = $mainMod SHIFT, S, exec, hyprshot -m output -o ~/Pictures/Screenshots/

m70v avatar Aug 24 '25 08:08 m70v

Same here!

rickunderstars avatar Aug 26 '25 11:08 rickunderstars

I just added the environment variable to my .zshrc and it worked. I also use absolute path e.g /home/username/Pictures/Screenshots/

GhostVox avatar Sep 27 '25 18:09 GhostVox

Same issue here. Env var is set, full path. Was working before as per other users.

byezy avatar Oct 09 '25 03:10 byezy

I tried it again on a fresh install of Hyprland, and it looks like once you add the HYPRSHOT_DIR variable to your .bashrc, running hyprshot directly from the terminal saves screenshots in the correct directory but Hyprland doesn’t seem to respect it when using keybinds.

As a workaround, I just hardcoded the output path in my Hyprland config:

# Screenshot Directory
$HYPRSHOT_DIR="$HOME/Pictures/screenshots"

# Screenshot a region
bind = $mainMod SHIFT, S, exec, hyprshot -m region -o $HYPRSHOT_DIR

Motaphe avatar Oct 18 '25 20:10 Motaphe