8000 GitHub - alycda/ferrishot: A powerful screenshot app written in Rust πŸ“ΈπŸ¦€
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

alycda/ferrishot

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


ferrishot

Powerful screenshot app written in Rust, inspired by flameshot.

latest release Chat on Discord

Showcase

ferrishot.mp4

Features

Run by typing ferrishot on the command line.

Basic usage

  • Select a region on the screen by left clicking and dragging.
  • Resize the region by dragging on any of the sides and dragging
  • Move the region around by dragging in the center

The selection is surrounded by buttons, each with their own keybinding. Most notably:

  • Enter copies screenshot to clipboard
  • Ctrl s saves screenshot to a file. You can choose any valid extension like .png, .webp, .jpg
  • Ctrl u uploads the screenshot to the internet

Image Uploaded

You get a link and a QR Code, so you can easily send it to another device!

Size Indicator

In the bottom-right corner, is a small box showing the height and width of the selection. You can manually edit it to set a specific size.

Keyboard Control

Ferrishot can be fully keyboard controlled, with no mouse! You can select any region on the screen in just 8 keystrokes. Pick a top-left corner by typing t, and pick a bottom-right corner by typing b:

instant-shot.mp4

We also have vim motions! There is a cheatsheet available by pressing ? to view the motions:

cheatsheet

You can see all of the keybindings declared in the default config file default.kdl

Config

Ferrishot is very customizable! You have full control over the UI, color scheme and keybindings.

Create the default config file ferrishot.kdl by doing ferrishot --dump-default-config.

For reference, see the default config file (default.kdl) which contains comments describing each option.

Command-line interface

You can use ferrishot in scripts, too

ferrishot

A cross-platform desktop screenshot app

Usage: ferrishot [OPTIONS]

Options:
  • -r, --region <WxH+X+Y> β€” Open with a region pre-selected

    Format: <width>x<height>+<top-left-x>+<top-left-y>

  • -l, --last-region β€” Use last region

  • -a, --accept-on-select <ACTION> β€” Accept capture and perform the action as soon as a selection is made

    If holding ctrl while you are releasing the left mouse button on the first selection, the behavior is cancelled

    It's quite useful to run ferrishot, select a region and have it instantly be copied to the clipboard for example. In 90% of situations you won't want to do much post-processing of the region and this makes that experience twice as fast. You can always opt-out with ctrl

    Using this option with --region or --last-region will run ferrishot in 'headless mode', without making a new window.

    Possible values:

    • copy: Copy image to the clipboard
    • save: Save image to a file
    • upload: Upload image to the internet
  • -d, --delay <MILLISECONDS> β€” Wait this long before launch

  • -s, --save-path <PATH> β€” Instead of opening a file picker to save the screenshot, save it to this path instead

  • -D, --dump-default-config β€” Write contents of the default config to /home/e/.config/ferrishot.kdl

  • -C, --config-file <file.kdl> β€” Use the provided config file

    Default value: /home/e/.config/ferrishot.kdl

  • -S, --silent β€” Run in silent mode. Do not print anything

  • -j, --json β€” Print in JSON format

Platform Support

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

Roadmap

Ferrishot is under heavy development! At the moment the goal is to implement all the features that flameshot has, including more than that.

  • Draw shapes on the image
    • Square
    • Circle
    • Arrow
    • Pen
  • Draw text on the image
  • Other effects
    • Blur / pixelate
    • Numbered circles
  • Pin screenshot
  • Color picker
  • In-app tool editing

Installation

Homebrew

brew install nik-rev/tap/ferrishot

PowerShell

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

Shell

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/nik-rev/ferrishot/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

Arch AUR

yay -S ferrishot-bin

Cargo

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

cargo install ferrishot

Contributing

See CONTRIBUTING.md

About

A powerful screenshot app written in Rust πŸ“ΈπŸ¦€

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 87.8%
  • HTML 4.8%
  • Shell 2.2%
  • PowerShell 1.6%
  • TypeScript 1.1%
  • Roff 0.8%
  • Other 1.7%
0