All Projects → easymodo → Qimgv

easymodo / Qimgv

Licence: gpl-3.0
Qt5 image viewer with optional video support

Projects that are alternatives of or similar to Qimgv

Qview
Practical and minimal image viewer
Stars: ✭ 460 (-35.57%)
Mutual labels:  cross-platform, qt5, image-viewer
vimiv-qt
An image viewer with vim-like keybindings
Stars: ✭ 130 (-81.79%)
Mutual labels:  qt5, image-viewer
Webm.py
🎞 Cross-platform command-line WebM converter
Stars: ✭ 93 (-86.97%)
Mutual labels:  webm, cross-platform
Boram
🎞 Cross-platform graphical WebM converter
Stars: ✭ 312 (-56.3%)
Mutual labels:  webm, cross-platform
Gtest Runner
A cross-platform, Qt5 based Graphical User Interface for Google Test unit tests
Stars: ✭ 207 (-71.01%)
Mutual labels:  cross-platform, qt5
Nitrokey App
Nitrokey's Application (Win, Linux, Mac)
Stars: ✭ 210 (-70.59%)
Mutual labels:  cross-platform, qt5
Project lemonlime
为了 OI 比赛而生的基于 Lemon + LemonPlus 的轻量评测系统 | 三大桌面系统支持
Stars: ✭ 255 (-64.29%)
Mutual labels:  cross-platform, qt5
Notepanda
📃 A simple cross-platform notepad. Based on Qt and C++.
Stars: ✭ 134 (-81.23%)
Mutual labels:  cross-platform, qt5
Qt.go
Qt binding for Go (Golang) aims get Go's compile speed again.
Stars: ✭ 487 (-31.79%)
Mutual labels:  cross-platform, qt5
Ahoviewer
A GTK image viewer, manga reader, and booru browser
Stars: ✭ 345 (-51.68%)
Mutual labels:  webm, image-viewer
Swift
Swift XMPP client and Swiften XMPP library
Stars: ✭ 190 (-73.39%)
Mutual labels:  cross-platform, qt5
Cpeditor
The IDE for competitive programming 🎉 | Fetch, Code, Compile, Run, Check, Submit 🚀
Stars: ✭ 562 (-21.29%)
Mutual labels:  cross-platform, qt5
Fishengine
Simple, Unity-like Game Engine.
Stars: ✭ 191 (-73.25%)
Mutual labels:  cross-platform, qt5
Textosaurus
Cross-platform text editor based on Qt and Scintilla.
Stars: ✭ 224 (-68.63%)
Mutual labels:  cross-platform, qt5
Dspdfviewer
Dual-Screen PDF Viewer for latex-beamer
Stars: ✭ 184 (-74.23%)
Mutual labels:  cross-platform, qt5
saccade
A sophisticated scientific image viewer for Linux with OpenGL support and synchronized viewports
Stars: ✭ 38 (-94.68%)
Mutual labels:  qt5, image-viewer
Ugene
UGENE is free open-source cross-platform bioinformatics software
Stars: ✭ 112 (-84.31%)
Mutual labels:  cross-platform, qt5
Strategrdesktop
No-Fuss Time Management App
Stars: ✭ 130 (-81.79%)
Mutual labels:  cross-platform, qt5
Lan Share
Cross platform LAN File transfer application built with Qt C++ framework
Stars: ✭ 317 (-55.6%)
Mutual labels:  cross-platform, qt5
Screencloud
Screenshot sharing application for Windows, Mac and Linux.
Stars: ✭ 537 (-24.79%)
Mutual labels:  cross-platform, qt5

qimgv | Current version: 0.9.1

Qt5 image viewer. Fast, configurable, easy to use. Optional video support.

Screenshots

Main window & panel Folder view Settings window
img1 img2 img3

qimgv v0.6 video overview

Key features:

  • Simple UI

  • Fast

  • Easy to use

  • Fully configurable, including shortcuts

  • High quality scaling

  • Basic image editing: Crop, Rotate and Resize

  • Ability to quickly copy / move images to different folders

  • Experimental video playback via libmpv

  • Ability to run shell scripts

  • A nice dark theme, should look identical on every OS / DE

Default control scheme:

Action Shortcut
Next image Right arrow / MouseWheel
Previous image Left arrow / MouseWheel
Goto first image Home
Goto last image End
Zoom in Ctrl+MouseWheel / Crtl+Up
Zoom out Ctrl+MouseWheel / Crtl+Down
Zoom Hold right mouse btn & move up / down
Fit mode: window 1
Fit mode: width 2
Fit mode: 1:1 (no scaling) 3
Switch fit modes Space
Toggle fullscreen mode DoubleClick / F / F11
Exit fullscreen mode Esc
Show image info I
Crop image X
Resize image R
Rotate left Ctrl+L
Rotate Right Ctrl+R
Open containing directory Ctrl+D
Slideshow mode ~
Shuffle mode S
Quick copy C
Quick move M
Move to trash Delete
Delete file Shift+Delete
Save Ctrl+S
Save As Ctrl+Shift+S
Open Ctrl+O
Settings Ctrl+P
Exit application Esc / Ctrl+Q / Alt+X / MiddleClick

