- Easy to use.
- Lightweight.
- Written in Rust.
- Doesn't need a background daemon for best performance (except for GPU OCR, but that's optional).
- In-app screenshot editing.
- OCR.
- Pin.
every test ran on a dual-monitor setup, so each screenshot covered the whole workspace (both screens), which made every run a bit slower. Compare the tools with each other rather than looking at the absolute numbers.
The measurement for each of the three started exactly one frame before the command execution, so the actual time is approximately 0.10 ms lower for each one. It's also important to note that the Spectacle measurement might be unfair. I decided to end the measurement exactly when the application is fully initialized and ready to use, and that's when the toolbar starts appearing, not immediately after the screen dims. This is because Spectacle hasn't loaded the toolbar by that point. The measurement ends at the frame when the toolbar animation starts
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
LumineCapture |
150.5 ± 51.9 | 111.0 | 280.9 | 1.00 |
Spectacle |
576.1 ± 11.7 | 556.5 | 605.4 | 3.83 ± 1.32 |
Flameshot (daemon running) |
737.9 ± 33.4 | 692.5 | 841.0 | 4.90 ± 1.71 |
Script: scripts/bench.sh
LumineCapture supports different launch options, but if you don't really care about them and just want to use it, the three most obvious commands are:
lumine-capture: takes a screenshot of the whole workspace and opens it in the editor. (If the capture goes through the portal you can of course also pick a single monitor by hand in its dialog, but it is better to use KWin or image-copy directly. The backend is chosen automatically; setLUMINE_CAPTURE=kde,image-copyorportalto force one.)lumine-capture -m: takes a screenshot of the monitor under the pointer.lumine-capture -r: no editor and no annotations, just drag a region; the screenshot is taken as soon as you release the mouse button (by default it is both saved and copied).
There is also -t <letters>, which changes what happens to the screenshot depending on your choice, where the letters are:
ssaves it to the screenshots folder,~/Pictures/screenshots/<year-month>/by defaultccopies it to the clipboardppins it to the screen
The letters can be used in any order, even scp; they don't get in each other's way.
In detail:
lumine-capture [MODE] [OPTIONS]
lumine-capture --ocr-daemon [serve|status|stop|calibrate]
Modes (without one, the editor opens):
-f, --full Capture the screen right away, no editor
-w, --window Capture the active window right away (KDE Plasma only)
-r, --region Drag a region, releasing the mouse takes the shot
Options:
-m, --monitor Only the monitor under the pointer
-t, --to <LETTERS> What to do with the shot: c copy, p pin, s save, in any order
and mix, e.g. -t pc. Defaults to general.accept in the config.
In the editor, this is what Enter and a double click do
-o, --output <DIR> Save the shot into this directory instead of the configured
one, creating it if needed; implies s in --to
-s, --speed Print how long each startup step took to stderr
--config <PATH> Use this config file instead of the default location
--print-default-config
Print the default config.toml and exit
-h, --help Print this help and exit
-V, --version Print the version and exit
You can also edit some of the settings (like overriding the default colors) in the configuration file.
Linux path: ~/.config/LumineCapture/config.toml.
These shortcuts are available in the editor. All of them can be changed in the [keys] section of the config file.
| Keys | Description |
|---|---|
| S | Set the Selection as the tool (choose or adjust the capture area) |
| V | Set the Pick as the tool (select, move and resize annotations) |
| O | Set the OCR as the tool (recognize text, select it and copy) |
| G | Set the Eyedropper as the tool (pick a color from the screen) |
| T | Set the Text as the tool |
| P | Set the Pen as the tool |
| D | Set the Line as the tool |
| A | Set the Arrow as the tool |
| R | Set the Rectangle as the tool |
| C | Set the Circle as the tool |
| N | Set the Numbered arrow as the tool |
| ←, ↓, ↑, → | Move the selection |
| Shift + ←, ↓, ↑, → | Move the selection faster |
| Alt + ←, ↓, ↑, → | Resize the selection |
| Alt + Shift + ←, ↓, ↑, → | Resize the selection faster |
| Return | Finish with the default action (general.accept, copy by default) |
| Ctrl + C | Copy to the clipboard and finish |
| Ctrl + S | Save as a file and finish |
| Ctrl + P | Pin to the screen and finish |
| Esc | Quit without taking the screenshot |
| Ctrl + Z | Undo the last modification |
| Ctrl + Shift + Z, Ctrl + Y | Redo the next modification |
| Ctrl + A | Select the whole monitor under the cursor |
| Delete, Backspace | Delete the selected annotation |
| Space | Toggle the visibility of the toolbar and the settings panels |
| M | Toggle the magnifier |
| [, ] | Decrease / increase the size (width or font) of the current tool |
| Double click on the selection | Finish with the default action, same as Return |
| Right Click | Clear the selection |
| Mouse Wheel | Change the tool's size (width or font) |
With the OCR tool active, Return and Ctrl + C copy the selected text, and Ctrl + A selects all recognized text. With the Eyedropper they copy the picked color.
- KDE Plasma: import lumine-capture-shortcuts-kde.kksrc in System Settings -> Keyboard -> Shortcuts -> Import -> Custom Scheme, or bind commands youself. Spectacle holds Meta + Shift + S and Shift + Print by default, so clear them there first if you want.
- COSMIC and others: bind them in your bind settings.
Packages are on the releases page.
Note
Tested only on KDE Plasma and COSMIC. Other Wayland compositors may work but were never tried. GNOME is not supported yet.
Fedora 43+
sudo dnf install https://github.com/Netflate/LumineCapture/releases/download/v0.1.1/lumine-capture-0.1.1-1.x86_64.rpmUbuntu 24.04+ / Debian 13+
wget https://github.com/Netflate/LumineCapture/releases/download/v0.1.1/lumine-capture_0.1.1-1_amd64.deb
sudo apt install ./lumine-capture_0.1.1-1_amd64.debArch Linux
curl -LO https://github.com/Netflate/LumineCapture/releases/download/v0.1.1/lumine-capture-0.1.1-1-x86_64.pkg.tar.zst
sudo pacman -U lumine-capture-0.1.1-1-x86_64.pkg.tar.zstor build it yourself from the PKGBUILD:
git clone https://github.com/Netflate/LumineCapture && cd LumineCapture/packaging/arch && makepkg -siLicensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT license (LICENSE-MIT)
The bundled Inter font is under the SIL Open Font License 1.1 (LICENSE-OFL).
A lot of the reference for this project, including the layout of this README, was taken from Spectacle and Flameshot. Thanks to both projects and everyone who works on them.


