Stable

garshot

Screenshot Utility

A fast X11 screenshot tool with built-in annotation editor, interactive region selection, and multiple output formats. garshot uses MIT-SHM for performance (~50ms full-screen captures) and includes 8 annotation tools with a color picker featuring HSV, RGB, and eyedropper modes.

Features

  • MIT-SHM for fast captures (~50ms full-screen)
  • Built-in annotation editor with 8 tools
  • Color picker with HSV, RGB, palette & eyedropper
  • Interactive region selection with blur overlay
  • Window capture with optional decorations
  • Multiple formats: PNG, JPEG, WebP
  • Automatic clipboard copy via xclip/xsel
  • Daemon mode for instant subsequent captures
  • Capture delay countdown (--delay)
  • Desktop notification on save (--notify)
  • Undo/redo with full history
  • Multi-monitor support via XRandR

Quick Start Guide

Get up and running with garshot in just a few steps. This guide covers installation, basic usage, and essential commands.

1. Installation

Install garshot using the unified installer or build from source:

terminal
$ curl -fsSL https://gar.musicsian.com/install.sh | bash -s -- --component=garshot # Install via script
$ cd ~/.local/src/gardesk/garshot && cargo build --release # Or build from source

2. System Dependencies

garshot requires X11 and optionally xclip for clipboard support:

Install dependencies
$ sudo pacman -S libx11 xclip # Arch
$ sudo apt install libx11-dev xclip # Debian/Ubuntu
$ sudo dnf install libX11-devel xclip # Fedora

3. Basic Usage

Take your first screenshots with these commands:

terminal
$ garshot # Capture full screen (default)
$ garshot region # Interactive region selection
$ garshot window # Capture active window
$ garshot screen -m HDMI-1 # Capture specific monitor
$ garshot region --delay 3 # Countdown before capture

4. Output Options

Control where screenshots go:

terminal
$ garshot -o ~/screenshot.png # Save to specific path
$ garshot -f jpeg # Use JPEG format
$ garshot --no-clipboard # Skip clipboard copy
$ garshot --notify # Show desktop notification on save
$ garshot -c # Include cursor in screenshot

5. Annotation Mode

Edit screenshots with the built-in annotation editor:

terminal
$ garshot screen --annotate # Capture + annotate
$ garshot region --annotate # Select region + annotate
$ garshot annotate screenshot.png # Annotate existing file

In the editor, use Ctrl+Enter to save or Escape to cancel.

6. Daemon Mode

Run garshot as a daemon for faster subsequent captures:

terminal
$ garshot daemon & # Start daemon in background
$ garshotctl screen # Capture via daemon
$ garshotctl region # Region select via daemon
$ garshotctl status # Check daemon status