Giter VIP home page Giter VIP logo

pineapple-pictures's Introduction

Yet another image viewer.

CI Build Status
Windows Build Windows build status
macOS Build macOS CI
Ubuntu 20.04 Build Ubuntu 20.04 CI

Pineapple Pictures - Main Window

Summary

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.

Get it!

Help Translation!

Translate this project on Weblate!

Build it manually:

Current state, we need:

  • cmake: as the build system.
  • qt5 with qt5-svg and qt5-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.

Linux

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.

Windows

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.

macOS

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

License

Pineapple Pictures as a whole is licensed under MIT license. Individual files may have a different, but compatible license.

pineapple-pictures's People

Contributors

blumia avatar felixonmars avatar fhiutc avatar lovelyblack avatar weblate avatar xmuli avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.