Features and tools
- Taking and cropping screenshots
- Support for both Wayland and X11
- Ruler with axis alignment support (Shift)
- Pipette
What's the difference compared to other screenshot applications?
Most of the popular alternatives use a huge, bloated frameworks like Qt or GTK. Meanwhile, pengui uses raw OpenGL and ImGui and requires only half of the memory that KDE's Spectacle needs.
It's a known bug that pengui can be CPU-consuming, it will be fixed in the upcoming release. Also, pengui uses GTK as a library, but only to be able to take screenshots with
libportal, not to display any content.
Installing
Automatic Installation
Paste this command into your terminal:
wget -O - https://pengui.kanashimo.net/install.sh | sh
Alternatively, if you don't trust the first source or it just doesn't work, you can download the script directly form the repository:
wget -O - https://raw.githubusercontent.com/kanashimo/pengui/refs/heads/main/install.sh | sh
After installation, you can assign a system shortcut to pengui for launching it with something like Meta+Shift+S or PrntScr in your system settings.
Manual Installation
- Download the latest Flatpak bundle from releases page.
- Add the Flathub repository to your user.
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
- Install pengui.
flatpak install --user pengui.flatpak
If you don't have GNOME runtime installed and for some reason it wasn't installed automatically, run this command:
flatpak install --user flathub org.gnome.Platform//51
Same as in automatic installation, you can now assign system shortcut to pengui for launching it with for something like Meta+Shift+S or PrntScr in your system's settings.
How to uninstall?
To uninstall pengui, use flatpak uninstall with --user flag.
flatpak uninstall --user net.kanashimo.pengui
Configuration
Pengui uses .toml files for its configuration, here you can get a quick tour of the language if you don't know it yet.
Where is the config being stored?
The answer is as always, it depends. If you are running this application in the "official" way (so through Flatpak), you will be albe to find the config in $HOME/.var/app/net.kanashimo.pengui/config/pengui. Otherwise, if you are running it natively, your config will be in $HOME/.config/pengui.
Available properties
[crop.border]
| Property | Type | Default value |
|---|---|---|
color |
[R, G, B] |
[90, 200, 255] |
width |
number |
2 |
[crop.glow] (experimental, disabled by default)
| Property | Type | Default value |
|---|---|---|
color |
[R, G, B] |
[90, 200, 255] |
enabled |
boolean |
false |
[ruler.border]
| Property | Type | Default value |
|---|---|---|
color |
[R, G, B] |
[90, 200, 255] |
width |
number |
5 |
[screenshot]
| Property | Type | Default value |
|---|---|---|
save_location |
string (path) |
$XDG_PICTURES_DIR/PenguiScreenshots |
Full example of working config file
[crop.border]
color = [ 90, 200, 255 ]
width = 2.0
[crop.glow]
color = [ 90, 200, 255 ]
enabled = false
[ruler.border]
color = [ 90, 200, 255 ]
width = 5.0
[screenshot]
save_location = '/home/example/Pictures/PenguiScreenshots'
Building from source
Requirements
- meson
- ninja
- flatpak (optional)
- flatpak-builder (optional)
Building pengui
meson setup build
meson compile -C build
After building you can run meson install -C build to install the binary, although it isn't recommended because pengui is intended to be a Flatpak application, so this option has been never tested. Use at your own risk.
Building pengui as a Flatpak application
meson subprojects download
flatpak-builder --user --install --force-clean build-dir flatpak/net.kanashimo.pengui.yml
Contributing
All contributions are welcome! If you have come up with an idea to add a new feature and want to implement it (or just request it), create an issue. If you found any bug, I'd really appreciate it if you could report it.
Acknowledgements
Special thanks to GraphLink for making our logo.
License
Pengui is released under the GPL-3.0 license.
The logo is under the CC BY-SA 4.0 license.