ferrishot.mp4
Run by typing 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 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 clipboardCtrl s
saves screenshot to a file. You can choose any valid extension like.png
,.webp
,.jpg
Ctrl u
uploads the screenshot to the internet
You get a link and a QR Code, so you can easily send it to another device!
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.
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:
You can see all of the keybindings declared in the default config file default.kdl
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.
You can use ferrishot
in scripts, too
A cross-platform desktop screenshot app
Usage: ferrishot [OPTIONS]
-
-r
,--region <WxH+X+Y>
β Open with a region pre-selectedFormat:
<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 madeIf holding
ctrl
while you are releasing the left mouse button on the first selection, the behavior is cancelledIt'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 clipboardsave
: Save image to a fileupload
: 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 fileDefault value:
/home/e/.config/ferrishot.kdl
-
-S
,--silent
β Run in silent mode. Do not print anything -
-j
,--json
β Print in JSON format
- Windows
- MacOS
- Linux (X11)
- Linux (Wayland)
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
brew install nik-rev/tap/ferrishot
powershell -ExecutionPolicy Bypass -c "irm https://github.com/nik-rev/ferrishot/releases/latest/download/ferrishot-installer.ps1 | iex"
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/nik-rev/ferrishot/releases/latest/download/ferrishot-installer.sh | sh
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
yay -S ferrishot-bin
If you use Linux, see CONTRIBUTING.md
for details on which dependencies you will need.
cargo install ferrishot
See CONTRIBUTING.md