• Stars
    star
    325
  • Rank 129,350 (Top 3 %)
  • Language
    C++
  • License
    MIT License
  • Created about 5 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A homebrew lightweight image viewer.

Yet another image viewer.

CI Build Status
Windows Build Windows build status
macOS Build macOS CI
Ubuntu Build Ubuntu 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.

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 have exiv2 support included. Using QMake to build this project is NOT supported, please use CMake if possible.

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.

More Repositories

1

Private-Cloud-Music

Private Cloud Music - a really simple and easy-to-use online music player.
CSS
42
star
2

pineapple-calendar

Calendar plasmoid for KDE which supports display Chinese Lunar Calendar as an alternate calendar.
QML
38
star
3

BLumiaOJ

A HUSTOJ compatible Online Judge system.
PHP
38
star
4

pineapple-lock-screen

Turn the screen off without using the physical power button.
Kotlin
25
star
5

udptun

Simple UDP tunnel
C++
20
star
6

PineappleSynth

A too simple vsti synth made with wdl-ol
C++
17
star
7

pineapple-chapter-tool

Tool for adding chapter markers to audio files.
C++
6
star
8

dde-dock-pineappledatetime

dde-dock datetime plugin (modified version for personal usage)
C++
6
star
9

deepin-terminal-ng

DTK + QTermWidget terminal application.
C++
6
star
10

ShadowPlayer-BLumia

Shadow Player - BLumia's fork
C++
5
star
11

blumia.github.io

My Personal Homepage
CSS
4
star
12

qtc-tabbededitor-plugin

Tabbed Editor Plugin for QtCreator
C++
3
star
13

qtc-terminal-plugin

Terminal Plugin for QtCreator
C++
3
star
14

deepin-docker

For now, please use https://github.com/deepin-community/deepin-docker instead
Shell
3
star
15

SRun3KClient

A SRun3K Client created by oing9179
Java
2
star
16

RumidiaPlayer

A midi player using bassmidi library and Qt5
C
2
star
17

PCM-Droid

Client side implement of Private Cloud Music for Android devices.
Kotlin
2
star
18

Mutter

Mutter is a lightweigth scaffold for blogging and creating web pages.
PHP
1
star
19

TypechoTheme

Some Typecho Themes i made
PHP
1
star
20

LajiPan-Server

A simple distributed file storage cloud for learning purpose - Server source
C++
1
star
21

LightPicViewer

a lightweight picture viewer
C++
1
star
22

RSS-Crawler

Simple RSS Converter / Generator
PHP
1
star
23

thtk

Automatically exported from code.google.com/p/thtk
C
1
star
24

jekyll-theme-mutter

A Jekyll theme.
SCSS
1
star
25

BLumiaTimidityShell

Simple timidity shell program for midi playback and batch midi->wav convert with timidity.
Pascal
1
star
26

QXdg

WIP
C++
1
star
27

BLumiaGist

A repo to contain my mini code stuff.
C++
1
star
28

pineapple-metronome

Minimalism metronome application for mobile
C++
1
star
29

gerrit-user-summary

Get a summary list group by day via gerrit API
Python
1
star
30

pineapple-music

A homebrew music player.
C++
1
star
31

pineapple-icon-picker

bridge between SVG iconfont & design software.
C++
1
star
32

file-roller-patches

Patches for GNOME file-roller
1
star
33

blip-buffer

Fork of http://www.slack.net/~ant/libs/audio.html#Blip_Buffer
C++
1
star
34

kdeconnect-dbus

KDE Connect DBus Interface Qt Wrapper and GUI application.
C++
1
star
35

mousePointerHelper

a mini-application to help user adjust cursor position
C++
1
star