Synced from hotshot. This page is pulled from hivecommons/hotshot@main during the docs build. Edit the canonical source in the hotshot repository.

hotshot for Linux

Take a screenshot, and it lands in your terminal — the Linux port of hotshot. dependency-light shell script; no daemon. You bind it to a hotkey with your desktop environment, press the hotkey, select a region, and hotshot:

  1. Saves the PNG to ~/Pictures/hotshot/hotshot-YYYYMMDD-HHMMSS.png (override with HOTSHOT_DIR or --dir)
  2. Loads the clipboard with the image (and the text path too when CopyQ is running — see Parity notes)
  3. Detects which AI CLI is running in the terminal that was focused when you pressed the hotkey (by walking its child processes under /proc) and types the format that CLI understands:
CLI in focused terminalTyped injection
Claude Code (claude)[/path/to/shot.png] (bracketed)
GitHub Copilot CLI / aider / OpenCodebare backslash-escaped path + space
unknownbracketed (historical default)

This is the same clipboard/typing contract as the macOS app.

Install

git clone https://github.com/hivecommons/hotshot.git
cd hotshot/linux
./install.sh                 # installs to ~/.local/bin/hotshot-capture
./install.sh --gnome-hotkey  # also binds Ctrl+Shift+PrintScreen on GNOME

The installer reports which dependencies are missing for your session type.

Dependencies

X11Wayland
Capturemaim (or scrot)grim + slurp
Clipboardxclipwl-clipboard (wl-copy)
Typed injectionxdotoolwtype (wlroots) or ydotool
Focused-window PIDxdotoolswaymsg/hyprctl + jq
Multi-format clipboard (optional)CopyQCopyQ

Debian/Ubuntu-liners:

# X11
sudo apt install maim xclip xdotool
# Wayland (wlroots: sway, hyprland, ...)
sudo apt install grim slurp wl-clipboard wtype jq

Hotkey binding

install.sh prints per-DE instructions. Examples:

  • GNOME: ./install.sh --gnome-hotkey (binds Ctrl+Shift+PrintScreen), or Settings > Keyboard > Custom Shortcuts

  • KDE: System Settings > Shortcuts > Custom Shortcuts

  • sway: bindsym Ctrl+Shift+Print exec ~/.local/bin/hotshot-capture

  • hyprland: bind = CTRL SHIFT, Print, exec, ~/.local/bin/hotshot-capture

  • sxhkd:

    ctrl + shift + Print
        ~/.local/bin/hotshot-capture

Usage

hotshot-capture [--region|--full] [--no-type] [--dir DIR]
  • --region (default): drag-select a region
  • --full: capture the whole screen
  • --no-type: skip the typed injection (clipboard + file)
  • --dir DIR: save screenshots to DIR

Parity notes

  • Clipboard: X11/Wayland clipboards have a single owner and xclip / wl-copy serve MIME target per invocation, so by default the clipboard carries the image (paste with Ctrl-V in Claude Code or GUI apps); the typed injection delivers the path. If CopyQ is running, hotshot puts both image/png and the text path on the clipboard, matching macOS exactly.
  • Focus tracking: instead of a menu-bar app that remembers your last terminal, the Linux port captures the focused window at hotkey press time — press the hotkey while your terminal is focused, then select the region. On Wayland, focused-window PID detection is implemented for sway and hyprland; on other compositors CLI detection falls back to the bracketed default (Claude-compatible).
  • No file watcher: the hotkey performs capture + inject in step, so there is nothing to watch. Your DE’s native screenshot shortcuts are unaffected.