X11 screenshot utility with annotation editor
garshot is a screenshot utility for the gardesk ecosystem featuring fast MIT-SHM capture, interactive selection with blur overlay, multi-monitor support via XRandR, built-in annotation editor with 8 drawing tools, and multiple output formats including PNG, JPEG, and WebP. Supports daemon mode with IPC for quick captures.
garshot is available as an RPM package for Fedora and RHEL-compatible distributions.
xclip - Clipboard integration (or xsel as fallback)libnotify - Desktop notifications (optional, for --notify)Capture the entire screen and save to the default directory:
Click and drag to select a region with blur overlay:
Controls: Left click + drag to select, release to capture, right click or Escape to cancel.
Open the annotation editor immediately after capture:
Add to ~/.config/gar/init.lua:
-- Screenshot keybindings
gar.bind("ctrl+shift+4", function()
gar.exec("garshot select")
end)
gar.bind("ctrl+shift+5", function()
gar.exec("garshot screen")
end)
gar.bind("ctrl+shift+6", function()
gar.exec("garshot window")
end)
-- With annotation editor
gar.bind("ctrl+shift+3", function()
gar.exec("garshot select -a")
end) | Option | Type | Default | Description |
|---|---|---|---|
-o, --output PATH | - | Auto-generated | Output file path (use "-" for stdout) |
-f, --format FMT | - | png | Output format: png, jpeg, webp |
-c, --cursor | - | false | Include mouse cursor in capture |
--no-clipboard | - | false (copies) | Skip copying to clipboard |
--delay SECS | - | none | Countdown delay before capture |
--notify | - | false | Show desktop notification on save |
-a, --annotate | - | false | Open annotation editor after capture |