https://github.com/flameshot-org/flameshot/ Skip to content Sign up * Why GitHub? Features - + Mobile - + Actions - + Codespaces - + Packages - + Security - + Code review - + Project management - + Integrations - + GitHub Sponsors - + Customer stories - + Security - * Team * Enterprise * Explore + Explore GitHub - Learn & contribute + Topics - + Collections - + Trending - + Learning Lab - + Open source guides - Connect with others + The ReadME Project - + Events - + Community forum - + GitHub Education - + GitHub Stars program - * Marketplace * Pricing Plans - + Compare plans - + Contact Sales - + Nonprofit - + Education - [ ] [search-key] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this organization All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} flameshot-org / flameshot * Watch 133 * Star 8.2k * Fork 582 Powerful yet simple to use screenshot software [?] flameshot.org GPL-3.0 License 8.2k stars 582 forks Star Watch * Code * Issues 243 * Pull requests 11 * Actions * Projects 1 * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Security * Insights master 16 branches 17 tags Go to file Code Clone HTTPS GitHub CLI [https://github.com/f] Use Git or checkout with SVN using the web URL. [gh repo clone flames] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching Xcode If nothing happens, download Xcode and try again. Go back Launching Visual Studio If nothing happens, download the GitHub extension for Visual Studio and try again. Go back Latest commit @jfly @borgmanJeremy jfly and borgmanJeremy Exclude the `external` directory with a `.clang-format` file. ... 5a9ca6b Feb 12, 2021 Exclude the `external` directory with a `.clang-format` file. (I copied this trick from https://stackoverflow.com/a/57272592/1739415) The GitHub clang-format workflow was already ignoring the `external` directory because of the setting in the `clang-format.yml` file, but that doesn't help other people running `clang-format` by hand (which the CONTRIBUTING.md file instructs developers to do). Without this change, I'd see a bunch of changes appear in the `external/spdlog` every time I ran clang-format by hand. I figure it's better to configure this via files that clang knows about so both the GitHub workflow *and* developers have a closer to identical experience. 5a9ca6b Git stats * 1,146 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github Exclude the `external` directory with a `.clang-format` file. Feb 12, 2021 cmake Raise window to the top on MacOS Dec 1, 2020 data Update Russian translation Jan 20, 2021 docs Merge branch 'flameshot-org-master' into bugfix/ RND-664-flameshot-upd... Oct 16, 2020 external Exclude the `external` directory with a `.clang-format` file. Feb 12, 2021 packaging resolving merge conflicts Jan 8, 2021 scripts/upload_services chore: update wetransfer script from upstream Feb 6, 2021 src Add back missing call to `resize` Feb 11, 2021 .clang-format Changed clang format to new agreement Sep 24, 2020 .clang-tidy squashed noisy new clang tidy warning Jan 4, 2021 .cmake-format.yaml First pass at converting from qmake to cmake. Jul 11, 2020 .gitignore resolving merge conflicts Jan 8, 2021 CMakeLists.txt CMakeLists.txt: Add option to use external spdlog library (#1290) Feb 8, 2021 CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Nov 1, 2020 LICENSE Initial commit May 10, 2017 README.md docs: add MacOS CI build badge & update links Feb 6, 2021 appveyor.yml bumped qt version on appveyor Dec 30, 2020 snapcraft.yaml Added releasing info for v0.8.5 Oct 14, 2020 View code README.md Flameshot Flameshot Powerful yet simple to use screenshot software. GNU/Linux Build Status Windows Build Status MacOS Build Status Latest Stable Release Total Downloads License Docs Get it from the Snap Store Download on Flathub Preview image Index * Features * Usage + CLI configuration + Config file * Keyboard Shortcuts + Local + Global o On KDE Plasma desktop o On Ubuntu * Considerations * Installation + Prebuilt Packages + Packages from Repository * Compilation + Dependencies o Compile-time o Run-time o Optional o Debian o Fedora o Arch + Build + Install * License * Privacy Policy * Code Signing Policy * Contribute * Acknowledgment Features * Customizable appearance. * Easy to use. * In-app screenshot edition. * DBus interface. * Upload to Imgur. Usage Executing the command flameshot without parameters will launch a running instance of the program in background without taking actions. If your desktop environment provides tray area, a tray icon will also appear in the tray for users to perform 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 About window to see all available shortcuts in the graphical capture mode. CLI configuration 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 Config file You can also edit some of the settings (like overriding the default colors) in the configuration file located at ~/.config/flameshot/ flameshot.ini. Keyboard shortcuts Local These shortcuts are available in GUI mode: Keys Description P Set the Pencil as paint tool D Set the Line as paint tool A Set the Arrow as paint tool S Set Selection as paint tool R Set the Rectangle as paint tool C Set the Circle as paint tool M Set the Marker as paint tool T Add text to your capture B Set Pixalate as the paint tool -, |, |, - Move selection 1px Shift + -, Resize selection 1px |, |, - Esc Quit capture Ctrl + M Move the selection area Ctrl + C Copy to clipboard Ctrl + S Save selection as a file Ctrl + Z Undo the last modification Ctrl + Redo the next modification Shift + Z Ctrl + Q Leave the capture screen Ctrl + O Choose an app to open the capture Return Upload the selection to Imgur Spacebar Toggle visibility of sidebar with options of the selected tool, color picker for the drawing color and history menu Right Show the color wheel Click Mouse Change the tool's thickness Wheel Print Capture Screen screen Shift + Screenshot History Print Shift + drag a handler of the selection area: mirror redimension in the opposite handler. Global 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. On KDE Plasma desktop 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 + Take a full-screen (all monitors) screenshot and copy Prt Sc it to the clipboard If you don't like the defaults, you can change them manually later. Steps for using the configuration: 1. 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.) 2. Download the configuration file: cd ~/Desktop wget https://raw.githubusercontent.com/flameshot-org/flameshot/master/docs/shortcuts-config/flameshot-shortcuts-kde 3. Go to System Settings - Shortcuts - Custom Shortcuts. 4. 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. 5. Click Edit - Import..., navigate to the Desktop folder (or wherever you saved the configuration file) and open the configuration file. 6. Now the Flameshot entry should appear in the list. Click Apply to apply the changes. 7. 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. On Ubuntu (Tested on 18.04) Taken from adaptation of Pavel Answer on askubuntu. To use flameshot instead of default screenshot application in ubuntu we need to release the binding on Prt Sc key, and then create a new binding for /usr/bin/flameshot gui. 1. Release the binding on Prt Sc using the following command. gsettings set org.gnome.settings-daemon.plugins.media-keys screenshot '[]' 2. Go to Settings > Device > Keyboard and press the '+' button at the bottom. 3. Name the command as you like it, e.g. flameshot. And in the command insert /usr/bin/flameshot gui. 4. Then click "Set Shortcut.." and press Prt Sc. This will show as " print". Now everytime You press Prt Sc it will start the flameshot gui instead of the default application Considerations * 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. * 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. * Flameshot works best with a desktop environment that includes dbus. See this article for tips on using Flameshot in a minimal window manager (dwm, i3, xmonad, etc) * 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. + Quick tip: If you don't have Flameshot to autostart at boot and you want to set keyboard shortcut, use the following as the command for the keybinding: ( flameshot &; ) && ( sleep 0.5s && flameshot gui ) Installation Flameshot can be installed on Linux and Microsoft Windows currently. There are no macOS port of flameshot now that can be easy installed. But you can build flameshot by yourself and use it. Please participate in the development of flameshot and help us make a macOS version. Prebuilt packages Some prebuilt packages are provided on the release page of the GitHub project repository. Click here to visit the release page.. Packages from Repository There are packages available in the repository of some Linux distributions: * 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) * Solus: eopkg it flameshot * Fedora: dnf install flameshot * Snap/Flatpak/AppImage * Docker Expand this section to see what distros are using an up to date version of flameshot Packaging status Tray icon Note that for the Flameshot icon to appear in your tray area, you should have a systray software installed. This is especially true for users who use minimal window managers such as dwm. In some Desktop Environment installations (e.g Gnome), the systray might be missing and you can install an application or plugin (e.g Gnome shell extension) to add the systray to your setup. It has been reported) that icon of some softwares, including Flameshot, does not show in gnome-shell-extension-appindicator. Alternatively, in case you don't want to have a systray, you can always call Flameshot from the terminal. See Usage section. Compilation 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. Dependencies Compile-time * Qt >= 5.9 + Development tools * GCC >= 7.4 * CMake >= 3.13 Run-time * Qt + SVG Optional * Git * OpenSSL * CA Certificates Debian # Compile-time apt install g++ cmake build-essential qt5-default qttools5-dev-tools libqt5svg5-dev qttools5-dev # Run-time apt install libqt5dbus5 libqt5network5 libqt5core5a libqt5widgets5 libqt5gui5 libqt5svg5 # Optional apt install git openssl ca-certificates Fedora # 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 Arch # Compile-time pacman -S cmake base-devel git qt5-base qt5-tools # Run-time pacman -S qt5-svg # Optional pacman -S openssl ca-certificates MacOS First of all you need to install brew and than install dependencies brew install qt5 brew install cmake Build After installing all the dependencies, finally run the following commands in the sources root directory: mkdir build cd build cmake ../ make NOTE: for macOS you should replace command cmake ../ to cmake ../ -DQt5_DIR=$(brew --prefix qt5)/lib/cmake/Qt5 When make command completed you can launch flameshot from project_folder/build/src folder Install Simply use make install with privileges. Note: If you install from source, there is no uninstaller, you will need to manually remove the files. Consider using CMAKE_INSTALL_PREFIX to install to a custom location for easy removal. License * 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. Privacy Policy This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it. Code Signing Policy Free code signing provided by SignPath.io, certificate by SignPath Foundation. Code signing is currently a manual process so not every patch release will be signed. Contribute If you want to contribute check the CONTRIBUTING.md Acknowledgment Thanks to those who have shown interest in the early development process: * lupoDharkael * Cosmo * XerTheSquirrel * The members of Sugus GNU/Linux * ismatori Thanks to sponsors: * JetBrains * SignPath About Powerful yet simple to use screenshot software [?] flameshot.org Topics screenshot gui qt cross-platform gnu-linux image-editing free-software capture hacktoberfest Resources Readme License GPL-3.0 License Releases 17 0.8.5 Latest Oct 15, 2020 + 16 releases Packages 0 No packages published Contributors 103 * @lupoDharkael * @borgmanJeremy * @thepurple * @hosiet * @ZetaoYang * @AlfredoRamos * @AlexP11223 * @juanma1980 * @RieLCho * @mmahmoudian * @greno4ka + 92 contributors Languages * C++ 91.0% * CMake 5.9% * Python 2.2% * Shell 0.7% * C 0.1% * Makefile 0.1% * (c) 2021 GitHub, Inc. * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.