Skip to content

A simple GTK-based GUI for Hyprshot, designed to provide an easy way to capture and manage screenshots on Hyprland.

License

Notifications You must be signed in to change notification settings

s-adi-dev/hyprshot-gui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HyprShot GUI

A simple GTK4-based application for taking screenshots, utilizing HyprShot under the hood. The design is inspired by GNOME Screenshot.

Features

  • Sleek easy-to-use GTK4 interface
  • Uses HyprShot for capturing screenshots
  • Lightweight and fast

Interface Preview

Main Interface

Installation

The install script supports the following distributions:

  • Arch Linux
  • Debian/Ubuntu
  • Fedora

Run the install script based on your distribution:

curl -fsSL https://raw.githubusercontent.com/s-adi-dev/hyprshot-gui/main/install.sh | bash

If your distribution is not listed or an error occurs during installation, please install the dependencies manually:

Dependencies

  • Python 3 (minimum required version)
  • python-gobject
  • GTK4
  • HyprShot

Then run the generic install command:

curl -sL https://raw.githubusercontent.com/s-adi-dev/hyprshot-gui/refs/heads/main/src/hyprshot-gui | sudo tee /usr/bin/hyprshot-gui > /dev/null
sudo chmod +x /usr/bin/hyprshot-gui
curl -sL https://raw.githubusercontent.com/s-adi-dev/hyprshot-gui/refs/heads/main/src/hyprshot.desktop | sudo tee /usr/share/applications/hyprshot.desktop > /dev/null

Usage

Once installed, you can launch the app from your applications menu (r/t/wofi, walker, nwg-menu, bemenu, fuzzel, anyrun, ...) or via the terminal:

hyprshot-gui

Configurations

HyprShot GUI provides two ways to configure its behavior: configuration file and command-line flags. The configuration file is generated with the install script at ~/.config/hypr/hyprshot.conf

Available Settings

Setting Type Description Default Value
OutputDir String Directory where screenshots are saved ~/Pictures
Delay Integer Delay before taking a screenshot (in seconds) 0
NotifyTimeout Integer Notification timeout duration (in milliseconds) 5000
ClipboardOnly Boolean Save screenshot only to clipboard False
Freeze Boolean Freeze the screen on initialization False
Silent Boolean Suppress notifications when saving a screenshot False
  • Example Configuration File
[Settings]
OutputDir=~/Pictures
Delay=0
NotifyTimeout=5000
ClipboardOnly=False
Freeze=False
Silent=False

Notes:

  • Boolean values accept True, False, 1, or 0.
  • OutputDir supports ~ expansion.

Command Line Options

Flag Alias Description
-h --help Show help message and exit
-v --version Show version information and exit
-o <path> --output-folder <path> Set directory to save screenshots
-z --freeze Freeze the screen on initialization
-d <seconds> --delay <seconds> Set delay before taking a screenshot
--clipboard-only Save only to clipboard
-s --silent Do not send notification when a screenshot is saved
-t <ms> --notify-timeout <ms> Set notification timeout in milliseconds
  • Example CLI Usage
hyprshot-gui -o ~/Screenshots -d 3 --clipboard-only

Additional Configuration

To enhance the user experience, you can configure Hyprland to launch the application in floating mode by adding the following window rule to your Hyprland configuration:

windowrulev2 = float, title:^(.*Hyprshot.*)$
  • Note: This rule is automatically added to your ~/.config/hypr/hyprland.conf by the install script, so you don’t need to add it manually unless you want to verify or modify it.

Contributing

If you'd like to contribute, feel free to submit pull requests or report issues.

License

This project is licensed under the MIT License.

About

A simple GTK-based GUI for Hyprshot, designed to provide an easy way to capture and manage screenshots on Hyprland.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •