#screen-capture #screenshot #flameshot

bin+lib ferrishot

A cross-platform desktop screenshot app

2 unstable releases

Uses new Rust 2024

new 0.2.0 Apr 16, 2025
0.1.0 Apr 12, 2025

#149 in Visualization

Download history 247/week @ 2025-04-11

247 downloads per month

MIT/Apache

105KB
2K SLoC


ferrishot

Screenshot app written in Rust, inspired by flameshot.

Showcase

https://github.com/user-attachments/assets/ebbbfe85-b81e-4f26-9453-545dd1b2ce38

Features

Run by writing ferrishot on the command line.

  • Select a region on the screen by left clicking and dragging
  • Resize the region by dragging on any of the sides or corners and dragging
  • Move the region around by dragging in the center
  • Enter copies screenshot region to clipboard
  • Ctrl s saves screenshot region as a file
  • F11 selects the entire monitor
  • Instantly copy region to clipboard with --instant flag
  • Holding Shift while resizing or dragging will resize or move the selection 10 times slower
  • Size indicator allows setting an absolute width and height for the screenshot
  • Esc exits

This project is under heavy development, and we have a lot of plans. A list of planned features can be found in TODO.md.

Platform Support

  • Windows
  • MacOS
  • Linux (X11)
  • Linux (Wayland)

Installation

Homebrew

brew install nik-rev/tap/ferrishot

PowerShell

powershell -ExecutionPolicy Bypass -c "irm https://github.com/nik-rev/countryfetch/releases/latest/download/ferrishot-installer.ps1 | iex"

Shell

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/nik-rev/countryfetch/releases/latest/download/ferrishot-installer.sh | sh

Nix

Add it to your flake.nix:

# add it to your inputs
inputs.ferrishot.url = "github:nik-rev/ferrishot/main";
# then use it in home-manager for example
inputs.ferrishot.packages.${pkgs.system}.default

Cargo

If you use Linux, see CONTRIBUTING.md for details on which dependencies you will need.

cargo install ferrishot

Dependencies

~49–91MB
~1.5M SLoC