... and more.

Note: you can configure every shortcut by going to Settings > Controls

User interface

The idea is to have a uncluttered, simple and easy to use UI. You can see UI elements only when you need them.

There is a pull-down panel with thumbnails, as well as folder view (accessible by pressing Return).

You can also bring up a context menu by right-clicking an image.

Using quick copy / quick move panels

Bring up the panel with C or M shortcut. You will see 9 destination directories, click them to set them up.

With panel visible, use 1 - 9 keys to copy/move current image to corresponding directory.

When you are done press C or M again to hide the panel.

Running scripts

You can run custom scripts on a current image.

Open Settings > Scripts. Press Add. Here you can choose between a shell command and a shell script.

Example of a command:

convert %file% %file%_.pdf

Example of a shell script file ($1 will be image path):

#!/bin/bash
gimp "$1"

Note: The script file must be an executable. Also, "shebang" (#!/bin/bash) needs to be present.

When you've created your script go to Settings > Controls > Add, then select it and assign a shortcut like for any regular action.

HiDPI

If qimgv appears too small / too big on your display, you can override the scale factor. Example:

QT_SCALE_FACTOR="1.5" qimgv /path/to/image.png

You can put it in qimgv.desktop file to make it permanent. Using values less than 1.0 may break some things.

qimgv should also obey the global scale factor set in KDE's systemsettings.

High quality scaling

qimgv supports nicer scaling filters when compiled with opencv support (ON by default, might vary depending on your distribution). Filter options are available in Settings > Scaling. Bicubic or bilinear+sharpen is recommended.

APNG support

APNG is supported via third-party qt plugin. (Included in windows qimgv package)

If you are linux user, install the latest QtApng by Skycoder42.

HEIF / HEIC support

Apple's heif format is supported via third-party qt plugin. Included in windows qimgv package.

See github.com/jakar/qt-heif-image-plugin

JPEG-XL (JXL) support:

qimgv can open jxl files via third-party qt plugin.

See github.com/novomesk/qt-jpegxl-image-plugin

AVIF support

qimgv can open avif files via third-party qt plugin.

See github.com/novomesk/qt-avif-image-plugin

RAW support

Viewing raw is supported via qtraw plugin. (Included in windows qimgv package)

Installation instructions

GNU+Linux

Arch Linux / Manjaro / etc.:

AUR package:

qimgv-git

Ubuntu / Linux Mint / Pop!_OS / etc.

sudo add-apt-repository ppa:easymodo/qimgv
sudo apt-get update
sudo apt install qimgv

Alternative package with kde support:

sudo apt install qimgv-kde

Gentoo:

emerge qimgv

OpenSUSE:

zypper install qimgv

Void linux:

xbps-install -S qimgv

Alpine Linux:

apk add qimgv

Fedora:

sudo dnf install qimgv

If your favorite distro is not included refer to [Manual install] section at the end of this document.

Windows builds

Grab the latest release here.

Windows builds are portable (everything is contained within install folder).

Installer additionally sets up file associations.

Manual install

Note: in order to compile you will need gcc 8 or later!

Install dependencies ( gcc >= 9.0, git, cmake >= 3.13, qt >= 5.9, exiv2, mpv, opencv (core and imgproc )

Ubuntu & derivatives:

sudo apt install build-essential git cmake qt5-default libmpv-dev gcc-8 g++-8

Optional: libkf5windowsystem-dev

Fedora:

Enable RPMFusion https://rpmfusion.org/Configuration.

It is needed for video playback (mpv), but you also can build without it. See CMake build options at the end.

sudo dnf install git cmake make qt5 qt5-devel gcc-c++ mpv mpv-libs-devel exiv2-devel opencv opencv-devel

Optional: kf5-kwindowsystem

Configure & install

Get sources

git clone https://github.com/easymodo/qimgv.git
cd qimgv && mkdir -p build && cd build

Configure

cmake ../ -DCMAKE_INSTALL_PREFIX=/usr/ -DCMAKE_INSTALL_LIBDIR=lib

Build

make -j`nproc --ignore=1`

Install

sudo make install

Possible build issues

  • If you get errors like "/usr/lib64 exists in filesystem" during install:

add -DCMAKE_INSTALL_LIBDIR:PATH=/usr/lib to cmake command.

  • If you get some errors like "std::filesystem not found":

qimgv needs a compiler with c++17 support - for example gcc 8.0+ (every recent distro has it)

If you have multiple version of gcc installed you might need to specify a which version for cmake to use, for example

CC=gcc-8 CXX=g++-8 cmake [........]

CMake build options

Option Default value Description
VIDEO_SUPPORT ON Enables video playback via mpv
EXIV2 ON Support reading exif tags via exiv2
OPENCV_SUPPORT ON Enables high quality scaling options
KDE_SUPPORT OFF Use some features from KDE, like background blur

Usage example:

cmake ../ -DKDE_SUPPORT=ON  -DCMAKE_INSTALL_PREFIX=/usr/
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].