shotlite is a small local screenshot utility.
It currently supports:
- full-screen capture
- rectangle capture with explicit coordinates or a Windows selection overlay
- PNG output to a configured directory
- copying captures to the clipboard when the platform clipboard is available
- destructive pixel redaction into a new PNG file
There are no cloud features, accounts, telemetry, or AI features.
cargo build
Capture all detected monitors:
shotlite full
Capture one monitor:
shotlite monitor
shotlite monitor --index 1
Without --index, monitor captures the monitor containing the cursor when that can be determined. Monitor indexes are zero-based.
Save one capture to a specific directory:
shotlite full --output-dir .\shots
Save one capture to an exact file:
shotlite full --output .\shots\screen.png
Capture a rectangle:
shotlite region
shotlite region --rect 10,20,400,300
shotlite region --last
Interactive region selection is currently Windows-only. Use --rect x,y,w,h where the overlay is not available. --last reuses the last successful region rectangle.
Copy a capture to the clipboard too:
shotlite full --clipboard
Show a small preview window after capture:
shotlite full --preview
The preview window has clickable actions for copy, copy path, edit, open, reveal, delete, and close. The same actions are available from the keyboard: C, P, E, O, R, Delete, and Esc.
Open the editor after capture:
shotlite full --edit
shotlite region --edit
Open or reveal the saved file after capture:
shotlite full --open
shotlite full --reveal
List recent PNG files in the configured output directory:
shotlite history
shotlite history --limit 5
shotlite history --open 1
shotlite history --reveal 1
History indexes are one-based. If a listed file is moved or deleted before --open or --reveal runs, the command reports that path as missing.
Redact an image by filling a rectangle with black pixels:
shotlite redact input.png --rect 10,20,200,80
By default, redaction writes input-redacted.png and leaves the input file unchanged.
Use --output to choose another path.
Highlight or crop an existing image:
shotlite highlight input.png --rect 10,20,200,80
shotlite crop input.png --rect 10,20,200,80
Open a minimal editor window for an existing image:
shotlite edit input.png
shotlite edit input.png --output edited.png
In the editor, drag a rectangle, then press R to redact, H to highlight, O to draw an outline, A to draw an arrow, T to type a text label, or 1 through 9 to add a numbered marker. Text labels are applied with Enter; Backspace edits the label and Esc cancels text entry. Press U to undo, S to save, or C to crop and save. --output chooses the file written by the edit operation.
Run the Windows tray app:
shotlite tray
Right-click the tray icon for capture, copy/open/reveal last screenshot, folder, config, startup, and quit actions.
Tray hotkeys:
Ctrl+Shift+1: full-screen captureCtrl+Shift+2: region captureCtrl+Shift+Q: quit tray mode
Show or set the output directory:
shotlite config path
shotlite config dir
shotlite config open
shotlite config output-dir
shotlite config output-dir C:\Users\you\Pictures\Screenshots
shotlite config show
shotlite config validate
shotlite config reset
shotlite config set output-dir C:\Users\you\Pictures\Screenshots
config output-dir is the shorter form for reading or changing the screenshot directory. config set output-dir is kept for compatibility.
- Interactive region selection and tray mode are currently Windows-only.
- Clipboard support depends on the local platform clipboard.
- Capture support depends on
xcapsupport for the current desktop/session. - Linux and macOS support is currently CLI-first; tray and global hotkeys are not implemented there.
- CI builds and tests the Rust code on Windows, Linux, and macOS.
Download the Windows installer from the GitHub release page and run it. A portable zip is also published; unzip it and run install-windows.ps1 from the unpacked directory if you prefer the script-based installer.
Build a Windows package:
powershell -ExecutionPolicy Bypass -File scripts\package-windows.ps1
Build the Windows installer after packaging:
powershell -ExecutionPolicy Bypass -File scripts\build-windows-installer.ps1
Install from the unpacked package:
powershell -ExecutionPolicy Bypass -File install-windows.ps1
powershell -ExecutionPolicy Bypass -File install-windows.ps1 -StartWithWindows
Skip the Start Menu shortcut:
powershell -ExecutionPolicy Bypass -File install-windows.ps1 -NoStartMenuShortcut
Uninstall:
powershell -ExecutionPolicy Bypass -File uninstall-windows.ps1
The uninstall script removes the installed executable, Start Menu shortcut, and startup entry. It does not remove the config file or screenshots.
By default, screenshots are written to the configured output directory. The config file path can be printed with:
shotlite config path
The config directory can be printed with:
shotlite config dir
On Windows, the default config path is under %APPDATA%\shotlite\config.toml.
Licensed under either MIT or Apache-2.0.