Home

Awesome

<h1 align="center"> <img alt="banner" src="res/banner.avif"> </h1>

A no-nonsense hardware-accelerated image viewer

<img src="res/download.svg" height="50">

Oculante's vision is to be a fast, unobtrusive, portable image viewer with a wide range of supported image formats while also offering image analysis and basic editing tools.

OSX NetBSD Ubuntu Check Windows ARM

GitHub all releases Crates.io Screenshot

Flipbook

With configurable caching, Oculante can quickly step through image sequences:

Screenshot

Inspection

Get information about pixel values and position, with precise picking:

Screenshot

File Management

You can use the File Manager built into Oculante to do basic tasks such as accessing recent images or stepping through a virtual list of files so you can compare easily. There is also a dedicated compare option to flip between images, remembering zoom level and position.

Screenshot

Correct color channel display:

Images may contain color information that is masked by the alpha channel. Although it is present you will not see it since usually RGB values are multiplied with the A channel when displayed. Oculante allows you to inspect all channels individually and see color data without transparency applied.

Screenshot

Installation

Get started with Oculante by downloading the executable relevant to your platform from the releases page. The download size is kept small (currently around 25MB) by linking dependencies statically by default. Packages for ARM Linux are also built, please feel free to open an issue if you want your operating system of choice supported!

For those looking to manage Oculante through a package manager, please see the options below.

Cargo

cargo install oculante

Linux

pacman -S oculante
environment.systemPackages = [
    pkgs.oculante
];
zypper install oculante
flatpak install flathub io.github.woelper.Oculante

BSD

pkg install oculante
pkgin install oculante

Windows

scoop install extras/oculante

Build Dependencies

Linux (Debian):

sudo apt-get install libxcb-shape0-dev libxcb-xfixes0-dev libgtk-3-dev libasound2-dev nasm cmake

Windows: Install Nasm from https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/win64/

Mac: brew install nasm

Updates

Oculante only gets updated when it improves something for you. You'll still see new releases about every month or two! To stay up to date you can use the update button in settings, or download the new releases executable! Updates are also managed through your package manager if you installed through one.

Uninstalling

Uninstalling Oculante is a quick process, just delete the executable and delete the data folder. You can find the data folder in the relevant location for your operating system below.

Features

Image format support

Platform support

Misc features

Misc examples:

Viewing EXIF data

Screenshot

Extracting a signature

signature example

Roadmap

Attribution

Test / benchmark / screenshot pictures:

https://unsplash.com/@mohsen_karimi

https://unsplash.com/@frstvisuals

https://unsplash.com/@eberhardgross

Privacy pledge

Oculante does in no way collect or send anonymous or non-anonynmous user data or statistics. Oculante is and will remain free and open source. There will never be ads. There are only two instances where oculante interacts with the network, and both never happen without being triggered by the user:

In addition, Oculante saves some settings locally, for example:

License

This project is MIT licensed, but some parts such as the LUTs in res/LUT are under the GPL license. As a result, we're making our entire source code public. If you would like to use Oculante without publishing your source code, please remove any GPL-licensed components and their references.

Extras

<details> <summary>Cargo Features</summary> </details> <details> <summary>Default Shortcuts</summary>

Shortcuts:

mouse wheel = zoom

left mouse,middle mouse = pan

ctrl + mouse wheel = prev/next image in folder

Right mouse pick color from image (in paint mode)

<kbd>T</kbd> = AlwaysOnTop

<kbd>F</kbd> = Fullscreen

<kbd>I</kbd> = InfoMode

<kbd>E</kbd> = EditMode

<kbd>Right</kbd> = NextImage

<kbd>Home</kbd> = FirstImage

<kbd>End</kbd> = LastImage

<kbd>Left</kbd> = PreviousImage

<kbd>R</kbd> = RedChannel

<kbd>G</kbd> = GreenChannel

<kbd>B</kbd> = BlueChannel

<kbd>A</kbd> = AlphaChannel

<kbd>U</kbd> = RGBChannel

<kbd>C</kbd> = RGBAChannel

<kbd>V</kbd> = ResetView

<kbd>Minus</kbd> = ZoomOut

<kbd>Equals</kbd> = ZoomIn

<kbd>Key1</kbd> = ZoomActualSize

<kbd>Key2</kbd> = ZoomDouble

<kbd>Key3</kbd> = ZoomThree

<kbd>Key4</kbd> = ZoomFour

<kbd>Key5</kbd> = ZoomFive

<kbd>LShift</kbd> + <kbd>C</kbd> = CompareNext

<kbd>LShift</kbd> + <kbd>Left</kbd> = PanLeft

<kbd>LShift</kbd> + <kbd>Right</kbd> = PanRight

<kbd>LShift</kbd> + <kbd>Up</kbd> = PanUp

<kbd>LShift</kbd> + <kbd>Down</kbd> = PanDown

<kbd>Delete</kbd> = DeleteFile

<kbd>LShift</kbd> + <kbd>Delete</kbd> = ClearImage

<kbd>RBracket</kbd> = LosslessRotateRight

<kbd>LBracket</kbd> = LosslessRotateLeft

<kbd>LControl</kbd> + <kbd>C</kbd> = Copy

<kbd>LControl</kbd> + <kbd>V</kbd> = Paste

<kbd>LControl</kbd> + <kbd>O</kbd> = Browse

<kbd>Q</kbd> = Quit

<kbd>Z</kbd> = ZenMode

</details>