# tview
>  A (relatively) fast, lightweight, and useful image viewer.

![Main Image](https://git.dws.rip/dubey/tview/raw/branch/main/screenshots/main.png)

# Features
- Supports most common image formats
- EXIF Viewing
- Histogram Calculation
- Toggle image filtering
- Pixel level details
- Color tooltip
# Gallery
## Tooltip
Toggle the tooltip by pressing `t`
![Tooltip](https://git.dws.rip/dubey/tview/raw/branch/main/screenshots/tooltip.png)

## Detail Views
Toggle detail modes by pressing `d`

| Normal Arrow          | Hex Color           | RGB 255 Color           | RGB Float Color           |
| --------------------- | ------------------- | ----------------------- | ------------------------- |
| ![Normal Arrow](https://git.dws.rip/dubey/tview/raw/branch/main/screenshots/detail_arrow.png) | ![Hex](https://git.dws.rip/dubey/tview/raw/branch/main/screenshots/detail_hex.png) | ![RGB 255](https://git.dws.rip/dubey/tview/raw/branch/main/screenshots/detail_rgb_int.png) | ![RGB Float](https://git.dws.rip/dubey/tview/raw/branch/main/screenshots/detail_rgb_float.png) |
## Image Filtering
Toggle Filtering by pressing 

| Filtering Off          | Filtering On          |
| ---------------------- | --------------------- |
| ![Filtering Off](https://git.dws.rip/dubey/tview/raw/branch/main/screenshots/filtering_off.png) | ![Filtering On](https://git.dws.rip/dubey/tview/raw/branch/main/screenshots/filtering_on.png) |
# Usage
`tview PATH/TO/IMAGE`

Press `h` to show the help dialog within the program.
## Mouse
Scroll to zoom.
Click and drag to pan.

## Keyboard
- `h` - Show help
- `c`- Toggle Histogram
- `e`- Toggle EXIF data
- `d`- Cycle [[#Detail Views]] (default off)
- `a` - Toggle image filtering (default off)
- `g` - Toggle grid (only visible at pixel level)
- `r`- Rotate image 90 degrees clockwise
- `q` - Quit

# Installing
## Requirements to Run
- SDL2
- OpenGL
- Libexiv2

## Requirements to build
In addition to the run requirements
- CMake
- C++ Compiler (g++/clang++)
### On Ubuntu
```
apt install --no-install-recommends build-essential cmake libsdl2-dev libexiv2-dev mesa-utils
```
### On Debian
```
apt install --no-install-recommends build-essential cmake libsdl2-dev libexiv2-dev mesa-utils
```
### On Arch
```
pacman -Sy sdl2 mesa-utils exiv2 cmake base-devel
```

## Building
Clone the repository
```
git clone https://git.dws.rip/dubey/tview.git
```

Change directory into the repository
```
cd tview
```

Generate build files and trigger build
```
cmake .
cmake --build .
```

You will now have a file called `tview` in the repository root, you can copy this into your path:
```
sudo mv ./tview /usr/local/bin/tview
```

`tview` is now installed on your system
