- Features
- Usage
- Keyboard Shortcuts
- Considerations
- Installation
- Compilation
- Packaging
- License
- Contribute
- Donations
- Acknowledgment
- Customizable appearance.
- Easy to use.
- In-app screenshot edition.
- DBus interface.
- Upload to Imgur.
Execute the command flameshot
without parameters to launch a running instance of the program without taking actions.
Also adds a tray icon for configuration and management.
Example commands:
-
Capture with GUI:
flameshot gui
-
Capture with GUI with custom save path:
flameshot gui -p ~/myStuff/captures
-
Capture with GUI after 2 seconds delay (can be useful to take screenshots of mouse hover tooltips, etc.):
flameshot gui -d 2000
-
Fullscreen capture with custom save path (no GUI) and delayed:
flameshot full -p ~/myStuff/captures -d 5000
-
Fullscreen capture with custom save path copying to clipboard:
flameshot full -c -p ~/myStuff/captures
-
Capture the screen containing the mouse and print the image (bytes) in PNG format:
flameshot screen -r
-
Capture the screen number 1 and copy it to the clipboard:
flameshot screen -n 1 -c
In case of doubt choose the first or the second command as shortcut in your favorite desktop environment.
A systray icon will be in your system's panel while Flameshot is running. Do a right click on the tray icon and you'll see some menu items to open the configuration window and the information window. Check out the information window to see all the available shortcuts in the graphical capture mode.
You can use the graphical menu to configure Flameshot, but alternatively you can use your terminal or scripts to do so.
-
Open the configuration menu:
flameshot config
-
Show the initial help message in the capture mode:
flameshot config --showhelp true
-
For more information about the available options use the help flag:
flameshot config -h
These shortcuts are available in GUI mode:
Keys | Description |
---|---|
←, ↓, ↑, → | Move selection 1px |
Shift + ←, ↓, ↑, → | Resize selection 1px |
Esc | Quit capture |
Ctrl + C | Copy to clipboard |
Ctrl + S | Save selection as a file |
Ctrl + Z | Undo the last modification |
Spacebar | Toggle visibility of sidebar with options of the selected tool, color picker for the drawing color and history menu |
Right Click | Show the color wheel |
Mouse Wheel | Change the tool's thickness |
Shift + drag a handler of the selection area: mirror redimension in the opposite handler.
If you want use Flameshot as a default screenshot utility, chances are you want to launch it using the Prt Sc key. Flameshot doesn't yet offer a fully-automated option to do so, but you can configure your system to do so.
To make configuration easier, there's a file in the repository that more or less automates this process. This file will assign the following keys to the following actions by default:
Keys | Description |
---|---|
Prt Sc | Start the Flameshot screenshot tool and take a screenshot |
Ctrl + Prt Sc | Wait for 3 seconds, then start the Flameshot screenshot tool and take a screenshot |
Shift + Prt Sc | Take a full-screen (all monitors) screenshot and save it |
Ctrl + Shift + Prt Sc | Take a full-screen (all monitors) screenshot and copy it to the clipboard |
If you don't like the defaults, you can change them manually later.
Steps for using the configuration:
-
The configuration file configures shortcuts so that Flameshot automatically saves (without opening the save dialog) screenshots to
~/Pictures/Screenshots
folder. Make sure you have that folder by running the following command:mkdir -p ~/Pictures/Screenshots
(If you don't like the default location, you can skip this step and configure your preferred directory later.)
-
Download the configuration file:
cd ~/Desktop wget https://raw.githubusercontent.com/flameshot-org/flameshot/master/docs/shortcuts-config/flameshot-shortcuts-kde
-
Go to System Settings → Shortcuts → Custom Shortcuts.
-
If there's one, you'll need to disable an entry for Spectacle, the default KDE screenshot utility first because its shortcuts might collide with Flameshot's ones; so, just uncheck the Spectacle entry.
-
Click Edit → Import..., navigate to the Desktop folder (or wherever you saved the configuration file) and open the configuration file.
-
Now the Flameshot entry should appear in the list. Click Apply to apply the changes.
-
If you want to change the defaults, you can expand the entry, select the appropriate action and modify it as you wish; the process is pretty mush self-explanatory.
-
Experimental Gnome Wayland and Plasma Wayland support.
-
If you are using Gnome you need to install the Gnome Shell Extension Appindicator extension in order to see the systemtray icon.
-
In order to speed up the first launch of Flameshot (DBus init of the app can be slow), consider starting the application automatically on boot.
-
Press Enter or Ctrl + C when you are in a capture mode and you don't have an active selection and the whole desktop will be copied to your clipboard! Pressing Ctrl + S will save your capture in a file! Check the Shortcuts for more information.
There are packages available for a few distros:
- Arch:
pacman -S flameshot
- Snapshot also available via AUR: flameshot-git.
- Debian 10+:
apt install flameshot
- Package for Debian 9 ("Stretch") also available via stretch-backports.
- Ubuntu 18.04+:
apt install flameshot
- openSUSE
- Void Linux (
xbps-install flameshot
) - Docker
- Fedora:
dnf install flameshot
- Snap/Flatpak/AppImage
- Besides, generic packages available via opensuse software repository
To build the application in your system, you'll need to install the dependencies needed for it and package names might be different for each distribution, see Dependencies below for more information. You can also install most of the Qt dependencies via their installer. If you were developing Qt apps before, you probably already have them.
This project uses CMake build system, so you need to install it in order to build the project (on most Linux distributions it is available in the standard repositories as a package called cmake
). If your distribution provides too old version of CMake (e.g. Ubuntu 18.04) you can download it on the official website.
Also you can open and build/debug the project in a C++ IDE. For example, in Qt Creator you should be able to simply open CMakeLists.txt
via Open File or Project
in the menu after installing CMake into your system. More information about CMake projects in Qt Creator.
- Qt >= 5.9
- Development tools
- GCC >= 7.4
- CMake >= 3.13
- Qt
- SVG
- Git
- OpenSSL
- CA Certificates
# Compile-time
apt install g++ cmake build-essential qt5-default qttools5-dev-tools
# Run-time
apt install libqt5dbus5 libqt5network5 libqt5core5a libqt5widgets5 libqt5gui5 libqt5svg5-dev
# Optional
apt install git openssl ca-certificates
# Compile-time
dnf install gcc-c++ cmake qt5-devel qt5-qtbase-devel qt5-linguist
# Run-time
dnf install qt5-qtbase qt5-qtsvg-devel
# Optional
dnf install git openssl ca-certificates
# Compile-time
pacman -S cmake base-devel git qt5-base qt5-tools
# Run-time
pacman -S qt5-svg
# Optional
pacman -S openssl ca-certificates
After installing all the dependencies, finally run the following commands in the sources root directory:
mkdir build
cd build
cmake ../
make
Simply use make install
with privileges.
- The main code is licensed under GPLv3
- The logo of Flameshot is licensed under Free Art License v1.3
- The button icons are licensed under Apache License 2.0. See: https://github.com/google/material-design-icons
- The code at capture/capturewidget.cpp is based on https://github.com/ckaiser/Lightscreen/blob/master/dialogs/areadialog.cpp (GPLv2)
- The code at capture/capturewidget.h is based on https://github.com/ckaiser/Lightscreen/blob/master/dialogs/areadialog.h (GPLv2)
- I copied a few lines of code from KSnapshot regiongrabber.cpp revision
796531
(LGPL) - Qt-Color-Widgets taken and modified from https://github.com/mbasaglia/Qt-Color-Widgets (see their license and exceptions in the project) (LGPL/GPL)
Info: If I take code from your project and that implies a relicense to GPLv3, you can reuse my changes with the original previous license of your project applied.
If you want to contribute check the CONTRIBUTING.md
Thanks to those who have shown interest in the early development process: