Yet another image viewer.
CI | Build Status |
---|---|
Windows Build | |
macOS Build | |
Ubuntu Build |
Pineapple Pictures is a lightweight image viewer that allows you view JPEG, PNG, GIF, SVG, PSD, KRA, XCF, TGA, AVIF and some other frequently used image formats files quickly and easily, and also provide a Stay-on-Top window setting that allows you pin the window so you can use it to pin a reference image at the top and then you can work with other software.
- GitHub Release Page
- SourceForge
- Archlinux AUR: pineapple-pictures | pineapple-pictures-git
- Debian (since bullseye) or Ubuntu (since 21.04):
sudo apt install pineapple-pictures
- Itch.io Store
Translate this project on Weblate!
Current state, we need:
cmake
: as the build system.qt5
withqt5-svg
andqt5-tools
: since the app is using Qt.libexiv2
: able to display more image metadata. (optional, but recommended)
Then we can build it with any proper c++ compiler like g++ or msvc.
Building it just requires normal cmake building steps:
$ mkdir build && cd build
$ cmake ..
$ cmake --build . # or simply using `make` if you are using Makefile as the cmake generator.
After that, a ppic
executable file will be available to use. You can also optionally install it by using the target install
(or simply make install
in case you are using Makefile). After the build process, you can also use cpack
to make a package.
The project will try to build with exiv2
when it's available at build time, if you would like to build the project without exiv2
, pass -DEXIV2_METADATA_SUPPORT=OFF
to cmake
. The project will also not use exiv2
if it's not found, the EXIV2_METADATA_SUPPORT
option can be useful if you have exiv2
but specifically don't want to use it.
Image formats supports rely on Qt's imageformats plugins, just get the plugins you need from your distro's package manager will be fine. For Windows user, you may need build and install the imageformats plugin manually, read the content below.
Note Although there is a
pineapple-pictures.pro
file which can be used for QMake build, it's only for testing purpose and it doesn't haveexiv2
support included. Using QMake to build this project is NOT supported, please use CMake if possible.
Just normal build process as other program will be fine. Nothing special ;)
For Archlinux there are also a PKGBUILD you can use.
For packaging to debian-based distro, the CMakeLists.txt
provides some cpack configurations for generating a .deb
package. After the build process, use cpack -G DEB
to generate the package. You can also take .github/workflows/ubuntu.yml
as a reference.
For this project, DEB
is the only supported cpack generator in current state, feel free to submit a PR if you like improving cpack
support for this project.
The normal build steps for Linux is also applied to Windows, but since Windows doesn't have a decent package manager, so if you need any other image formats support other than the supported formats which Qt provided, you need to get and build these imageformats plugins manually and vendor it. It's optional and can be skipped if you don't need extra image formats support.
For the Windows binary I provided, kimageformats plugin is used (for formats like kra, xcf, psd and etc.). You can take appveyor.yml
as a reference to learn what I did when building the Windows binary.
KDE Craft environment also can be used to build and package this program. I did also created a blueprint for building this project that you can found it at here. It's not the way I used to create the release binary, but still worth trying.
I don't have a mac, so no support at all. There is also a GitHub Action (see .github/workflows/macos.yml
) running macOS build though so at least it can build. Feel free to submit a PR if you would like to give some love to the macOS build ;P
Pineapple Pictures as a whole is licensed under MIT license. Individual files may have a different, but compatible license.