#screen-capture #screenshot #side #flameshot

bin+lib ferrishot

A cross-platform desktop screenshot app

1 unstable release

Uses new Rust 2024

new 0.1.0 Apr 12, 2025

#200 in Visualization

Download history 82/week @ 2025-04-07

82 downloads per month

MIT/Apache

65KB
1K SLoC

ferrishot

An easy-to-use, cross-platform screenshot app written in Rust.

Currently, this project is under heavy development. The goal is to reach feature parity with flameshot before the 1.0 release and then go beyond.

Features

  • Select a region on the screen by left clicking and drag
  • Resize region by dragging on any of the sides
  • Move the region around by dragging in the center
  • Esc closes the app
  • Enter or Ctrl c copy region to clipboard
  • Ctrl s save region as an image to path
  • Instantly copy region to clipboard with --instant flag

Showcase

https://github.com/user-attachments/assets/a7a69202-597b-4f25-816f-f84ce85c6313

Road map

  • Height & width text indicator for region
  • Ability to specify the selection absolutely (i.e., without mouse)
  • Take screenshot in 3, 5, 10 seconds
  • Draw shapes on the screen
    • Text
    • Line
    • Circle
    • Arrows
    • Square
    • Highlight
    • Numbered circles
    • Pen
  • Change thickness of tools
  • Pixelate region of the screen
  • Undo and Redo actions for drawing
  • CLI Application
  • Config file
  • Snap to edges / borders of visible objects on the screen

Installation

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

cargo install ferrishot

Dependencies

~45–85MB
~1.5M SLoC